October 31, 2010
Halloween 2010 - Arcade Game Costume
When choosing a Halloween costume, I try to pick things that will appeal to my co-workers, since they're the ones who will end up staring at the costume all day. And there's usually a contest there with cash prizes, so it helps to butter up the judges a bit.
Last year I had the idea of dressing up as an arcade game cabinet, since one of the sites my company runs is www.retrogamer.com, which features a ton of old 80's arcade games. During the course of this year, I was assigned to work on Retrogamer, so it became a no-brainer choice for this year's costume.
My goal was to create a working wearable arcade cabinet, capable of playing a whole slew of old games, and hopefully even including a working "coin" slot that accepts candy for payment. I planned on a cardboard box for the body, an old laptop running off a battery for the screen/computer, a USB joystick for the controller, and some Vex robotics kit parts for the coin slot.
Here's some details on how it went. You may just want to scroll through and see all the pretty pictures. The text is rather boring.
Construction Day 1:
I ordered a USB joystick off eBay, which looked great, but seemed to be a no-name product, which worried me a bit. Shipping was going to take a while, which also worried me, since this is pretty critical to the project. Apparently China is far. But it was cheap ($13, incl. shipping), and so am I, so I went for it.
I dusted off an old Linux tablet PC I had kicking around the house, which is perfect for the job, since it has a screen that can be rotated and folded back on the keyboard, which frees up a lot of room inside the costume, and lets me rotate the screen the "tall" way if I want without having a keyboard sticking out of the side.
Construction Day 2
I started on a frame for the costume to hold the laptop, using the metal erector-set-like parts from my Vex robotics kit. So far it's coming together nicely.
The frame will hang from some kind of backpack straps. The "stand" at the bottom will rest against my chest, putting the screen at an angle like an arcade cabinet would.
Construction Day 3
I got MAME working (after some missteps) by installing "sdlmame," and finding some working games. I also installed "Wah!Cade" as the front end for MAME, which will allow a player to select a game without having to use a mouse or keyboard.
I also started work on the candy coin slot. So far it's just a paper-towel tube with a bumper switch at the bottom. It's designed to accept "Fun Size" style candy, since lollipops are terrible. If all works well, the candy should hit the switch as it exits the tube. I planned on soldering the switch wire to one of the contacts for the joystick buttons, so that pressing the switch would be the same as pressing the button. I can configure MAME to register that button as a coin insert.
I put the switch at the bottom because I know my coworkers will want to cheat my machine by sticking pencils, etc., into the slot. Because that's what I would do. By putting the switch down away from the slot, it makes it harder (though by no means impossible) to fake it. It also makes sure that the candy is moving at a fair amount of speed, so it will hit the switch hard enough to register.
Construction Day 4
The joystick I ordered won't arrive for about two weeks, which is too long to wait before finalizing my design. So I created a stand-in using a manila folder, based off the measurements from the joystick's website. This allowed me to keep working on the frame. I added a brace under the joystick, since I guessed that it would be under a lot of stress from people hitting and pushing it.
I also extended the frame with some legs. This is to support the laptop/joystick if I take the costume off and put it on a table. I'd like people to be able to play it without me having to wear it all day.
A nice-sized box arrived on our doorstep, and I thought it would work well for the cabinet. I cut out the bottom, and cut holes for head and arms. It seemed to be a good fit, but I beat it up more than I should have. I hope I can still use it, since the size is just about right.
Construction Day 5
I stabilized the legs, and marked up where I'll need to cut the box.
This project is taking longer than I thought, mostly because I haven't been able to start working on it most nights until about 11. Damn kids interfering on my arts and crafts time.
Construction Day 6
On a lark I tried connecting a Wiimote to the MAME machine, which proved to be not too difficult. This will make for a good second player controller, or as a backup plan if the joystick doesn't arrive in time.
Construction Day 7
I cut out the basic shape of the cabinet from the box. I wasn't very careful, so my two sides are at different angles. I hope that's not too noticeable, or that it can be repaired. I'd hate to start with a new box at this point.
Construction Day 8
Still no sign of the joystick, and I was starting to get worried, particularly since my plan was to disassemble it and hook up the coin slot switch to it. Time for Plan B.
I found an old USB keyboard, and took it apart.
Using this handy tutorial on instructables, I managed to trace out the connections for one of the keys (the 5 key in this case, since that's the default coin insert button in MAME). Actually, I really just narrowed it down to a few connection points, since the wiring is so small and I couldn't tell. I plugged the USB cord in to the laptop, opened up a text editor, and raked both ends of the wire over my suspect connections until I saw the 5. I marked where the wire ends were at that point. Then I clumsily soldered wires to each of the connections, taped the bejeezus out of it, and said a little prayer to St. Elmer, the patron saint of sticking things together.
When I touched the other ends of the wires together, a 5 appeared on screen. Success!
Construction Day 9
I soldered the newly-added bare wires to a blank circuit board, and added the wires for a trigger switch and a push-button switch. The trigger switch will be pressed by the falling candy, and the push-button switch will be hidden elsewhere in the costume, so I can press it if the candy coin slot gets jammed or if someone I like enough who wants to play and doesn't have candy.
Construction Day 10
The joystick arrived! And amazingly, it (almost) worked right out of the box. I used the configuration menus in sdlmame to set all the proper button settings.
I mounted the controller. I needed it to sturdily attach to the frame, to make sure it didn't move around when the joystick knob moved and buttons got smashed. It already had pretty good suction cups on the bottom, but I needed more than that, so I went with bolts. I removed the screws from the bottom of the case, let the warm Chinese air wash over me, and then drilled holes that matched up with holes in my frame with the Dremel
I put bolts through the holes from the inside, and screwed them to standoffs on the other side. (I needed the standoff because my mockup controller was waay taller than it should have been).
Then I screwed the standoffs to my frame, attaching the joystick to the costume.
Construction Day 11
I used cardboard from a cereal box to wrap around the controller and make it look more integrated to the costume. Then I attached the bottom front-panel, with the candy slot hole. The hole was higher than I wanted, but I didn't have time to make a new one.
Seeing the full front gave me a better view of how this was going to turn out. I was optimistic.
Time to paint. I had hoped to do a fancy two-tone look, but couldn't risk messing it up this late. So I just went with black.
Construction Day 12
This was the last night I had for construction, so no time for fanciness -- it was time to wrap this up.
I used spray adhesive to apply some decals I had printed out. Again, I had a more whiz-bang vision in mind, but time didn't allow. So just a few logos in the highly visible spots. To compensate for my badly-placed coin slot, I printed out a "CANDY" sign with an arrow to highlight where it was.
Next I put in my coin slot mechanism. The candy would collect at the bottom of the box, which was not terribly easy to access, but was workable. I put the second button in a spot I thought I'd be able to reach discreetly when the costume was on. It turned out my leg often discreetly hit this spot, so I should have picked someplace else.
I screwed the frame to the cardboard in a few strategic places to add some stability. Stability was still a problem though, since I couldn't find a good way to keep the cardboard together. Duct tape and electrical tape both slowly came undone, and I had run out of packing tape. I duct taped what I could and hoped for the best.
I attached the computer by sitting it on offsets I had installed earlier. At the top of the offsets were plates which slid between the keyboard and the back of the screen when the tablet was closed.
I attached the bezel (a pizza box top) with more duct tape, but only on one side, like a hinge. I guessed (correctly) that I'd probably need good access to the ports during the day for charging, debugging, etc., so I didn't want to have to keep ripping it open.
The whole contraption would be held onto my body using my daughter's Baby Bjorn. Thanks Ally, you get a co-creator credit.
I had hoped to make a marquee for the top, but that didn't pan out, as it would have blocked my face when I wore the costume (which probably would have helped, right ladies?), and it would have blocked part of the screen for anyone playing it. From the start, I wanted to make the costume as high as possible, to avoid the creepy factor of having the joystick near my crotch. If that meant no marquee, so be it. So instead, I broke out the velcro hat from my Prize Wheel costume, and attached a small marquee there.
The Big Day
I brought the costume to work, and got a great response. I really enjoyed seeing people's progressive realization that (a) it was an arcade game costume, (b) there was some kind of computer in there, (c) you could really play it, and (d) that it took candy for payment. I was expecting constant "joystick" jokes, but only got a few. The most common thing I heard was "Is that an iPad in there?"
The costume worked better than I thought it would. The candy coin slot worked about 85% of the time, and I had the backup button for the other 15%. The battery lasted about an hour at a time, so I was able to wear it for my office contest and my building's contest between chargings. Mostly, though, I kept it at the end of my desk.
Wear-and-tear started to show a bit throughout the day, largely because I hadn't really secured the cardboard together well, but otherwise it held up well.
I won one of the three prizes in my office contest, and came in second in the building contest. Overall, I won $225. Not a bad haul for a $13 dollar joystick and a $4 circuit board.Posted by Kevin at October 31, 2010 11:33 PM