An Arcade Machine? Why?
In 2017, Faktor Zehn will participate in the JavaLand conference in Brühl from March, 28th to March, 30th. Naturally, we would like to attract a lot of attention and draw potential new employees to our booth, so we brainstormed for a while and came up with the idea of building our own arcade machine and letting the visitors play a game.
Since this is cool , I snatched the project and started it by ordering parts. That’s the easy part, right? Actually, not quite: I have found a couple of retro arcade shops in Germany, but they never replied after I called or wrote them. Pity, really! In the end, however, I found a great shop in the Netherlands, which provided first-class support and all the cool parts needed for the project. The catch? – Building instructions came in Dutch. If you would like to build your own, visit http://arcadewinkel.nl — and have fun!
In total, I ordered these parts:
- 1 Bartop Arcade cabinet kit for 1 player (read: the wooden frame)
- 1 Balltop Arcadefighter stick, red
- 6 classic concave pushbuttons, red
- 1 concave pushbutton, white with 1 player logo [which looks a bit like a toilet sign, but never mind]
- 2 concave pushbuttons, blue
- 1 iPac 2 USB controller
- 1 Cable Set, 11 colors, 28m
- 60 Connectors, 4.8mm with cover
Additionally, I went to the nearest hardware store and shopped for some wood, brackets, and screws.
Let the construction begin!
So, now I was left with the potpourri of parts and cables depicted in the picture above (or at least something similar to that; unfortunately, I didn’t take a picture of the package contents when they arrived, so I arranged the stock photos from the web-site) and with some help from google translate, some drills, a tape measure, and a lot of patience [read: cursing], I eventually transformed the parts into this:
Alright. It doesn’t look too bad, but it is actually relatively unstable. The arcade kit came with “Kunststof montageblokken” (roughly: plastic connection blocks) which turned out to be hard to precisely screw into place, because my drills were too wide for that, or rather, the holes for the screws were too close to the edge of the blocks. In the end, I decided to replace some blocks with metal brackets, adding a lot of stability.
Finding a fitting screen
In the picture above, you can also see a screen in the cabinet. In order to find a screen for the machine, I had to jump through some hoops. The screen must not be any wider than 35cm. Try searching for that… It’s no problem looking for a screen resolution or its diagonal size, but finding its actual width? Surprisingly difficult… First, I found a screen which was listed as being exactly 35cm wide, which turned out to be 38cm wide when it arrived. In the end, I found the Iiyama ProLite T1532SR-B3, which is 35.1cm wide, and unfortunately much more expensive than I would have liked. It is a touch screen, which is completely unnecessary for the arcade machine…
Alright, with the screen in place and the buttons and joystick mounted, I had to actually connect the controls to the iPac 2 keyboard controller. The basic idea is that the controller translates each push of a button or movement of the joystick to a key code. Generally, the assembly is straightforward: Connect each micro switch to one input pin on the iPac. There is one catch, though: The iPac comes with two ground pins. Apparently, it is not a good idea to connect the ground cable to both pins; when I did that, no signal would be sent through. However, as soon as I only used one ground pin, it worked flawlessly (1). Simply connect the iPac 2 to your USB input on the computer and you can use the connected buttons to send keyboard input. Cool!
After the general assembly was finished, the question remained: How to improve the overall design? I decided to ask a friend of mine to use his airbrush skills and asked him to paint a “Pac-Man” style labyrinth on the machine, along with designs from the ConVista marketing team. The results are fabulous:
I should note here that the arcade machine does not come equipped with a Raspberry Pi. Instead, in order to use it, you actually have to connect a computer to it. It would be easy to use a RasPi, however. I chose not to, mainly because I wanted to run Unity on the machine, and Unity does not handle ARM based architectures too gracefully, yet (only solution would be to make an Android build and the RasPi will reach its computational limits running the Unity engine inside an Android image. Details here: http://www.instructables.com/id/Raspberry-Pi-Running-Unity).
A game… We need a game!
If you are asking yourself: Why “Pac-Man”? The story is rather simple: I thought about which game we could run on the machine and I wanted something that was easily understandable and quickly playable, so that there would not be a long queue in front of the machine. Pac-Man, I thought, would actually be relatively easy to implement and I could then use our Faktor-IPS logo as the main character. — But writing “Fips-Man” is definitely a story for another blog entry.
For now, I’m really looking forward to the JavaLand, and I am eager to know how the machine is being received.
If you would like to play with it: You’ll have to be patient for a little while. I suppose it will end up standing in the Munich office after the JavaLand…
(1) Do you know why? Can you give me an explanation? You cannot short-circuit ground pins, can you??