We’ve built a four player arcade cabinet called Crime City Arcade, and we want to tell you about it. When we designed this thing we had a few requirements in mind:
- Support for multiple players, the more, the better
- Easy to connect to any computer and to make games for
- Needs to be somewhat portable so we can bring it to gamejams and events
- Easy to build so we can actually complete it
After some careful considerations and a lot of terrible drawings, we ended up with the four player “cocktail” design. Essentially it’s a box with a screen and a few joysticks. We opted to have it connect to an external computer rather than making an integrated system. It’s cheaper, since we don’t need a computer specifically for it, makes it really easy to test your games on it, just plug in the dvi and usb and go. It’s also a bit sturdier and lighter which is good for hauling it around.
The box is made from laser cut HDF. We designed the entire thing in Illustrator and it did actually fit together on the first try, even though it was Martins first thing to ever run through a laser cutter.
The screen is completely ordinary LCD screen, all we did to it was to take of its plastic covering. Using a regular screen did have the unforeseen consequence of less than ideal viewing angles. Regular computer screens, especially cheaper models have okay viewing angles horizontally. But, vertically, not so good. This is not that strange, since you typically don’t spend a lot of time lying on the floor or hanging from the ceiling when looking at a screen. But, when it’s mounted flat like in our case, that becomes quite a bit more apparent. Still, it’s plenty good for a first version.
When connected to your computer it shows up as a regular USB-keyboard, this was something we put some work into, again because we wanted it to be as easy as possible to make games for. No special software is required on the “host” computer.
This is made possible using a Teensy++ 2.0, we got the ++ just to get those extra I/O pins. All in all we have 26 inputs, (four directions and two buttons per player, plus an extra two buttons). We could have done some trickery to read all those using fewer I/O pins, but we wanted to keep it simple.
Using the Teensy as a keyboard is great for compatibility, but keyboards aren’t exactly made for the type of input this thing gets. If all players hold diagonally (two inputs * four players) and both their buttons, which can and does happen, that’s 16 simultaneous keys at once.
Neither the standard Teensy C library or Teensyduino supports sending more than four keys at once. Luckily we found the tmk_keyboard library which supports the fabled n-key rollover, which means any number of keys at once. We’ve also had a few issues with the inputs getting buffered and “played back” long after you’ve stopped, this does however seem to be on a per software level, for instance the standalone Flash Player in windows does this from time to time.
The joysticks and buttons were bought at arcadegames.se, its a nice and good priced site.
The sound is provided by a pair of butchered computer speakers we got for cheap. Nothing fancy.
People keep asking how much it cost to built this thing, so here’s a little summary of the costs involved:
|HDF board||Less than $20|
|Acrylic cover||$30 (freebie)|
|Sticks and buttons||$75|
All in all, this adds up to $435, luckily for us we got the most expensive part, the screen, for free. Nor did we pay anything for using the laser cutter which, to be honest, made this thing possible at all.
We hope few more of these get built, the more of these things there are, the more games will get made for them and the more fun everyone gets to have. The links below are the templates for cutting the cabinet in a lasercutter. Go ahead and grab them and build your own thingy!
Templates are provided under the authority of creative commons. Use wisely. http://creativecommons.org/licenses/by/3.0/
So far we have brought the machine to a couple of different events such as festivals, gamejams and private partys and people are having lots of fun playing around with it.
So… start building! but first look at pictures and video!