Gyro-Controlled Labyrinth Game Outputs To VGA

This gesture-controlled labyrinth game using two Raspberry Pi Pico units does a great job of demonstrating how it can sometimes take a lot of work to make something look simple.

To play, one tilts an MPU6050 inertial measurement unit (IMU) attached to one Pico to guide a square through a 2D maze, with the player working through multiple levels of difficulty. A second Pico takes care of displaying the game state on a VGA monitor, and together they work wirelessly to deliver a coherent experience with the right “feel”. This includes low latency, simulating friction appropriately, and more.

Taking a stream of raw sensor readings and turning them into control instructions over UDP in a way that feels intuitive while at the same time generating a VGA display signal has a lot of moving parts, software-wise. The project write-up has a considerable amount of detail on the architecture of the system, and the source code is available on GitHub for those who want a closer look.

We’ve seen gesture controls interfaced to physical marble mazes before, but two Raspberry Pi Picos doing it wirelessly with a VGA monitor for feedback is pretty neat. Watch it in action in the video, embedded just under the page break.

Continue reading “Gyro-Controlled Labyrinth Game Outputs To VGA”

Air Hockey Table Embraces DOOM, Retro Gaming

[Chris Downing] recently finished up a major project that spanned some two years and used nearly every skill he possessed. The result? A smart air hockey table with retro-gaming roots. Does it play DOOM? It sure (kind of) does!

Two of the most striking features are the score board (with LCD screen and sound) and the play surface which is densely-populated with RGB LED lighting and capable of some pretty neat tricks. Together, they combine to deliver a few different modes of play, including a DOOM mode.

The first play mode is straight air hockey with automated score tracking and the usual horns and buzzers celebrating goals. The LED array within the table lights up to create the appearance and patterns of a typical hockey rink.

DOOM hockey mode casts one player as Demons and the other as the Doom Slayer, and the LED array comes to life to create a play surface of flickering flames. Screams indicate goals (either Demon screams or Slayer screams, depending on who scores!)

In retrogaming emulation mode, the tabletop mirrors the screen.

Since the whole thing is driven by a Raspberry Pi, the table is given a bit of gaming flexibility with Emulation Mode. This mode allows playing emulated retro games on the scoreboard screen, and as a super neat feature, the screen display is mirrored on the tabletop’s LED array. [Chris] asserts that the effect is imperfect, but to us it looks at least as legible as DOOM on 7-segment displays.

This project is a great example of how complex things can get when one combines so many different types of materials and fabrication methods into a single whole. The blog post has a lot of great photos and details, but check out the video (embedded below) for a demonstration of everything in action. Continue reading “Air Hockey Table Embraces DOOM, Retro Gaming”

NHL 94 Sega Genesis ROM hack playing on LCD monitor.

NHL ’24 ROM Hack Reimagines Classic Game, Zamboni And All

Thirty years is a long time to keep a piece of software alive, but there aren’t many pieces of software like NHL ’94 for the Sega Genesis. Despite new annual iterations of publisher Electronic Arts’ NHL hockey video game some players never connected with it like quite like they did in 1994. For years now it’s been a tradition for members of the NHL ’94 forums to incorporate the hockey league’s current players into the Sega Genesis original, however, the work [Adam] contributed this season goes beyond a mere roster update. This NHL ’24 ROM hack is more like a complete overhaul. Everything that was old is new again. Continue reading NHL ’24 ROM Hack Reimagines Classic Game, Zamboni And All”

Raspberry Pi Does Its Best Retro PC Impression

The Raspberry Pi is a popular choice if you’re looking to put together a simple emulation box — it’s relatively cheap, small enough to tuck into pretty much any entertainment center, and benefits from a large and vibrant development community. You can even get enclosures that will dress the Linux single-board computer up like a miniature version of your favorite retro console. But what about the old school PC gamers who want to relive their glory days in a palm-sized package?

Well, if you’ve got a 3D printer, [fantasticmrdavid] might have just the solution for you. This second iteration of his printable Raspberry Pi enclosure is designed to look like the 286 desktop that he had in his youth, complete with a functional “floppy drive” in the front that takes an SD card. With a 3.5 inch MPI3508 LCD up in the “monitor” and a copy of DOSBox on the SD card, you’re well on your way to booting up a copy of Windows 3.11 or building some contraptions in The Incredible Machine.

While the external aesthetics of the design are impeccable, we appreciate that [fantasticmrdavid] didn’t skimp on the internals. There’s mount points for dual 25 mm fans to keep the more powerful variants of the Raspberry Pi cool, and a speaker expansion board that plugs into the GPIO header to provide era-appropriate bloops and bleeps. The tiny details here really shine, like the fact that the face plates for the dual drives are designed as separate pieces so they can be printed in a different color than the main case.

If you’re not interested in the classics, don’t worry. We’ve seen the Raspberry Pi stand in foraa modern gaming PC, complete with the RGB LEDs you’d expect in a contemporary rig.

Game Graphics: Rasterization

Last time, I talked about racing the beam, a type of graphics used when memory was scarce. Now it’s time to step into the future with more memory and talk about what modern 2D games still do to this day: rasterization.

Just in time Memory

Continuing the trend set by racing the beam, rasterized graphics are also on a grid, just a much tinier one. Though not unique to rasterized, the “frame buffer” is the logical conclusion of bitmap mode fidelity: enough memory is allocated so that every pixel can have its own color. What’s different about a frame buffer is that everything is drawn before it is shown and, crucially, this doesn’t have to happen in the same order as the pixels are displayed. Rasterization draws entire shapes — triangles, lines and rectangles — into the frame buffer and the screen is typically updated all at once. Continue reading “Game Graphics: Rasterization”

Photoshop image of the NES game Metroid on a Super Nintendo cartridge.

NES Classic Metroid Ported To Equally Classic Super Nintendo

There was a time early in the development of the Super Nintendo (SNES) where the new console was to feature backwards compatibility with NES games. The solution would have required a cumbersome cartridge adapter and a hard switch on every console to flip the CPU into 8-bit mode. Unfortunately, it was not meant to be — outside of the first public demo of the console, little evidence exists to suggest the gamers would have been able to supercharge their old NES carts on their Super Nintendo.

But thanks to the impressive port of Metroid to the SNES by [infidelity], we can imagine what such a capability might have been like. There’s more on offer here than reduced sprite flicker. There are additional frames of animation compared to the original, so now Samus’ arm cannon stays consistent rather than magically switching arms when turning around. A complete save game system from the Famicom Disk System version has also been implemented as well, with the traditional three slots. Although purists can still utilize the password system if they so choose.

Ultimately the most impressive inclusion of [infidelity]’s work is the MSU-1 enhancement chip implementation. Fun video intro sequences lead into the main menu where players can select the accompanying soundtrack. There’s the original 8-bit music remapped onto the SNES sound chip, the expanded 8-bit version from the Famicom Disk System, the reimagined sound of Metroid Zero Mission, or a full orchestral score. It really is the sort of situation where there are no wrong answers.

While you’re here, check out this post about bringing Poke’mon ROM hacks into physical cartridge form.

Continue reading “NES Classic Metroid Ported To Equally Classic Super Nintendo”

Reverse-Engineering The Stadia Controller Bluetooth Switching Procedure

Ever since the demise of Google’s Stadia game streaming service, the associated Stadia controllers have found themselves in limbo, with the only way to switch them from the proprietary WiFi mode to Bluetooth by connecting to a special Google website. Yet as [Gary] found out, all this website does is flash a firmware file via WebUSB and WebHID over the original Stadia firmware with a generic Bluetooth controller firmware image. This is the reason why it’s a one-way process, but this wasn’t to [Gary]’s liking, so he figured out how to flash the controller himself, with the option to flash the original Stadia firmware or something else on it later, too.

[Gary]’s stadiatool follows the same procedure as the Google Stadia website, just implemented in Python and outside the control of Google. Although Google has recently announced that it will keep the Bluetooth switching website online one year longer – until December 31st 2024 – at some point this service will go away and only projects like [Gary]’s together with squirreled away firmware images can still save any stray Stadia controllers that will inevitably discovered in the back of a warehouse in the future.

Although we reported on the demise of Stadia when it happened in January of 2023, as Ars Technica notes it was common in 2022 to buy into Stadia and get a controller manufactured in the 2019 launch year, suggesting massive overproduction.