Wipeout Clone Runs Native On ESP32-S3

Psygnosis’s 1995 game Wipeout is remembered for two things: being one of the greatest games of all time, and taking advantage of the then-new PlayStation’s capacity for 3D graphics. The ESP32-S3 might not be your first choice to replace Sony’s iconic console, but [Michael Biggins] a.k.a. [PhonicUK] is working on doing just that, with his own clone of Wipeout on the Expressif MCU. 

It’s actually not that crazy when you think about it. The PlayStation had a 32-bit RISC processor, and the ESP32-S3 is a 32-bit RISC processor. The PlayStation’s was only good for about 30 Million Instructions Per Second (MIPS) but it had a graphics co-processor to help out with the polygons — the ESP32-S3 has two cores that can help each other, which combine to about 300 MIPS. In terms of RAM, the board in use has 8 MB of PSRAM, while the faster 512 kB on the chip is used, in effect, as video ram.

The demo is very impressive, especially considering he’s fit in three computer players. He’s also got it blasting out 60 frames per second, which is probably double what the original Wipeout ran on the PS1. Part of that is the two cores in action: he’s got them working together on the interlaced video output, one sending while the other finishes the second half of the frame. Each half of the video gets dedicated space in the internal memory. Using a 480×320 pixel display doesn’t hurt for speed, either. Sure, it’s paltry by modern standards, but the original Wipeout got by with even fewer pixels — and it didn’t run on a microcontroller. Granted it’s a beefy micro, but we really love how [Michael] is pushing its limits here.

Right now there’s just the Reddit thread and the demo video below. [Michael] is considering sharing the source code for his underlying 3D engine under an open license. We do hope he shares the code, as there are surely tricks in there some of us here could learn from. If it’s all old hat to you, perhaps you’d rather spend a weekend learning raytracing.

Continue reading Wipeout Clone Runs Native On ESP32-S3″

Virtual Racers Battle It Out On Portable WS2812 Track

Sure modern video games are impressive, but you certainly don’t need a 4K display or high speed Internet connection to have a good time. For a perfect example, take a look at this unique one-dimensional racing game put together by [mircemk]. This variation of [Gerardo Barbarov Rostan]’s Open LED Race project has been scaled down so it can be transported easily, though at least for now, you’ll still need to plug it into an external power supply.

The game is pretty straightforward. By rapidly pressing their respective buttons, players race their virtual vehicles on a linear “track” made of 60 WS2812 RGB LEDs. In the most basic of terms, the faster they press their button, the faster the red or green illuminated LED that represents their car moves.

But in practice, things are made a bit more interesting with the addition of simulated gravity for the “hills” the racers will encounter. The cars also have a bit of inertia, and will coast along even when you aren’t mashing the button. There are even optional engine sounds, though as with the visual representation of the cars, a certain degree of imagination is required for the desired effect.

The hardware requirements for this game are minimal, and can easily be adapted to what you have in the parts bin. Beyond the strip of WS2812 LEDs, all you really need is a microcontroller and two buttons. Here [mircemk] is using an Arduino Nano, but you could press pretty much any MCU into service. To make this version as portable as possible, the buttons are built right into the PVC sheet enclosure, but putting them in some wired remotes would make for a bit more comfortable gameplay.

We’ve covered several projects that have aimed to turn the humble string of RGB LEDs into an interactive electronic game over the years. As long as you’ve got an open mind, you can find a whole world hidden inside some blinking lights.

Continue reading “Virtual Racers Battle It Out On Portable WS2812 Track”

RomoCart, Indoor Robot Racing

Your Living Room Becomes Next Mario Kart Course

[Ken] likes his living room and he is on a continual mission to make it more interesting. Recently, he has made a giant leap forward with a racing game project he calls RomoCart. Think of it as a partially-physical game of Mario Kart. You are able to race others around a track while still having the ability to fire projectiles or drop defensive measures in efforts to win the race!

First, lets talk about the hardware required. The racers are standard Romo educational robots. Wireless game controllers provide the means for the drivers to control the Romos. Hanging from the ceiling is an Xtion motion sensing camera and a video projector, both pointed down at the floor.

To get started, the system scans the floor and determines a race course based on the room layout and any physical objects in the vicinity. A course is then generated to avoid the obstacles and is projected onto the floor. At this point it would still be a pretty neat project but [Ken] went way further. The ceiling-mounted camera tracks the motion of the Romos driving around the track and the video projector displays a smoke trail behind each racer. Randomly displayed on the track are items to help you win the race, including an acceleration item that makes your Romo go twice as fast for a short time.

Have a tailgater? No problem, just pick up some bananas and drop them on the track. If a following competitor drives into one, they spin out. If you want to get super rude, pick up some missiles and fire them at the racers ahead of you. A direct hit will stop them right in their tracks.

[Ken] is no stranger to HaD, he’s had a few of his projects covered here before. Check out his Tempescope, Moving Window and his Autonomous Lighting System.

Check out a video of the racing in action after the break. It is amazing!

Continue reading “Your Living Room Becomes Next Mario Kart Course”