Tiny microcontrollers like the Atmel AVR used in the Arduino are now much more powerful than the 8-bit computers from the 1980s. So why not use them to play video games?
Gameduino connects your Arduino to a VGA monitor and speakers, giving powerful sprite and tile-based graphics for video game creation.
The original Gameduino is no longer being manufactured. Gameduino 3X is the current version.
Contents
All these samples are included as part of the Gameduino library, Gameduino.zip.
Gameduino draws 256 animated sprites in hardware. The Arduino sends just four bytes to move a sprite. details
Hardware scroll for pixel-perfect scrolling backgrounds with no tear or lag. details
Hardware pixel-perfect collision detection means the Arduino can detect whenever two sprites touch. details
The classic bouncing ball demo, showing a large animated sprite. details
A playable game of Asteroids, showing how a full game manages graphics, sound, a huge scrolling map. details
Drawing a chessboard using a combination of background and foreground graphics. details
Three-part tutorial on converting the arcade classic to the Gameduino. details
Gameduino supports hardware-accelerated line drawing. This demonstration spins 3D spacecraft. details
A faithful conversion of the classic 80's game for Gameduino. details
Multi-layer effects are possible with a parallax scroll. details
Using ray-traced sprites to give a 3D make a 3D spinning model. details
Plays Widor's Organ Toccata using the 64-voice synthesizer details
Using Audacity to analyze sounds for synthesis by Gameduino. details
Converting and playing a MIDI track. details
Playing back an 8KHz audio sample, either from Arduino memory or Gameduino graphics memory. details
Using the 64-voice synthesizer to reconstruct musical instruments. details
The Gameduino supports flexible split-screen scrolling. This demo splits the screen into three sections. details
Using the Gameduino as a four-color framebuffer. details
Generating visual white noise using the coprocessor. details
Demonstrates the sprite palette select field. details
Demonstrates the sprite rotate control. details
Gameduino has a small built-in library of useful images, a font, and audio samples. details
JK collision divides sprites into two groups so you can ignore 'friendly' collisions. details
Using the classic IBM PC 437 16x8 font on the Gameduino for better looking text. details
Gameduino is a game adapter for Arduino - or anything else with an SPI interface - built as a single shield that stacks up on top of the Arduino and has plugs for a VGA monitor and stereo speakers.
The sound and graphics are definitely old-school, but thanks to the latest FPGA technology, the sprite capabilities are a step above those in machines from the past.
- all color processed internally at 15-bit precision
- compatible with any standard VGA monitor (800x600 @ 72Hz)
- background graphics
- 512x512 pixel character background
- 256 characters, each with independent 4 color palette
- pixel-smooth X-Y wraparound scroll
- foreground graphics
- each sprite is 16x16 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
- 64 independent voices 10-8000 Hz
- per-voice sine wave or white noise
- sample playback channel
The adapter is controlled via SPI read/write operations, and looks to the CPU like a 32Kbyte RAM. (Unlike many 8-bit machines, there are no restrictions on when you can access this RAM). There is a handy reference poster showing how the whole system works, and a set of sample programs and library.
The adapter is controlled via SPI read/write operations, and looks to the CPU like a 32Kbyte RAM. (Unlike many 8-bit machines, there are no restrictions on when you can access this RAM). There is a handy reference poster showing how the whole system works.
The Hardware Technical Reference covers every aspect of the Gameduino.
The using Gameduino with other hardware explains how to get Gameduino running with a new microcontroller.
If you are interested in making your own Gameduino, or building it for another FPGA, Making a Gameduino should help.
There is a FAQ.
A Guide for artists explains how to create graphics for the Gameduino.
Gameduino is open-source hardware (BSD license) and all its code is GPL licensed.
Logo design by iLKke.