Gameduino is a DIY game platform built on a shield for the Arduino. It’s open source hardware (BSD and, for the code, GPL). Okay, that’s fairly cool. But what makes this project special is that this inexpensive board (a $50 donation buys you one) has hardware that’s capable enough to be interesting, as seen in the video.
We’re talking smooth-scrolling 8-bit graphics and full 12-bit stereo sound synthesis, 512×512-pixel backgrounds, hundreds of sprites… check out the specs:
video output is 400×300 pixels in 512 colors
all color processed internally at 15-bit precision
compatible with any standard VGA monitor (800×600 @ 72Hz)
512×512 pixel character background
256 characters, each with independent 4 color palette
pixel-smooth X-Y wraparound scroll
each sprite is 16×16 pixels with per-pixel transparency
each sprite can use 256, 16 or 4 colors
four-way rotate and flip
96 sprites per scan-line, 1536 texels per line
pixel-perfect sprite collision detection
audio output is a stereo 12-bit frequency synthesizer
16 independent voices 10-4000 Hz
per-voice sine wave or white noise
The result is a lo-fi game console built on an FPGA that gives you retro graphics without being, you know, too retro. Games actually look good. And with the Arduino environment used for programming, writing games isn’t so hard. You’ll find code snippets and more video examples on the project page, and yes, you can load your own textures.
Now, what it isn’t: because it’s an FPGA, while it is open source, it’s not going to be terribly hackable for the average person who’s been doing some Arduino coding. On the other hand, the freedom to build controllers and do Arduino sketches to make games should be more than enough to keep people busy, and it looks like a great platform on which to learn game programming.
There’s a Kickstarter project to support production of the hardware. You can pledge a couple of dollars, but with US$53 or more, you get a pre-assembled, tested Gameduino shield from the first production run.
The project is the work of James Bowman. Bio: “My background is in games and graphics – I wrote games for 8- and 16-bit consoles – and later made graphics software and hardware at SGI, 3dfx, and NVIDIA. I currently use the Arduino at an open source robotics company.”
I hope to have a little chat with James, so if you’ve got questions for our interview, fire away!
Thanks, Brendan, for the tip!