While we’ve largely settled on analog sticks and digital buttons for controlling video games, there’s all sorts of projects to create truly esoteric controllers that allow playing games in unique ways. This one from [sukolupo] lets you use data from standard bike trainers to get your virtual character moving.
Called Deck de France, it maps the data coming from one of the supported bike trainers to a virtual controller which can then be “plugged in” to a gaming console of choice, in this case a Steam Deck mounted to the trainer’s handlebars. Although a bike trainer doesn’t have the same number of inputs as a modern gaming controller, it does have enough to play games like Rocket League. As you might expect, it’s also perfect for biking titles such as the Tour de France series.
[Gil Yankovitch] noted that playing games on a touchscreen phone gave up a certain something in terms of the tactile feedback one gets from real buttons. To that end, he was inspired to build a controller specifically for phones that solved this very problem.
The result was JoyFon. It’s a small gamepad built around the Raspberry Pi Pico, and can be put together around an RP2040 or an RP2350 as desired. It has four face buttons, a directional pad, and start and select buttons, as well as additional shoulder buttons up top in later revisions.
The JoyFon enumerates as a standard USB HID gamepad, so you could use it to play games on just about any PC, laptop, or tablet. However, the JoyFon is specifically designed for use with smartphones in the vertical orientation. This guided the design of the 3D printed enclosure, which positions the USB-C port to plug into the base of a phone, such that the buttons sit neatly beneath it. It does cover some of the phone screen, but that’s not always a problem when playing emulated games with a 4:3 or similar aspect ratio. The result is a button and screen layout not dissimilar to that of the original Game Boy handhelds.
The NES Advantage was a cool bit of hardware back in 1987, bringing an arcade stick to the home console gaming experience. Naturally they don’t get much use these days, unless of course they’ve been modded to work with modern systems, as [Aaron] has done.
[Aaron]’s goals were straightforward. The stick should work with modern systems over Bluetooth, but the mod should not involve cutting the case or making any new holes. All controls, including Turbo and Slow Motion, still had to work, too, and there would be no adding extra buttons for configuration or control.
To achieve this, [Aaron] whipped up a custom PCB which replaces the original cable attached to the NES Advantage. Power is via a small LiPo cell, charged via a TP4056 and paired with a TPS63900 buck-boost converter. An ESP32-WROOM-32E interfaces all the original controls, reading the stick’s CD4021 shift registers to do so. It then either emulates a Switch Pro Controller over Bluetooth Classic, for use with a modern Nintendo Switch, or it acts as a standard Bluetooth Low Energy gamepad for use with PCs, SteamOS, phones, and other compatible hardware. All that and the stick can still work with an original NES if so desired, when placed in the Switch Pro Controller mode. You merely need to plug in an 8BitDo NES Retro Receiver and you’re up and running.
[Kevin Kelm] created something wondrous: Halcyon Dawn, an utterly unique and desperately challenging game that is equal parts intricate starship simulator, imposing hardware console, video game, and love letter to John Scalzi’s Old Man’s War book series. Grab a beverage for this one, because it’s chock-full of detail.
First, how is it played? The simulator represents the ship Halcyon Dawn, a stolen and renamed vessel, and the player representing its sole crew member. The ship’s new mission is to establish a home for its payload of genetically-engineered unfortunates, escaping a cruel sort of indentured military servitude. The former masters of course have a very different view of the whole situation, throwing around terms like “treason” and “theft” and in general preferring the version of the desperate protagonist they had the most control over.
Aluminum extrusion, laser-cut panels, and custom PCBs for interfacing physical controls and displays make up the bulk of the build.
As the player is meant to be operating the ship on their own, the cockpit is imposing. All 152 controls and six screens are meaningful and will be needed to pilot the Halcyon Dawn, survive hostile actions, repel boarding attempts, mine and refine vast amounts of raw materials, and in general keep the ship running and intact until an autofactory can be deployed in orbit of a suitable planet to create a new home.
All easier said than done. It’s one thing to pilot and tweak a temperamental ship, but doing so while also performing damage control and thwarting a boarding attempt by manipulating life support is quite another. Want more details? Gameplay is documented here and the physical controls have their own library.
The product of a year of focused work, [Kevin] – now retired – pointed his decades of hardware and software experience at Halcyon Dawn after realizing one night that everything he needed to create it already existed. How this whole project came to be is also a tribute to the amazing tools and equipment that hobbyists and hackers of all kinds now have to turn an idea into something that actually exists in the world. Even so, it was a load of work he is not keen to repeat. Don’t miss the technical deep-dive and photo gallery of the build.
While the game itself — being a fan-made derivative of Scalzi’s work (and useless without the custom-made hardware console) — isn’t being released, [Kevin] has shared the underlying hardware framework it is built on. Enigma is an ESP32-based set of input and output PCBs made for integrating switches, knobs, displays, relays, and more with a Python library to make them easy to work with.
Starship simulators are a wonderful subset of projects, and every one is different from the last. Something about physical builds really works for them, and while we’ve seen a camper trailer converted to starship simulator [Kevin]’s project focuses the whole experience beautifully into the single-person console you see here. Watch a video of Halcyon Dawn running in an arcade-like “attract” mode embedded just below.
The Playdate is a small handheld console with a dedicated fanbase. Among them is [Cristina Ramos], who recently decided to try and push the limits of the hardware by implementing a 3D renderer for the platform.
[Cristina] began by implementing a raycaster. This is a very simple way to do 3D on limited hardware, and this technique was used by some early games like Wolfenstein 3D. However, for [Cristina], it was more a test to get an idea of the performance limitations of the Playdate. After getting her feet wet with that, she stepped up to implementing a renderer that relied on binary space partitioning, which could load map files in the same format used by the classic Quake engine. There was naturally plenty of work to do to handle things like texture mapping and lighting, too, particularly given the vagaries of working with the Playdate’s 1-bit monochrome screen. Using a simplistic, cel-shaded like approach for textures gave things a good look while preserving visual readability on the low-resolution screen.
The 3D engine and associated game remain a work in progress for [Cristina] — we look forward to seeing where the project goes next. We’ve seen similar projects on resource-limited platforms before, too.
Even before 3D graphics and advanced shaders became common in the gaming world, there were concerns that virtual violence looked too realistic. Fighting games in the 1990s were routinely toned-down by having gratuitous displays of blood removed, which was often seen as disappointing by dedicated fans. [Raphaël Boichot] has been working to right this wrong in one obscure case, by rectifying the lack of blood in Sengoku 2.
Sengoku 2 was a title released in 1993 for the Neo Geo AES/MVS and the Neo Geo CD. It hit the market with relatively tame graphics that didn’t reflect the realistic amount of blood that should be released when an enemy was chopped in half with a sword. Noting that there was no simple DIP switch configuration or bit to flip to enable a more adult version of the game, [Raphaël] decided to create a custom blood hack the hard way. What ensued was a heavy-duty reverse engineering effort, swapping out palettes, and carefully editing tilesets in order to turn the censored graphics into something more lurid. A lot of artistic decisions had to be made to manipulate things just so in order to create a pleasing effect that didn’t mess up other aspects of the graphics at the same time.
If you’re a big Sengoku 2 fan, or you just want to learn more about reverse engineering and hacking on an obscure platform, dive into the project and enjoy the learnings. Otherwise, dive into the entirely different sorts of blood-related hacks we’ve featured over the years.
Running DOOM on weird obscure hardware is a fun hacker pastime that’s been around for a long time now. It’s always enjoyable to see someone port it to an egg timer, or a hat, or whatever else. But what about running the iconic shooteron a CPU of your very own? [Armaan] and [Liam] have done just that.
The CPU in question was designed at the logic gate level, deployed on to an FPGA, and hooked up with the necessary peripherals to run as a going concern. Early testing of the CPU involved running straightforward code to generate Mandelbrot sets and to play a simple game of Pong. But [Armaan] and [Liam] had bigger goals: to port the game that everybody ports to everything. Doing that took some work.
To get DOOM running, the CPU had to get faster, and it needed many tweaks to how memory was handled. There was also work to be done to create a keyboard interface, an HDMI video output, and a hardware timer. From there, the game itself had to then be ported to the custom CPU’s architecture. Eventually, the duo had the game running… at a glacial 0.7 FPS. A success, but not the magical end result that was desired. A bump to clock speed and further optimizations and compiler tweaks eventually got the game up to an impressive 15-20 FPS. The goal for future work is to push it to an entirely-playable figure of 30 FPS or better.
It’s worth checking out the (apparently unembeddable) videos on Instagram to see the CPU in action. We’ve also featured plenty of fun DOOM ports before, too. If you’re brewing up custom CPUs or DOOMports of your own, keep them coming to the tipsline. The latter in particular is often a wonderful milk run for the writer that happens across it. Happy hacking out there!