The project began when I visited an old friend who has restored several old arcade cabinets. I thought the cabinets were great, but there are so many new games that would work so well in a cabinet. I picked Guacamelee because the art style fits on an arcade cabinet, and it is a great game!Once I had the idea, I needed to get the game, and get it running on cabinet friendly hardware. That will be the next post.
First step, get the game running.
To make a game cabinet, you need a running game. I had an older desktop computer that I replaced because it started shutting down at random times.
I traced this problem to the power supply, and swapped in a lower power replacement. With the computer running, I needed to get rid of as many components as I could. I removed everything except the power supply, motherboard and nvidia graphics card.
So, I needed to get the system running. Hard drives are power hungry, sensitive to vibrations and much larger than I needed. I only needed enough space to store an OS and one game. So, I installed Linux Mint 16 on an 8Gb thumb drive.
I had to do a lot of looking things up to disable the disk cache, which would kill the thumb drive, and install the correct video drivers. I eventually got the system running smoothly.
Next I purchased “Guacamelee Gold Edition” from HumbleBundle.com, and installed it to the thumb drive. I realized that a bunch of games I had gotten from various humble bundles would fit on the thumb drive, so I installed “Braid”, “Super Meat Boy” and “Stealth Bastard” as well.
I planned to have a wireless keyboard and mouse with the cabinet, but I wanted them for emergencies only. I created a script to display a menu where you could choose what game to load, or shut down the computer. The final script has several more games (“SteamWorld Dig”, “Skullgirls”, “Super Hexagon” and a couple of bullet-hell games I do not recall right now) and automatically loads Guacamelee when it boots.
Building the controls
Before making the whole cabinet, I wanted to make sure ALL of the electronics worked, so the next step was the control panel.
I bought all of the controls (joystick, button and interface board) from a company called Ultimarc in the UK. I think there are several suppliers in the USA that would have worked as well. There is a good article on Tested.com about choosing buttons and joysticks, and they used FocusAttack.
The control interface is great. It looks like a keyboard to the computer, but it has screw-down connections for the wires to the buttons and can handle a large number of simultaneous button presses.
I knew I wanted this first control panel to be temporary, and I did not know exactly where the buttons would be placed in relation to the interface, so I guessed at the longest reach I would need and soldered wires to the buttons. I tried to give each button a different colored wire, so I could diagram the connections. I also used two black wires for the grounds, so I could daisy chain the grounds together.
Next I needed to mount them. I built a box out of plywood and filled the gaps with Spackle. (ah Spackle, you make it look like I can cut a straight line.) Then I got a 1″ drill and guessed at good places to put the buttons. The joystick I bought uses the same 1″ hole as the buttons, which made mounting it easy.
Then it was a matter of painting it, gluing on the panel image, and wring the whole thing together.
I used wire nuts to connect everything so i could take it apart later without needing to re-solder anything. The final product looked pretty good. I finished two days before my son’s birthday party, so we had the game playable.
The Plan – a big wooden box
All I had left to do was build the cabinet to put everything in. For that, I needed a plan.
After some searching, I went to a local arcade, Pinball Parlour, to look at how some of the original arcade games were designed. I spent some time talking to the owner, who is a very nice guy, about how you access the insides of the machines and the control panels.
It turns out that arcade cabinets were designed to be simple and cheap. I am surprised now that they didn’t just fall apart. They consist of two sides sandwitching the horizontal panels. Sometimes the control panels had some complexity to them, but in general they were very cheap.
There were two methods of mounting the screen. Either laid back and enclosed or upright and open.
Laid back and enclosed has the screen at a low angle, 30 degrees or so, with the cabinet giving shade from the sides and above. This keeps surrounding lights from reflecting off the screen and obscuring vision.
Upright and open has the screen at a much steeper angle, 60-70 degrees, and has much less shading. I chose upright and open, because I am very tall, and the roof jutting out of the laid back machines blocks my vision.
I made the design as simple as possible, eventually fitting it all on a single sheet of plywood.
I placed a drawer below the control panel to hold the keyboard and mouse.
I wanted to be sure I had everything laid out correctly, so I built a 1/3 scale model out of foam core.
I do not have pictures of the cabinet in progress, but here are the steps:
- Cut out the pieces from my piece of cabinet grade plywood. (Plywood is expensive!)
- Mark the side pieces where the center pieces go, and where the holes should be drilled.
- Drill holes in the side panels for the screws. Drill wider at the top to get the screw tops well below the surface of the plywood.
- Assemble the box, holding the sides to the cross pieces with wood screws.
- Fill the screw holes with Spackle, sand level.
- Sand, prime and paint the outisde of the cabinet.
- Add brackets for the screen glass and marquee, and hinges for the control panel and back door.
Once I had a painted box, it was time to think about graphics.
I decided early on to have a very large Juan on one side of the case, and Toastada on the other. I went to Google and found all the images I could for the game, including fairly high resolution images of Juan and Toastada. However, they were not nearly high resolution enough to print five feet tall.
Fortunately, the characters in Guacamelee use overlapping shapes of a single color, with only a little shading. To create the side images, I used GIMP to trace the lower resolution images the Path tool. Then I scaled the image up to the size I needed, and converted the paths to selections, and filled the selections with the correct colors.
The rest of the images were pulled from google image search.
I bought the images as vinyl wall peels through Cafe Press. I love the vinyl material. It prints colors beautifully, it is very easy to apply without bubbles or wrinkles, and if it is off you can peel it off and apply it again. It also works great for the marquee. It is opaque enough to diffuse the light, but translucent enough that it shines.
I am hesitant to recommend Cafe Press for this, however. They used to be very precise and technical about large graphics, with a template you downloaded that clearly showed the bleed lines and exactly how the final product would look. Now they use a web design tool that is very imprecise. I made two orders of wall peels, a small one to test the material and a larger one for the rest of the images. I had to throw away the first prints both times, because they were not printed correctly. Even the final prints seem to be printed at lower resolution than they should be, but I was too tired to make them print it a third time. Their customer support was wonderful, but they did not seem to be able to print a 24″x35″ image on a 24″x35″ piece of vinyl. They kept shrinking things, or rotating them 90 degrees, etc. If you do use Cafe Press, call customer support immediately after placing your order and ask them to contact you when the print is complete to confirm it is correct before they put it in the mail.
I have been given The Artwork Doctor as an alternative, but I have not tried them.
I bought a heavy duty extension cord, a six plug outlet block and a wall switch for the power. This let me power everything without cutting and soldering wires from the components.
The sound is from a pair of desktop computer speakers that I removed from their housing.
And that is it. About 18 months and $800 – $1000 from start to finish. It now holds a prized place in our game room.