Playing Snake With Digital Microfluidics

Display technology has come a long way since the advent of the CRT in the late 1800s (yes, really!). Since then, we’ve enjoyed the Nixie tubes, flip dots, gas plasma, LCD, LED, ePaper, the list goes on. Now, there’s a new kid on the block — water.

[Steve Mould] recently got his hands on an OpenDrop — an open-source digital microfluidics platform for biology research. It’s essentially a grid of electrodes coated in a dielectric. Water sits atop this insulating layer, and due to its polarized nature, droplets can be moved around the grid by voltages applied to the electrodes. The original intent was to automate experiments (see 8:19 in the video below for some wild examples), but [Steve] had far more important uses in mind.

When [Steve]’s €1,000 device shipped from Switzerland, it was destined for greatness. It was turned into a game console for classics such as Pac-Man, Frogger, and of course, Snake. With help from the OpenDrop’s inventor (and Copilot), he built paired-down versions of the games that could run on the 8×14 “pixel” grid. Pac-Man in particular proved difficult, because due to the conservation of mass, whenever Pac-Man ate a ghost, he grew and eventually became unwieldy. Fortunately, Snake is one of the few videogames that actually respects the laws of classical mechanics, as the snake grows by one unit each time it consumes food.

[Steve] has also issued a challenge — if you code up another game, he’ll run it on his OpenDrop. He’s even offering a prize for the first working Tetris implementation, so be sure to check out his source code linked in the video description as a starting point. We’ve seen Tetris on oscilloscopes and 3D LED matrices before, so it’s about time we get a watery implementation.

Continue reading “Playing Snake With Digital Microfluidics”

Whack-A-Disk

By now most floppy disks have been relegated to the dustbin of history, with a few exceptions for obscure industrial applications using legacy hardware and, of course, much of the world’s nuclear weapons arsenals. In fact, they’re so rare to see in the world anymore that many below a certain age don’t recognize the “save” symbol commonly used in application user interfaces. Without a use case, and with plenty of old floppies still laying around, [Rob] took a pile of them and built this Whack-a-Mole-style game.

The game has a number of floppy-disk-specific features compared to the arcade classic, though. First, there’s no mallet, so the player must push the floppy disks into the drive manually. Second, [Rob] went to somewhat exceptional lengths to customize the drives to that sometimes the disks jump out of the drive, forcing the player to grab them and put them back in to score points in the game. He did this without needing to install high-powered solenoids in the drives too. As for the game software itself, it all runs on an Amiga 600 and even includes a custom-made soundtrack for the 30-second game.

Getting the drives just right did take a number of prototypes, but after a few versions [Rob] has a working game that looks fun to play and is a clever use of aging hardware, not to mention the fact that it runs on a retro computer as well. Of course, for the true retro feel, you’ll want to make sure you find a CRT for the display somewhere, even though they’re getting harder to find now than old floppy disk drives.

Continue reading “Whack-A-Disk”

Animal Crossing keyboard banner

Making GameCube Keyboard Controller Work With Animal Crossing

[Hunter Irving] is a talented hacker with a wicked sense of humor, and he has written in to let us know about his latest project which is to make a GameCube keyboard controller work with Animal Crossing.

This project began simply enough but got very complicated in short order. Initially the goal was to get the GameCube keyboard controller integrated with the game Animal Crossing. The GameCube keyboard controller is a genuine part manufactured and sold by Nintendo but the game Animal Crossing isn’t compatible with this controller. Rather, Animal Crossing has an on-screen keyboard which players can use with a standard controller. [Hunter] found this frustrating to use so he created an adapter which would intercept the keyboard controller protocol and replace it with equivalent “keypresses” from an emulated standard controller.

Continue reading “Making GameCube Keyboard Controller Work With Animal Crossing”

Simulating Empires With Procedurally Generated History

Procedural generation is a big part of game design these days. Usually you generate your map, and [Fractal Philosophy] has decided to go one step further: using a procedurally-generated world from an older video, he is procedurally generating history by simulating the rise and fall of empires on that map in a video embedded below.

Now, lacking a proper theory of Psychohistory, [Fractal Philosophy] has chosen to go with what he admits is the simplest model he could find, one centered on the concept of “solidarity” and based on the work of [Peter Turchin], a Russian-American thinker. “Solidarity” in the population holds the Empire together; external pressures increase it, and internal pressures decrease it. This leads to an obvious cellular automation type system (like Conway’s Game of Life), where cells are evaluated based on their nearest neighbors: the number of nearest neighbors in the empire goes into a function that gives the probability of increasing or decreasing the solidarity score each “turn”. (Probability, in order to preserve some randomness.) The “strength” of the Empire is given by the sum of the solidarity scores in every cell. Continue reading “Simulating Empires With Procedurally Generated History”

Pong In Discrete Components

The choice between hardware and software for electronics projects is generally a straighforward one. For simple tasks we might build dedicated hardware circuits out of discrete components for reliability and low cost, but for more complex tasks it could be easier and cheaper to program a general purpose microcontroller than to build the equivalent circuit in hardware. Every now and then we’ll see a project that blurs the lines between these two choices like this Pong game built entirely out of discrete components.

The project begins with a somewhat low-quality image of the original Pong circuit found online, which [atkelar] used to model the circuit in KiCad. Because the image wasn’t the highest resolution some guesses needed to be made, but it was enough to eventually produce a PCB and bill of material. From there [atkelar] could start piecing the circuit together, starting with the clock and eventually working through all the other components of the game, troubleshooting as he went. There were of course a few bugs to work out, as with any hardware project of this complexity, but in the end the bugs in the first PCB were found and used to create a second PCB with the issues solved.

With a wood, and metal case rounding out the build to showcase the circuit, nothing is left but to plug this in to a monitor and start playing this recreation of the first mass-produced video game ever made. Pong is a fairly popular build since, at least compared to modern games, it’s simple enough to build completely in hardware. This version from a few years ago goes even beyond [atkelar]’s integrated circuit design and instead built a recreation out of transistors and diodes directly.

Continue reading “Pong In Discrete Components”

Video Game Preservation Through Decompilation

Unlike computer games, which smoothly and continuously evolved along with the hardware that powered them, console games have up until very recently been constrained by a generational style of development. Sure there were games that appeared on multiple platforms, and eventually newer consoles would feature backwards compatibility that allowed them to play select titles from previous generations of hardware. But in many cases, some of the best games ever made were stuck on the console they were designed for.

Now, for those following along as this happened, it wasn’t such a big deal. For gamers, it was simply a given that their favorite games from the Super Nintendo Entertainment System (SNES) wouldn’t play on the Nintendo 64, any more than their Genesis games could run on their Sony PlayStation. As such, it wasn’t uncommon to see several game consoles clustered under the family TV. If you wanted to go back and play those older titles, all you had to do was switch video inputs.

But gaming, and indeed the entertainment world in general, has changed vastly over the last couple of decades. Telling somebody today that the only way they can experience The Legend of Zelda: A Link to the Past is by dragging out some yellowed thirty-odd year old console from the attic is like telling them the only way they can see a movie is by going to the theater.

These days, the expectation is that entertainment comes to you, not the other way around — and it’s an assumption that’s unlikely to change as technology marches on. Just like our TV shows and movies now appear on whatever device is convenient to us at the time, modern gamers don’t want to be limited to their consoles, they also want to play games on their phones and VR headsets.

But that leaves us with a bit of a problem. There are some games which are too significant, either technically or culturally, to just leave in the digital dust. Like any other form of art, there are pieces that deserve to be preserved for future generations to see and experience.

For the select few games that are deemed worth the effort, decompilation promises to offer a sort of digital immortality. As several recent projects have shown, breaking a game down to its original source code can allow it to adapt to new systems and technologies for as long as the community wishes to keep them updated.

Continue reading “Video Game Preservation Through Decompilation”

Randomly Generating Atari Games

They say that if you let a million monkeys type on a million typewriters, they will eventually write the works of Shakespeare. While not quite the same thing [bbenchoff] (why does that sound familiar?), spent some computing cycles to generate random data and, via heuristics, find valid Atari 2600 “games” in the data.

As you might expect, the games aren’t going to be things you want to play all day long. In fact, they are more like demos. However, there are a number of interesting programs, considering they were just randomly generated.

Continue reading “Randomly Generating Atari Games”