Introduction: Steam Link Arcade
This is an entry in the
Epilog Challenge 9
I wanted to build an arcade, but wanted to do something different than the RetroPie bartop arcades I see everywhere. So I designed "The Steam Engine Arcade" to run on a Steam Link (Purchased for $5 during a Steam sale) and let my gaming PC do the work. Also I wanted something with a small footprint. It came out even better than I'd hoped and I had to share.
For those who don't know, Steam is a popular platform to buy, manage and download your PC games all in one place. They released the Steam Link a while back to allow people to play Steam games on their TV by remotely steaming their PC. The Steam Link simply acts as a streaming receiver for your computer that can accept it's own inputs (controllers) and relay it back to the computer. So it seemed like a simple transition to go from TV with controllers to Monitor with arcade controls.
- 27" Monitor (I selected this one: https://www.amazon.com/gp/product/B0099XBO5E)
- Steam Link https://www.amazon.com/Steam-Link-pc/dp/B016XBGWAQ... or check Steam for a sale.
- Arcade Controls Kit with USB encoder (Mine: https://www.amazon.com/gp/product/B00WAY9848)
- 4 Additional buttons and wire cables for Steam/XBOX buttons & pinball buttons. ( https://www.amazon.com/gp/product/B00WAY9848 & https://www.amazon.com/gp/product/B077D51TMJ ) Could be found cheaper on Ebay, but I couldn't wait for shipping from China.
- Roll of Matte White Vinyl http://www.uscutter.com/ORACAL-651-Intermediate-C...
- 3/4" T-Molding ~12ft (I bought Red AND Blue) https://www.ebay.com/itm/20-FT-3-4-CHOOSE-COLOR-B...
- Computer Speakers ( https://www.amazon.com/gp/product/B0714JC31F )
- USB Flush Mount cable ( https://www.amazon.com/gp/product/B00XJDP12W/ref=... )
- (1) 2'x4' 3/4" MDF Board
- (1) 4'x8' 1/2" MDF Sheet
- (1) 2"x4" stud for mounting
- 6" (5.5" actual) wide lumber to mount the monitor
- M4 screws for mounting the monitor and joysticks
- M4 nuts and spring lock washers
- 1 1/4" SPAX flat head screws for the MDF
- Small screws for lighting box and speaker holders
- Long & strong ~3" flat head screws like decking or GRK fasteners.
- 3/8" Quick release pin (My choice: https://www.mcmaster.com/#98404a376/=1bdjbfq )
- Drawer Slides (My choice: https://www.mcmaster.com/#13875a11/=1bdjbt7 )
- Stainless Cup Holders ( https://www.amazon.com/Brybelly-Single-Stainless-... )
- Some form of Arduino
- Strip of 42 5v RGB leds (WS2812B)
- Wood Fill
- Wood Glue
- White Paint
- CNC (or a 28mm hole saw, 24mm hole saw, jigsaw and skills). I used the MPCNC I assembled based on plans here https://www.v1engineering.com/assembly/
- Table saw or Circular saw with clamp guides
- Various Clamps (ideally a few small, a couple of corner clamps, and a couple larger pipe clamps)
- 1/8" & 1/16" Bits for the CNC (found here https://vicious1-com.myshopify.com/collections/sha... )
- Trim Bit with bearing (ex. https://www.amazon.com/Bosch-85672M-Carbide-2-Flu... )
- Rubber Mallet for the T-Molding
- Exacto knife or Box cutter.
Slotting bit for the T-molding ( https://www.amazon.com/gp/product/B0002TUCRA )
*Apologies upfront that I don't have any easy way to translate the .dxf CNC files to paper templates that could be used when cutting by hand. If someone can give me guidance on how to do that I'd be happy to update the Instructable to include that.
Step 1: Test Your Setup and Adjust As Needed
This step is optional if you want to trust me entirely, but I made some decisions I know were personal preferences (such as the button layout), and some people will feel differently. Also, it is good to figure out the height you feel is right for you based on the controls and screen. For me, I felt the controls being exactly 39" from the ground felt the best, and I chose to go with a horizontal control panel not because it would be easier, but because a slanted control board at that height was not as comfortable on my wrists.
I have included my rendering, a sliced profile of the cabinet (for reference during the build), and the Fusion 360 File which can be modified if you need to adjust and re-export any CNC files. Please note I am no expert in Fusion 360, so the file may be a little messy. For those who don't know, Fusion 360 is an amazing commercial 3D modeling program that is free to hobbyists. Another great feature of Fusion 360 is the public sharing through their web cloud, which you can use to view the model in 3D space, "Explode" it to view all the parts, and measure any piece for reference. Check it out here http://a360.co/2CsKIQs. Keep in mind throughout this guide I rounded things intentionally for easier measuring and in some cases to increase tolerances. So I'd follow this guide over the model measurements when that happens.
*Notes before you start:
- Pre-drill and countersink all visible screws. Afterwards, nearly all will be wood-filled and painted.
- The file is in mm, and I used a metric tape measure for my cuts because precision was important with some very tight tolerances.
Step 2: Cutting the Side Panels
The side panels are cut out of 3/4" MDF. My CNC was not large enough to cut the panels in one piece, so I cut a two-piece template in 1/2" MDF. Then using the template clamped to the 3/4" MDF Sheet, I used the trim bit with a top bearing in my router to cut each side. This is also a good approach if you jigsaw the side piece so that you only have to clean up and sand the edges of one, then use it as a template to cut the second side.
Once both side panels are cut, you can cut the slot for the T-molding.
*NOTE: If the bit is not long enough to cut through in a single pass, do not extend the bit out of the collet. Simply make the first pass, remove the template, and use your first pass as a guide to cut the rest of the panel.
Step 3: Building the Frame
The distance between the side panels is 712 mm, so at this point it would be good to cut a run of the 1/2" MDF sheet exactly 712 mm wide so that you know all the connecting pieces will be the exact same width.
For the frame, you will need:
1/2" MDF 100 mm x 712 mm (Top)
1/2" MDF 435 mm x 712 mm (Bottom)
I used the Spax screws to fasten the pieces, but in retrospect I would suggest using only glue and clamps. The reason is so your screws along the edges do not interfere with the T-Molding slot you just cut. A fairly easy work-around would be to cut pieces of the T-Molding so they would go around screws, but it would be much easier and cleaner without having to do that.
This is also a good time to route/cut a hole in the back of the bottom panel where cables can run down (See photo with note).
Step 4: Cut the Remaining Pieces
Cutting the Drawer
(1) 1/2" MDF 425 mm x 661 mm (Bottom of Drawer)
(2) 1/2" MDF 425 mm x 88 mm (Sides of Drawer)
DXF file provided (DrawerSide.dxf) to CNC with button hole.
But you could easily drill the 28 mm hole for the pinball buttons, or leave them off entirely.
(1) 1/2" MDF 104 mm x 709 mm (Front of Drawer)
DXF file provided (DrawerFront.dxf) to CNC with button and USB holes.
Again, they could be drilled by hand. Larger buttons require 28 mm, smaller 24 mm, and if you purchase the mountable USB extension, it requires a 30 mm hole.
(1) 1/2" MDF 438 mm x 709mm (Top of Drawer)
2 DXF files provided (ControlPanel.dxf and Controls.dxf) to CNC. ControlPanel.dxf is the full panel outline and the cup holders (which I would suggest cutting first). Inset the lip of the cup holders around 4 mm to make sure the cup holders clear the monitor panel as the drawer slides in. Once you have the panel, you can use a corner as a reference point to then cut the button holes. HOWEVER you should flip the file and cut this panel upside down so you can cut out a place for the joystick allowing it to be near the surface and not sunken 1/2" deep (see underside of the panel photo). I'd suggest leaving around 3 mm of material to screw on the joystick.
If you are doing this entire panel by hand, all button holes are 28 mm. You can use a 24 mm hole for the joystick hole. The holes for the cup holders can be cut around 70 mm in diameter, but an extra groove is needed so that the cup holder lips fall below the top of the control panel. Not sure the best way to do this by hand, but I'm sure someone more skilled with a router would have some ideas. On the underside of the joystick you would also need to plunge route all but 3 mm of material in a rectangle 57 mm x 96 mm with the hole centered. No need to get the rectangle perfect, but if you do, the joystick will fit snugly.
Cutting the Monitor Panel
There are 3 very different approaches, so it's your call. A) If you have a large CNC, you can cut the whole panel with the provided MonitorPanel.dxf file. B) You can cut 4 different pieces (like I did) and only CNC the details on the bottom of the panel. OR C) Cut the entire panel and monitor hole by hand. Feel free to replace the CNC'd portion with your own creativity.
If you do it in 4 pieces (Approach B), you'll need the following cuts:
- (2) 1/2" MDF 342 mm x 56 mm (Sides of monitor)
- (1) 1/2" MDF 712 mm x 69 mm (Top)
- (1) 1/2" MDF 712 mm x 197mm (Bottom) Note: you will need to chamfer the bottom edge of this panel to ensure the drawer has clearance. You can make the original cut at an angle, or just route an angle after the cut as I did, explained in the next step.
If you use a single sheet for the panel (Approach A or C):
- (1) 1/2" MDF 712 mm x 608 mm (See "Bottom" note above)
And the hole for the monitor would be 342 mm x 600 mm
*NOTE: I routed out the material behind the logo leaving only a depth of about 3 mm for the wood of the logo (see the photo behind the cabinet). This is to ensure that back-lighting illuminates the logo evenly and doesn't miss any of the small details because of steep angles. I personally routed the back out first, but it shouldn't matter.
Step 5: Complete the Monitor Panel
If you cut the monitor panel as a single piece, you don't get to play with glue. If you cut it in 4, then glue the pieces together carefully (corner clamps help) on a flat surface, making sure not to over tighten because it will cause the panel to warp. Once the glue dries you can apply wood fill to the seams as needed, and sand it smooth.
If you did not cut the bottom of the panel at an angle, you will need to route the edge with a chamfer bit (See photo). Make the cut with the panel facing down (or face up on a router table) so that the front stays the same, but the material on the back edge is being cut away. The angle of the chamfer doesn't matter as long as it is at least 10 degrees.
Step 6: Assembling and Installing the Drawer
Screw through the drawer sides to the bottom of the drawer. I'd suggest waiting to add the top panel until the drawer is mounted so there is more wiggle room if the spacing (1/2") for the drawer pulls is not perfect. To ensure my drawer pulls were installed perfectly level, I used my level (which could easily be a straight piece of wood around 2" wide) to draw a straight line on the inside of both side panels. Then set my newly assembled drawer base on a small stack of papers (around 15 sheets under each side) to simulate the bottom clearance of the drawer. Once the drawer was offset by the stacks of papers, I used the same level to draw another line across each side of the drawer.
At this point you're ready to mark the holes for mounting the actual drawer pulls. Note the holes could vary depending on the drawer pulls you use. At the completely closed position, the front of the drawer side panel should be exactly 1" from from the very front of the side panel (meaning once you add the 1/2" drawer front, it will be 1/2" from the front of the side panel). The drawer pulls in the materials list had a travel length of 9 9/16" but only needed 7". The extra length allowed me to pull the drawer out enough to adjust cables without removing the drawer entirely, which was handy.
Once you've attached the drawer pulls using 1/2" screws or shorter, install the drawer. If it moves smoothly and you are happy, you can attach the top and front panels. In my case the bottom of the drawer would lightly graze the bottom of the cabinet. But not to worry, attaching the front panel straightened that out. For ease, I attached the front panel to the top first, then mounted as a single piece to the rest of the drawer. If you feel your side clearance is too tight for the top panel, you may want to use a router to shave a millimeter or two off each side. I did this by using a straight piece of board as a guide and once again used the trim bit with bearing.
Before assembling the rest of the drawer I screwed the monitor panel directly to the top of the frame using SPAX screws. No need to tighten them completely; you will be removing them again. I'd suggest one screw in the top center, then one in each side panel near the bottom of the monitor panel. The monitor panel should measure 1/2" from the edge of the side panel all the way down. To make sure of this, take (or cut) a small straight scrap of the MDF to use as a spacing guide before screwing the panel to the sides.
Before attaching the top of the panel, drop a joystick in place and mark the 4 mounting holes. Then pre-drill holes with a 3/16" bit for each joystick.
Finally attach the top and front panel using the SPAX screws. I suggest starting with the front panel and making sure to put a screw in the middle of the front panel to help support the drawer. It's probably best to attach while the drawer is installed to make sure it's installed in it's natural position. The front panel is suppose to be longer than the drawer to act as a handle when pulling out the drawer but this means you'll have to reach under and help straighten the bottom of the drawer if it is bowing so that you can screw in to the front panel while it's straight. After that, a couple more screws on the front and top should be plenty. Then test that the drawer does not graze the monitor panel when going in and out. If so, you may need to trim more off the bottom of the panel.
Suggestion: Something I did not do, and wish I had, was round (either by hand or with a router) the edge of the control panel so that your hand would not rest on a hard edge as you play.
Step 7: Test Mount the Monitor
While you have the monitor panel in place, mount the monitor to make guide holes for final mounting. To do this, first go here and print this guide: http://geldner.com/wp-content/uploads/2016/11/VESA... Make sure you do not scale or "fit to page" in the print settings. Next, line up the template to your monitor, making sure it is the right scale and template to fit your monitor.
Then cut the mounting wood.
(1) Board at least 5" wide cut to 712 mm. I had a decking board 1" x 5.5" (actual) lying around.
Once you have that cut. Measure and mark the center of the board. Then cut a hole in the center of the template and line up your mark with the hole. Then, making sure the template is level on the board, mark your 4 screw holes. You'll need M4 screws for most monitors, so you need to drill holes with a 3/16" bit.
Attach the monitor to the board. The screw length you need depends on the wood, but if it turns out to be a little too short or long, you may need to add a washer or bore it in the wood to make sure you get a snug hold on the monitor.
Next you'll need to position the monitor on the monitor panel. This is a two-person job. One person will need to play spotter while the other makes small adjustments to the board using a rubber mallet. Once you are happy, the other person can help hold it in place while you pre-drill holes (2 per side) for mounting to the side panels. (If you find it hard to hold steady, you may find pinching the side panels with a pipe clamp from the back side will help hold those fine adjustments. Tighten it once you are happy, and it should be enough tension to hold the monitor without assistance.) No need to screw this in yet since we will be disassembling it again to paint and vinyl.
Step 8: Painting
At this point, a little painting break will help boost your excitement of the final product. I just used some semi-gloss white straight off the shelf. Even though the majority of these surfaces will have vinyl, it is not completely opaque, so having a base coat of white helps the vinyl look white vs. off white. Semi-gloss or gloss will also help the vinyl stick. Remove the monitor panel; and paint it, the drawer, and the frame. Make sure to paint the sides of the drawer, as they will not get vinyl but be visible when pulled out. Some of these areas will need to be hit with paint again after everything is assembled, but it helps to get a good first coat. Also, it is important to paint the inside walls of the side panels white (removing the drawer for ease), as they will not have vinyl.
Whether you choose to do it before or after the white paint, you should also paint the inner wall of the monitor hole black.
After paint has dried, lightly sand all parts receiving vinyl (drawer top, drawer front and monitor panel) with a high grit 200+.
Step 9: Vinyl Monitor Panel & Drawer
Applying vinyl to the monitor panel is the most challenging because the vinyl will droop in the monitor hole making it difficult to keep consistently taught. One work around is to place the cutout you made of the hole back inside so the vinyl wouldn't droop. But in my case I was able to gently use a hot air gun to fix the wrinkle it caused. There are numerous youtube videos to help you with tips on applying vinyl. Word of warning though: never use a hot air gun on high! As you can see from my picture I burned the corner. Luckily I came up with the idea to 3D print and paint some player markers in the corners to cover my blunder. Sssshhhh be cool.
So if you have a 3D printer and use the player makers, you can just screw in the monitor panel behind the player markers then cover your screws. IF NOT, it gets a little tricky hence my little mistake. I wanted no visible screws, but I figured it would be easier to vinyl with the monitor panel off. So I tried to vinyl just up to the screw holes then stop, cut off the edges, screw the panel to the cabinet, wood fill the screw holes, paint, THEN finish applying the vinyl over screw holes.
Rethinking this, my suggestion would be to skip the screws mounting to the top of the frame and just vinyl the whole panel. Since you've already mounted the panel once, you will have guide holes to mount from the sides (with someone's help holding the panel steady). Then I'd do at least 1 additional screw on each side. If you'd like, for good measure you could apply a layer of glue where the panel meets the top of the frame and clamp it. However, the panel only needs to support itself so the side screws should be sufficient.
Cut away the scrap vinyl and holes with an Exacto knife or box cutter.
Step 10: Mounting the Monitor & Add Mounting Cleat
Based on my instructions in the previous step, you should reattach the monitor panel if you have not already. Then mount the monitor using the pre-drilled holes from the test mounting using some long flat head screws.
Next up, we need to cut the mounting cleats:
(2) 2x4 studs cut to 712 mm
Then cut both boards at a 45 degree as shown. One COULD cut both sides from a single board ensuring they meet perfectly, but cutting larger cleats ensures you will have room to put 2 screws in each stud when mounting on the wall.
Note: You will see in the picture of the back of the cabinet I added an additional board to 1) ensure the bottom didn't bow and 2) to have a place to screw the bottom of the cabinet to the wall. However, this caused unexpected issues because the drawer could not close all the way until I trimmed it back. And even then I had to cut holes in the board to make sure cords would not get pinched when closing the drawer. I would suggest using a simple corner brace instead https://www.lowes.com/pd/National-Hardware-4-Pack-.... It may not add much support, but it will ensure the cabinet stays tight on the wall when pulling out the drawer.
Step 11: Finishing Touches on Cabinet Assembly
To ensure the drawer is stiff when extended for play, add quick release pins. Install the drawer and pull it to the position you want to lock. Then use a 3/8" bit to drill straight through the side panel and the drawer making sure to fall between the bottom of the drawer and drawer slide. Mine fell exactly 1" from the bottom of the side panel.
Wood fill over all side panel screws and sand them smooth. Then repaint and sand again in a high grit. Next, wipe away any dust and apply the vinyl to the side panels. Luckily by now you are a pro and this is the easiest vinyl job. You will also want to cut the holes in the vinyl for the quick release pins. After this I couldn't resist admiring the cabinet with the drawer in. As you can see from the picture, I also mounted the USB plugs since they had just arrived.
Next is the T-Molding, which is very rewarding. Just go slowly tapping with a rubber mallet along the way. Look here for some tips on applying the T-Molding, particularly on the curves.
Step 12: Creating the Logo Lighting and Speakers
I 3D Printed (See attached .STL file) a box for the lighting, but it could be made of balsa wood or even cardboard since the lights really don't get warm. Internal box dimensions are 70 mm x 240 mm. Next I uploaded the provided sketch to an Arduino micro pro, but any version of Arduino should work. Just make sure you install the Fast LED library in the Arduino software. The sketch is setup assuming you will have 42 LEDs and use pin 6 as the data pin. If you don't feel like dealing with Arduino or don't care about the RGB lighting you could simply get a USB powered strip of white LEDs. I found the adhesive backing on the strip was not enough so I added some thin strips of duct tape.
Important tip: when mounting the lighting pinch a strip of some translucent paper (or possibly regular paper if you turn up the brightness in the sketch) between the LED box and the back of the monitor panel. This will help diffuse the light and create a more even glow across all the letters.
I just pre-drilled and used short 1/2" wood screws to mount the box.
Once again I put my 3D printer to work with some VERY quickly designed mediocre speaker holders. But once they were mounted I just added a rubber band to hold the speaker firmly to the holders. The speakers will be plugged in to the monitor for audio. Again, use 1/2" wood screws to mount the holders.
I'm not going to speak on wire management because I'm pretty sure most people could do a better job than I did.
Step 13: Installing and Wiring Up the Arcade Controls
First, install the joystick using needle nose pliers to grab the nut on the underside. It will be awkward because of the narrow space, but it can be done. And don't forget to add a locking washer to make sure they don't loosen over time.
For the most part, the wiring the buttons is just plug and play (see wiring photos provided with the controls). However, because I added the pinball buttons to the side, I had to splice and solder them to the player 1 left and right trigger buttons. Pinball games use the triggers by default, so solder them to those buttons already mapped and they will work as redundant triggers. This also give flexibility allowing the player to play how they prefer. See the attached wire diagram of the splice. Just make sure you have plenty of extra wire for the right pinball button to reach from the other side of the drawer.
Attach the wiring to each button before pushing it through the hole, as it is much easier than wiring once in the hole. Then work from the front of the drawer to the back as you add buttons to make your life easier. The exact ports you plug the buttons in to does not matter since you can re-map them, but 2 things to keep in mind:
- I'd suggest wiring the "A" button to the first slot so you can navigate the menu to reach button mapping.
- Wire the two control boards identically. When you map one in the software, it will map them both. So if they are not wired the same, you can not map them to be the same.
I didn't want the visible screws on top to detract from the look so I spent extra to get anodized aluminum screws in red and blue. http://www.probolt-usa.com/aluminium-dome-head-bol... But this is a very optional expense.
Step 14: Mount, Wire and Admire
You can now mount the cabinet. As previously mentioned, I would suggest using a corner brace to screw the bottom of the cabinet to the wall providing extra stability, but it is optional. Next attach the drawer and plug everything in. See my power and USB wiring setup as picture with notes.
Important note about the USB ports: I used a USB hub that had 4 additional plugs, which would have been enough without the fancy extension cord with USBs. However, I found that if I plugged in controllers that charged via USB, the Steam Link USB could not provide enough power for all 4 at once and would cause the controllers to charge erratically and the arcade controls to flicker. So you should either have an alternate place to plug in the USB powered lights and speakers, or use a powered USB hub instead of a plain one.
Now you are ready to shove your wiring in the drawer and boot up your new arcade.
Step 15: Setting Up the Steam Link
In theory you could place this arcade anywhere and allow it to wirelessly connect to a PC running steam. But this will only work well in perfect conditions and will more likely lead to a frustrating and disappointing experience. Instead, you have 3 good options that will depend on where you want the arcade in your house.
- Directly connect both your PC and your steam link to the router via Ethernet.
- Connect the steam link directly to the computer via Ethernet. (I haven't tried, but I read it works)
- And my option of choice was to use a Powerline network adapter. (ex. https://www.amazon.com/TP-Link-Powerline-Adapter-...). In my case I actually have a dual port Powerline adapter and both my computer and arcade are plugged in to the same adapter. But I have another steam link connected to the TV on the other side of the house and have had no issues. Just to give a high level on how this works, you plug the Powerline adapter into an outlet near the router and run an Ethernet cable directly between them. The Powerline adapter uses the electrical wiring in your house to transmit the signal to another Powerline adapter plugged in elsewhere in the house. And, assuming your house has decent wiring, it should work just nearly as well as being hard wired. (As I'm writing this I am wondering if there is any reason you couldn't just ignore the router and connect one Powerline for your PC and one for the arcade so it would act as if they were just hardwired together. If someone reads this and can confirm Yay or Nay, I'll update the post.)
First order of business should be mapping the controls to help navigate the menus. See the attached photo for how the buttons are intended to be mapped.
Next, if you haven't setup the connection to your PC's Steam account, you should go to "Add Computer" and follow those instructions before preceeding.
Once connected, I'd recommend running a network test. My goal was to ensure there is no frame loss. I also adjusted the Streaming setting to "Beautiful" rather than the default "Balanced" and have still had no frame loss.
Steam Link should be good to go.
Step 16: Using Steam Big Picture Mode
I'm sure most Steam users are familiar with Big Picture mode, but it turns out it actually caters to arcade controls pretty well. The Steam / XBOX button is VERY useful for the following features:
- Press it any time to bring up the Steam overlay to adjust game specific control mapping, or to exit a game.
- Press and hold the steam button then use the joystick up and down to adjust the volume of the speakers. This allowed me to skip having some external way of adjusting volume (Thanks Valve).
- Press the steam button and the select button simultaneously to bring up an onscreen keyboard. Very useful for those games that insist you type in a name for your high score (looking at you Pinball FX3).
- There is actually an interface where you can customize what every control maps to when the Steam button is pressed. Go to Settings > Controller - Base Configurations > Steam Button Chord configurations (see path in photos). Also you can see the photo of what the default configuration is.
Next, how to organize and browse your arcade friendly games.
Organizing is pretty straight forward. Just go through your games (either on your PC or through the arcade) and set the category of all the games to a new category called "Arcade". Then when looking at your library in big picture mode, you can hit "Y" to bring up your filters and select Arcade. Figuring out which games are arcade friendly is the tricky part, which I'll cover in the next step.
Step 17: Building Your Arcade Game Library
If you are a fan of Humble Bundle, chances are you already have a bunch of games that are Arcade friendly, or you have them in your Humble Bundle account waiting to be unlocked. I added about 40 arcade friendly games this way alone.
Before I go into game compatibility, I want to point out that you can always configure the controls for each game independently. So any game that is not "compatible" could be with a little customization of the control scheme. However, nearly every game below should be compatible as is.
I tested about 100 games myself just to confirm if they would work well. The issue is almost always to do with twin sticks, because obviously we only have one. So here are my tips on what to avoid, what to look for and my current (but nowhere near comprehensive) list of approved games.
What to avoid:
- First Person... Anything.
- Twin Stick arcade shooters (Miami hotline style)... Bummer I know. But note that in some simple cases, you can map the A,B,X and Y to be the 4 axis but this will take some practice to get used to.
- Games that do now have full controller support (This is not a hard rule as sometimes using the keyboard configuration for the controller works, but it does lower your chances.)
- Racing games requiring trigger sensitivity. Our triggers are just buttons and don't include a range of motion.
What to look for:
- Fighting games
- 2D platformers
- Vertical and horizontal scrolling arcade shooters (Planes or Space ships, lots of bullets on screen)
- Beat 'em ups (and Run and guns that don't have separate directional aiming such as metal slug)
- Any games that will require heavy use of the main buttons (A,B,X or Y). Chances are these will not also use the right joystick.
Here is a list of tested games that work great. I put a * next to some of my personal favorites.
- Absolute Drift
- Arcade Game Series: Dig Dug
- Arcade Game Series: Galaga
- Arcade Game Series: Pac-Man
- Armed and Gelatinous* (Great multiplayer coming out soon, currently have a Beta)
- Beatbuddy: Tale of the Gardians
- The Binding of Isaac: Rebirth*
- Bit Blaster XL
- BIT.TRIP Presents... Runner2: Future Legend of Rhythm Alien
- Brawlhalla* (Free to play)
- Castle Crashers*
- ClusterPuck 99
- Dimension Drive
- Double Dragon Neon*
- Dynamite Jack
- Geometry Wars: Retro Evolved (Mapped RS to A,B,X & Y)
- Giana Sisters: Twisted Dreams
- Guacamelee! Gold Edition
- Hollow Knight
- Invisigun Heros* (Hilarious multiplayer)
- Joe Danger 2: The Movie
- JumpJet Rex
- Knight Squad
- Mortal Kombat X*
- Ninja Pizza Girl
- Pac-Man 256
- Pac-Man Championship Edition DX+
- Pinball FX3*
- Rampage Knights
- Rayman Origins
- Road to Ballhalla
- Rock of Ages
- Rocket League (Not ideal with arcade controls)
- SEGA Mega Drive & Genesis Classics*
- Shank 2
- Shovel Knight: Treasure Trove*
- Sky Force Reloaded*
- Song of the Deep
- Stardust Galaxy Warriors
- Stories: The Path of Destinies*
- Super Galaxy Squadron EX Turbo
- Super Meat Boy
- Syder Arcade
- Team Racing League
- Timberman (Suggest mapping left and right to the pinball buttons)
- TowerFall Ascension* (Great multiplayer fun)
- Ultimate Marvel vs. Capcom 3*
Here is a list of games either on my wishlist or in my library that I haven't tested, but I believe should work (Keep in mind Steam's return policy is great now, so buying a game to try is risk free):
- A Boy and His Blob
- Atari Vault
- Battleblock Theater
- Blast Lander
- Bud Spencer & Terence Hill - Slaps And Beans
- Dead Cells (Still Early Access, but looks amazing)
- Dust: An Elysian Tail
- Dwarven Brawl Bros
- Freedom Planet
- ibb & obb
- Jet Set Knights
- Mark of the Ninja
- Metal Slug 3
- Mortal Kombat Kollection
- Move or Die
- Orbit XL
- Ori and the Blind Forest
- PewDiePie: Legend of the Brofist
- Retro Game Crunch
- Rivals of Aether
- Rogue Legacy
- Salt & Sanctuary
- Shadow Puppeteer
- Sonic CD
- Street Fighter V
- The Bug Butcher
- Thomas Was Alone
- Titan Souls
And even this list is a drop in the bucket of the games that could be arcade compatible. Please let me know if you have any suggestions for games that you think would work well and are different from the games listed here.
Step 18: Optional Finishing and Final Thoughts
To clean up the cords, I used this kit: https://www.amazon.com/gp/product/B0015EDVVU/ref=o.... Which was very easy and looks great. Also, I decided to add some chairs which turned out to be a great addition, both functionally and visually. But best of all they were cheap on amazon: https://www.amazon.com/gp/product/B01N7P8X44/ref=o.... Finally, for additional players, you can of course use the USB plugs to add XBOX 360 controllers, but I choose to add 8bitdo's NES30 Pro controller because the Bluetooth works perfectly with the Steam Link and it continues the theme of retro feel updated to modern design. As an added bonus in my case, the computer is close enough to the arcade that the 2 controller players could sit at the computer screen while the other two are players are using the arcade because the game is being mirrored on both monitors.
Overall the project was a blast to work on with very few hiccups. I'm sure there will be comments about the arcade hardware used, or the methodology of the cabinet assembly. In both cases I learned later that my build was pretty atypical. But as you can see the cabinet worked out despite my lack of research on the subject and we've already had quite a few hours of fun on it. I will be redoing the control panel to place the buttons closer together and round the front edge slightly, but those things were already adjusted/talked about for this Instructable, so you get to learn from my mistakes.
I considered building and selling these, but the only reason I was able to build this was because of the fantastic MPCNC design released to the public for free by Ryan with v1engineering.com. So it only seemed fair to pay it forward. Thanks for reading!
We have a be nice policy.
Please be positive and constructive.
How much would it cost if you do not have the tools?
Not sure I can give a straight forward answer on this one as tool prices very drastically by brand. Also it depends on if you were to willing to buy a kit to build the CNC I used vs. just buying a CNC machine vs. doing everything by hand without a CNC. The most important tools I used were a Table saw (available as low as $99), Router ($70+) and the MPCNC machine (around $460 total if you don't have a 3D printer) and a power drill/screw driver ($30+). And the 4 different bits used Probably totaled $50. I'd GUESS depending on your approach to start from nothing could cost between $800 - $1400+ depending on your approach and tool choices.
What is the total price to buy this all?
Amazing. Approximately how much was the total cost?
I'd probably guess around $400 if you already have the tools. The big ticket items were the Monitor ($175), the arcade buttons ($80 with additional buttons) and the vinyl ($30 after shipping). But obviously I wasn't focused on cost savings since I bought 4 times the amount of T-molding needed just to have 2 colors and spent $16 on 8 screws so they would be colored. I'd think a person really looking to do it cheaply shop around and easily get that down to $300 with little to no sacrifice.