Vista de Lectura

Hay nuevos artículos disponibles. Pincha para refrescar la página.

Creating Video Games With AI: a Mario Example

Artificial intelligence (AI) seems to be doing everything these days. Making images, making videos, and replacing most of us real human writers if you believe the hype. Maybe it’s all over! And yet, we persist, to write about yet another job taken over by AI: creating video games.

The research paper is entitled “Video Game Generation: A Practical Study using Mario.” The basic idea is whether a generative AI model can create an interactive video game by first training it on an existing game.

MarioVGG, as it is called, is a “text-to-video model.” It hasn’t built the Mario game that you’re familiar with, though. It takes player commands as text inputs—such as “run, or “jump”—and then outputs video frames showing the result in the ‘game.’ The model was trained on a dataset of frame-by-frame Super Mario Brothers game play, combined with data on user inputs at the time. The model shows an ability to generate believable video output for given player inputs, including basic game physics, item interactions, and collisions. It’s able to do this in a chained way, so that it can reasonably simulate a player making multiple actions and moving through a level of the game.

It’s not like playing a real Mario game yet, by any means. Regardless, the AI model has shown an ability to replicate the world of the game in a way that behaves relatively consistently with its established rules. If you’re in the field of video game development, though, you probably don’t have a lot to worry about just yet—you probably moved past making basic Mario clones years ago, so you’ve got quite an edge for now!

Bringing the Horror of Seaman into the Real World

A little under 25 years ago, a particularly bizarre game was released for Sega’s Dreamcast. In actually, calling it a “game” might be something of a stretch. It was more of a pet simulator, where you need to feed and care for a virtual animal as it grows. Except rather than something like a dog or a rabbit, your pet is a talking fish with a human face that doesn’t seem to like you very much. Oh, and Leonard Nimoy is there too for some reason.

Most people in the world don’t even know this game ever existed, and frankly, their lives are all the better for it. But for those who lovingly cared for (or intentionally killed) one of these rude creatures back in the early 2000s, it’s an experience that sticks with you. Which we assume is why [Robert Prest] decided to build this incredibly faithful physical recreation of Seaman

The creature itself is a wireless animatronic that’s been fitted with several servos to operate not just its creepy human mouth, but its flippers, legs, and tail. [Robert] pulled the original speech clips from the game, and recreated most of the voice recognition prompts so he can converse with his pet monster. A Dreamcast controller is used to interact with the robo-seaman, but even that’s a bit of a hack. It’s actually just the shell of the controller which has been filled with new hardware, namely an ESP8266 and Nokia LCD that take the place of the original Visual Memory Unit (VMU).

[Robert] went the extra mile and also recreated the tank the creature lives in. The front glass is actually a transparent display that can show game information or “water”, and there’s sonar sensors that can detect when somebody has reached into it. The original game’s interactive elements involved adjusting the temperature of the tank and feeding your growing abomination, which are represented in this physical incarnation. There’s even little 3D printed versions of the bugs (which incidentally also have human faces) raise as food for the creature.

While this might not be our ideal office decoration, but we’ve got to hand it to [Robert], he did a hell of job bringing Seaman to life. Now let’s just hope it doesn’t escape its tank and get into the wild.

Exploring TapTo NFC Integration On The MiSTer

[Ken] from the YouTube channel What’s Ken Making is back with another MiSTer video detailing the TapTo project and its integration into MiSTer. MiSTer, as some may recall, is a set of FPGA images and a supporting ecosystem for the Terasic DE10-Nano FPGA board, which hosts the very capable Altera Cyclone V FPGA.

The TeensyROM C64 cart supports TapTo

The concept behind TapTo is to use NFC cards, stickers, and other such objects to launch games and particular key sequences. This allows an NFC card to be programmed with the required FPGA core and game image. The TapTo service runs on the MiSTer, waiting for NFC events and launching the appropriate actions when it reads a card. [Ken] demonstrates many such usage scenarios, from launching games quickly and easily with a physical ‘game card’ to adding arcade credits and even activating cheat codes.

As [Ken] points out, this opens some exciting possibilities concerning physical interactivity and would be a real bonus for people less able-bodied to access these gaming systems. It was fun to see how the Nintendo Amiibo figures and some neat integration projects like the dummy floppy disk drive could be used.

TapTo is a software project primarily for the MiSTer system, but ports are underway for Windows, the MiSTex, and there’s a working Commodore 64 game loader using the TeensyROM, which supports TapTo. For more information, check out the TapTo project GitHub page.

We’ve covered the MiSTer a few times before, but boy, do we have a lot of NFC hacks. Here’s an NFC ring and a DIY NFC tag, just for starters.

Thanks to [Stephen Walters] for the tip!

2024 Tiny Games Contest: Spectacular Sub-Surface Simon

A Simon game built into an ATtiny84 in a DIP-14 package.

When you work with tiny things on the regular, they start to seem normal-sized to your hands and eyes. Then, if you work with even smaller packages, stuff like 0603 might as well be through-hole components.

Soldering fine wires to the leadframe of an ATtiny84 in a DIP-14 package.[alnwlsn] is no stranger to the small, having worked almost exclusively with surface mount components for a few years now. Even so, they’ve built up an admirable stock of DIP chips, including the ATtiny84 DIP-14 that their incredible Simon game is built into.

How in the world did [alnwlsn] accomplish this? As you’ll see in the video after the break, the answer lies in milling, but with the motors disconnected and manually turning the knobs.

Soldering didn’t require anything special, just the usual suspects like a fine-tipped iron, an X-acto knife, some tweezers, and a few other things like a hot air gun for soldering fine wires to the leadframe. Oh, and of course, really steady hands, and lots of patience.

The 2024 Tiny Games Contest officially closed on Tuesday, September 10th. We’ll have the results out as soon as possible. Best of luck to all who entered!

 

2024 Tiny Games Challenge

2024 Tiny Games Contest: Micro One-Armed Bandit Hits the Cuteness Jackpot

A tiny colorful slot machine that uses LEDs instead of fruits or numbers.

They don’t call slot machines one-armed bandits for nothing. And although it’s getting harder and harder to find slot machines with actual pull-able handles instead of just big buttons, you can easily simulate the handle at home with the right kind of limit switch, as [Andrew Smith] did with this micro slot machine.

This baby slot machine is built around the Adafruit 5×5 NeoPixel grid, which is an add-on for the QT Py. As you’ll see in the brief demo video after the break, the switch actuates on release, which starts the lights a-spinning. [Andrew] says the constraints of the SAMD21-powered QT Py made this a particularly fun challenge.

Whereas most physical slot machines have different reel sequences, this build uses just one. [Andrew] declared hex values to ID each color, and then created the reel manually with different color frequencies. When the lever is released, the columns are animated and slowly to come to rest at a random offset. You can check out the code on GitHub.

2024 Tiny Games Challenge

DOOM on a Volumetric Display

There’s something magical about volumetric displays. They really need to be perceived in person, and no amount of static or video photography will ever do them justice. [AncientJames] has built a few, and we’re reporting on his progress, mostly because he got it to run a playable port of DOOM.

Base view of an earlier version showing the motor drive and PSU

As we’ve seen before, DOOM is very much a 3D game viewed on a 2D display using all manner of clever tricks and optimizations. The background visual gives a 3D effect, but the game’s sprites are definitely very solidly in 2D land. As we’ll see, that wasn’t good enough for [James].

The basic concept relies on a pair of 128 x 64 LED display matrix modules sitting atop a rotating platform. The 3D printed platform holds the displays vertically, with the LEDs lined up with the diameter, meaning the electronics hang off the back, creating some imbalance.

Lead, in the form of the type used for traditional window leading, was used as a counterbalance. A Raspberry Pi 4 with a modified version of this LED driver HAT is rotating with the displays. The Pi and both displays are fed power from individual Mini560 buck modules, taking their input from a 12 V 100 W Mean-Well power supply via a car alternator slip ring setup. (Part numbers ABH6004S and ASL9009  for those interested.) Finally, to synchronise the setup, a simple IR photo interrupter signals the Pi via an interrupt.

The second version running Doom

The base contains a DC motor driving the platform with a 224:20 reduction ratio using a GT2 timing belt to help reduce noise. [James] reports that running at 700 RPM was the limit for the current version, giving an acceptable update frame rate. Too high, and the vibration and chassis flex was excessive. The base does little else other than house that power supply and support a 400 mm acrylic garden light dome. We wouldn’t want to run this without such protection, which might not even be enough.

There are quite a few details to consider in such a build. One is the need to reduce the angle of perception of the LED display using a 3D printed slat-type collimator in front of each unit. You only want to perceive the LEDs head-on, or the POV effect is ruined. However, most of the details are in the software.

To that end, [James] took the entire game logic of the ‘Doom Generic’ port, removing the code that renders the 3D parts of the scene. The 2D menus and in-game panels are rendered by projecting the image onto a cylinder. That was easy. [James] took a minimalist path for the room scenes, as fully solid walls looked too busy. The viewport automatically zooms into any ongoing battles, so monsters zoom into focus if nearby, but objects behind closed doors and too far around corners are discarded. No spoiler alerts! The models were lifted from Chello’s Voxel Doom mod, giving a fitting 3D upgrade to gameplay. This is an ongoing project, so we’ll keep track and report back!

We’ve reported on a few volumetric displays over the years, like this tiny one based on an OLED display. Even a volumetric CCTV system. But they can’t run DOOM. Speaking of which, here’s what it looks like ray-traced.

Thanks to [Keith] for the tip!

2024 Tiny Games Contest: An Epic Minimalist Entertainment System, Indeed

An incredibly small gaming console with cartridges, each bearing an ATtiny10.

One way to keep things tiny is to make a system with cartridges where the brain lives on each cartridge instead of the platform itself. [Michael]’s Epic Minimalist Entertainment System (EMES) is one of those, and boy, is it tiny. EMES makes use of the ATtiny10, and they don’t get much AT-tinier than that.

A Plessey GPD340 display showing the word 'Hi'.This nearly microscopic console uses an equally Lilliputian display — a Plessey GPD340 vintage LED display, in fact. (Check out [Michael]’s reverse engineering project if you want to play around with these.) There are four ultra-small buttons for control and a buzzer for sound.

Now, the ATtiny10 is an 8Mhz microcontroller with 1KB of flash and 32 bytes of RAM. It has an 8-bit ADC and a somewhat surprisingly high four GPIO pins. But of course, that’s not enough. Not with the display, the four buttons, and the buzzer, so [Michael] had to come up with a way to multiplex everything to four GPIOs.

PB0 is shared between the buttons and the display’s serial data input. PB1 cleverly outputs the same PWM for both the brightness control and the buzzer. When the buzzer is needed, [Michael]’s code switches to a lower frequency and adjusts the duty cycle of the display to keep it readable. PB2 and 3 are serial clock inputs for the two display halves. Be sure to check it out the heated PONG action in the video after the break!

There’s still a little bit of time to enter the 2024 Tiny Games Contest! You have until Tuesday, September 10th, so head on over to Hackaday.IO and get started!

2024 Tiny Games Challenge

Jump Cacti With an LDR and a Pico

A light-dependent resistor detects cacti in the Google Chrome Offline Dinosaur game.

By now, probably everyone is familiar with the “You’re Offline” dinosaur that stars in Google’s T. Rex game. You know — jump cacti, avoid pterodactyls. Repeat until you lose, or, we suppose, make the leaderboard. Well, what if you theoretically couldn’t lose? That’s kind of the idea behind [Bas BotBerg]’s cactus detection-and-avoidance scheme (translated from Dutch).

Like many of us, [Bas] firmly believes that repetitive tasks should be automated, and that includes the controls of the famous T. Rex. Since the cacti are always dark gray and appear along the same plane, it’s easy to register the difference between cacti and screen electronically. In order to accomplish this, [Bas] is using a light-dependent resistor and a pull-up resistor to create a resistance bridge, which is then connected to an analog input pin on a Raspberry Pi Pico.

But [Bas] didn’t do this just to cheat at Offline Dinosaur. Really! It’s for educational purposes, to get people comfortable with embedded processing, sensors, and interfaces between different devices. Check it out in brief action after the break.

Once they get familiar with these concepts, maybe introduce the ESP32 version of Offline Dinosaur.

2024 Tiny Games Contest: Batch Craze Is Portable Charades, Kind Of

A small handheld word game called Batch Craze, where one player tries to get another to guess the word on the screen.

So there’s this commercial electronic game out there called Catch Phrase, which, as the game’s own catch phrase explains, is the game that’s played one word at a time. See, a word comes up on the screen, and you have to get the other person or team to guess what it is using gestures and such before the timer goes off. There are a bunch of rules, like you can’t say a word that rhymes, give the first letter, or the number of syllables.

Well, [ahixson1230] and company got their hands on the After Dark NSFW version but found it lacking in the edginess department. So naturally, [ahixson1230] was inspired to build a better one, with a touch screen in lieu of buttons, and a way for players to suggest words to be added to the list. In this version, a player presses anywhere on the screen to start the game, and a random word or phrase comes up. They act it out, get the other person to guess, and then pass the unit over to continue the fun.

Batch Craze is based on the Cheap Yellow Display, aka the ESP32-2432S028R, and [ahixson1230] highly recommends [witnessmenow]’s excellent resource on the subject. As of this writing, [ahixson1230] is still trying to get the speaker to work, and welcomes any help. Can you assist?

There’s still time to enter the 2024 Tiny Games Contest! You have until Tuesday, September 10th, so head on over to Hackaday.IO and get started!

2024 Tiny Games Challenge

2024 Tiny Games Contest: ATtinyBoy Does It with Tiny Cartridges

Left: the ATtinyBoy and cartridges inside a custom case. Right: ATTinyBoy under the hood.

What is it about tangible media? There’s just something neat about having an individual thing that represents each game, each album, each whatever. Sure, you can have a little console with a thousand games loaded on it, but what’s the fun in that?

A Tetris cartridge made of a broken-out ATtiny85 and header pins.Enter the ATtinyBoy. [Bram]’s entry into the Tiny Games Contest is based on the ATtiny85, and the whole thing is smaller than a credit card. In fact, each little game cartridge contains its own ATtiny85, with the pins broken out into headers.

That is, although the schematic is based on [Billy Cheung]’s gametiny, which uses an ATtiny85 as the brain, ATtinyBoy’s brain is divided among each of the games.

This certainly checks a lot of boxes when it comes to contest rules and requirements, and it’s just awesome besides. We particularly like the custom box that holds ATtinyBoy and all his distributed knowledge. If you want to make one of your own, the schematic, code, and STLs are all available over on IO.

2024 Tiny Games Challenge

2024 Tiny Games Contest: Realistic Steering Wheel Joystick In Miniature

For racing games, flight simulators, and a few other simulation-style games, a simple controller just won’t do. You want something that looks and feels closer to the real thing. The major downsides to these more elaborate input methods is that they take up a large amount of space, requiring extra time for setup, and can be quite expensive as well. To solve both of these problems [Rahel zahir Ali] created a miniature steering wheel controller for some of his favorite games.

While there are some commercial offerings of small steering wheels integrated into an otherwise standard video game controller and a few 3D printed homebrew options, nothing really felt like a true substitute. The main design goal with this controller was to maintain the 900-degree rotation of a standard car steering wheel in a smaller size. It uses a 600P/R rotary encoder attached to a knob inside of a printed case, with two spring-loaded levers to act as a throttle and brake, as well as a standard joystick to adjust camera angle and four additional buttons. Everything is wired together with an Arduino Leonardo that sends the inputs along to the computer.

Now he’s ready to play some of his favorite games and includes some gameplay footage using this controller in the video linked below. If you’re racing vehicles other than cars and trucks, though, you might want a different type of controller for your games instead.

2024 Tiny Games Challenge

2024 Tiny Games Contest: Mini Cyclone Tests Reaction Time

A mini Cyclone game consisting of an Arduino, an LED ring, and button, plus a scoreboard on a 16x2 LCD.

Round and round goes the red LED, and if you can push the button when it overlaps the green LED, then you win. Cyclone is almost too simple of a game, and that’s probably part of why it’s so addictive.

The back side of the mini Cyclone game, showing the guts.Want to make one for your desk? All it takes is an Arduino Nano R3 or comparable microcontroller, an RGB LED ring with 12 LEDs, a 16×2 LCD, a buzzer, and a momentary push button switch.

Interestingly, there aren’t successive levels with increasing speed, but each round begins with a randomized speed value. Of course, this can all be easily changed in the code, which is modified from [Joern Weise]’s original.

This is a tinier version of [mircemk]’s original project, which uses a 60-LED ring and does contain levels. As usual with [mircemk]’s builds, this project is mounted on their trademark 3 mm PVC board and covered with peel-and-stick wallpaper. Be sure to check out the demo and build video after the break.

Don’t forget! You have until Tuesday, September 10th to enter the 2024 Tiny Games Contest, so get crackin’!

2024 Tiny Games Challenge

2024 Tiny Games Contest: Blind Maze Is Fun For All

The blind maze -- a box with three buttons and three light-up panels that indicate walls.

If you think about it, even difficult mazes on paper are pretty easy. You can see all the places you can and can’t go, and if you use a pencil instead of a pen, well, that’s almost like cheating.

The innards of the blind maze.However, using a pencil is pretty much a necessity to play [penumbriel]’s Blind Maze. In this game, you can’t even see the maze, or where you are. Well, that’s not exactly true — you can “touch” the wall (or lack thereof) in front of you and to the sides, but that’s it. So you’re going to need that pencil to draw out a map as you go along.

This game runs on an Arduino Nano and a 18650 cell. There are three LEDs deep within the enclosure, which is meant to give the depth of walls. But, even the vision-impaired can play the Blind Maze, because there’s haptic feedback thanks to a small vibration motor.

If you want to play in hard mode, there’s a hidden paperclip-accessible switch that turns off the LEDs. This way, you have to rely on hitting the walls with your head. Be sure to check out the video below.

2024 Tiny Games Challenge

A Non-Musical Use Case for 8-Track

There was a time in the not-too-distant past when magnetic tape was the primary way of listening to and recording audio. Most of us are familiar with the cassette tape, a four-track system that plays first one side of the tape, then the other. There was the eight-track tape as well which did not have quite as much popularity or longevity but did have a few interesting features that [Serial Hobbyism] took advantage of to make an interactive game.

The defining feature of the eight-track system, beyond the obvious eight tracks on the tape, is that the tape runs in a continuous loop, never needing to be stopped or flipped over. Instead, four buttons select pairs of the eight tracks, moving a head immediately to make the switch on-the-fly. [Serial Hobbyism]’s game plays a trivia-style audio recording and asks the player to answer questions by pushing one of the four “program” buttons to switch tracks. If the correct track is selected, the recorded audio congratulates the player and then continues on with the game. Likewise, if an incorrect track is selected, the recording notes that and the game continues.

Another interesting feature of this game is that it can be played without modifying an eight-track player, as the selectable tracks are a core function of this technology. They can be used in a similar way as cassette tapes to store computer data and a data recorder similar to the eight-track system was used on the Voyager space probes, although these only bear a passing resemblance.

A Game of Snake on a LEGO Mechanical Computer

Really, [OzzieGerff] had us at “LEGO.” But then he took it to another place entirely and built a completely mechanical, nearly 100% LEGO version of Snake. And it’s just as cool as it sounds.

Mind you, it’s a little hard to grok how this whole contraption works, which has been in the works for a while, but we’ll try to summarize as best we can. The most important aspect of this build is that there are no electronics at all — everything is done with mechanical linkages, with some Technics pneumatic components and a couple of electric motors to provide the oomph. The three main components are the input section, which consists of a two-axis joystick, a tail buffer, which keeps track of the length of the snake’s tail as gameplay progresses, and the largest component, the 16×16 display.

The joystick translates user inputs into pneumatic signals which pass through a mechanical filtering unit that prevents the head of the snake from doubling back on itself. The filtered inputs then pass into the screen reader, a complex device that probes the status of a given pixel on the display and determines the status of the snake’s head. If it touches a snake pixel, the game’s over. Hitting a blank pixel moves the head of the snake by one and takes one pixel off the end, while a food pixel extends the snake’s length.

Keeping track of the length of the snake is the job of the buffer, which uses Technics tank tracks and levers. Setting a one is done by flipping the lever to one side as it passes under the write head; a read head further down the track senses which way the lever is flipped and translates it into a pneumatic signal. The buffer has four channels, one for each possible direction the snake’s head could be moving. The signals drive a screen writer, which moves a pyramidal follower across a series of push-rods that flip the corresponding pixel on the display to show the proper icon. Simplicity itself? No, but the video below will make things a lot clearer.

It doesn’t look like [Ozzie] is quite done with this game, as he doesn’t show any actual gameplay yet. We’d love to see and hear that — we suspect it’ll make quite a racket. We’ll be keeping an eye out for this one, but while we wait, check out this rope braiding machine or watch Lego break steel.

Thanks to [Hari Wiguna] for spotting this one for us.

Atari Announces the Atari 7800+ Nostalgia Console

Following the trend of re-releasing every single game console as some kind of modern re-imagining or merely an ARM-SBC-with-emulator slapped into a nice looking enclosure, we now got the announcement from Atari that they will soon be releasing the Atari 7800+.

It’s now up for pre-order for a cool $130 USD or a mega bundle with wired controllers for $170 and shipping by Winter 2024. Rather than it being a cute-but-non-functional facsimile like recent miniature Nintendo and Commodore-themed releases, this particular console is 80% of the size of the original 7800 console, and accepts 2600 and 7800 cartridges, including a range of newly released cartridges.

On the outside you find the cartridge slot, an HDMI video/audio output, a USB-C port (for power) and DE-9 (incorrectly listed as DB-9) controller ports, with wireless controllers also being an option. Inside you find a (2014-vintage) Rockchip RK3128 SoC with a quad core Cortex-A7 that runs presumably some flavor of Linux with the Stella 2600 emulator and ProSystem 7800 emulator. This very likely means that compatibility with 2600 and 7800 titles is the same as for these emulators.

Bundled with the console is a new 7800 cartridge for the game Bentley Bear’s Crystal Quest, and a number of other new games are also up for pre-order at the Atari site. These games are claimed to be compatible with original Atari consoles, which might make it the biggest game release year for the 7800 since its launch, as it only had 59 official games released for it.

Given the backwards compatibility of this new system, you have to wonder how folks who purchased the 2600+ last year are feeling right about now. Then again, the iconic faux-wood trim of the earlier console might be worth the price of admission alone.

2024 Tiny Games Contest: Save the Stranded Puppies of Moon Base P!

A Lunar Lander-meets-Flappy-Bird game where you must rescue puppies from a Moon base, on an OLED display.

Usually, if something is tiny, it’s probably pretty cute to boot. [Luke J. Barker]’s lunar navigation game is no exception to this unwritten rule. And as far as contest rules go, this one seems to fit rather nicely, as it is tiny on more than one level.

Moon Base P (for Puppies) is built upon a XIAO ESP32-C3, an SSD1306 OLED display, and a single button to keep the BOM tidy. In this riveting side-scroller which sort of marries Lunar Lander and Flappy Bird, the top bar is always yellow and displays fuel and such, and the bottom is a rough, blue lunar surface over which you must maneuver your lunar lander. Keep pressing the button to stay up and avoid mountains, or let off the gas to cool the engine.

Fly that thing over the terrain, avoiding stray meteors and picking up free fuel, and then land gently at Moon Base P to save the stranded puppies. But you must keep flying — touch down anywhere but where you’re supposed to, and it’s game over! Once you’ve picked up the puppies, you must fly them safely onward to the rescue pod in order to win. Don’t miss the walk-through and demo after the break.

2024 Tiny Games Challenge

2024 Tiny Games Contest: Coming At Ya with Zero-Dimensional PONG

Zero-dimensional PONG game built on a perfboard.

A decade is a long time to carry around a project idea in your head. Fortunately, the Tiny Games Contest happens to coincide with [Senile Data Systems]’s getting back into ATMega programming, so they can finally make their zero-dimensional PONG dreams come true (and have the chance at great prizes, too, of course).

If you don’t already get what’s going on here, zero-dimensional PONG takes 1D PONG and turns it on the short side. Imagine the light coming toward you, then moving away toward your opponent, and you have the basic idea. So, how is this done? Pulse-width modulation controls the brightness of the LED, and, well, you have to be pretty fast, although there is a small margin for the inevitable error.

In the video after the break, you can watch [SDS] play themselves using a red/green LED. Player one must press the button when red is fully lit and green is off, and player two goes when green is fully lit and red is off. The cool thing is that this game uses sockets, so it can use any LED. There are nine difficulty levels to control the PWM speed,  so one can really test one’s reaction time.

If you want to build one of these, you’ll need an ATtiny2313 or something similar, a couple of buttons, a display, and the optional but fun buzzer. The well-commented code is available through [Senile Data Systems]’s site.

2024 Tiny Games Challenge

❌