Final Fight: creating a replica arcade cabinet of a beat ‘em up classic

Video game enthusiast Sergio Gargallo has been making replica arcade cabinets in his spare time for more than 15 years. He talks us through the process for creating his latest cabinet—a replica of beat ‘em up classic Final Fight—using Affinity Designer on desktop and iPad.
Sergio’s Final Fight replica arcade cabinet

Since I was a child growing up in the 80s and 90s, I’ve been heavily interested in computers and videogames. I spent a lot of time (and money!) in arcades and my dream was to have an arcade machine in my living room.

At the age of nine, I started to learn how to program and in the following years, I began to code my own games and applications. In the early 2000’s I received a BSc in Computing and started to work for a Digital Media Agency. At this time, I discovered some websites in which people had built their own arcade machines and joysticks. Inspired by this, in 2005 I built a DIY game controller with arcade parts and shortly after I built my first arcade machine.

Since then, I’ve been creating arcade cabinets for my home and evolving my manufacturing method. In the beginning, I would draw the cabinet shapes by hand onto wood and cut them out using manual tools. Later, I discovered CAD software, which allowed me to design the cabinets at 1:1 scale. Once the designs were finished, I printed them to make paper patterns which helped me to work with the wood. This year, I built a CNC machine that cuts the wood for me and gives a truly professional finish.

“My goal is to create my own home-arcade saloon or ‘Man Cave’, with all the cabinets I’ve built and intend to build in the coming years”

My goal is to create my own home-arcade saloon or ‘Man Cave’, with all the cabinets I’ve built and intend to build in the coming years while evolving my manufacturing method to make each cabinet at least slightly better than the last.

I thoroughly enjoy this process and I am delighted to share the making of my latest cabinet—a replica of Final Fight—with you.

Step 1: Drawing out the shape

As I said, one of my main goals is to create my own arcade saloon. The classic arcade cabinets are too big for my home, so this year I started to build my cabinets at 3/4 scale inspired by the Arcade1UP machines. Building them at 3/4 scale ensures everything fits with minimal adaptations and that the cabinets are more convenient to move and store.

To create the shape I use the vector tools in Affinity Designer. The software allows me to work at 1:1 size of the final product, so it is easy to make decisions about the shape to allow the machine to be played properly by an ‘average size’ person. For example, if you simply resize the original cabinet to 3/4 size, the marquee will stay in the middle of the screen and in front of the eyes of the person who is playing, so some adaptations are needed, like pushing the marquee backwards to allow the screen to be viewed properly.

Instead of creating the shape from scratch, I wanted to create a replica of the original Final Fight cabinet from Capcom, so I surfed the Internet and got some pics of the original classic cabinet, based on the Dynamo HS-1.

I drawn out the shape and scaled it down to 3/4 size, then made the necessary adaptations to make the cabinet playable, without losing the essence of the original shape.

Step 2: Making sure everything fits

When the shape is created, it’s time to test if it will work or not. To do this it is necessary to draw all the internal wood stocks in their respective positions and calculate their sizes according to the shape and real-life dimensions. Affinity Designer helps me to be accurate in this part of the process which is important as the CNC machine will cut the wood stocks to actual size. If something doesn’t fit, it’s necessary to return to step 1 to rethink the shape.

Step 3: Adding CNC joints and internal parts

Once all the wood stocks are in their relative positions, it is necessary to create the joint between them and the shape. These joints ensure the stocks are correctly aligned, and once again, Affinity Designer allows me to be as accurate as possible, creating with a tolerance of .5mm.

At this moment, all the internal stocks have to be designed and I do this at 1:1 scale with all the components the cabinet will have: speakers, joysticks, etc.

Step 4: Preparing to CNC

Now I have designs of all the wood stocks and they are ready to be made. The CNC I’ve built allows up to 122x80cm wood stocks, so with Affinity Designer’s Artboards, I can layout the necessary items.

I then export the drawings as SVG files and upload them to Carbide Create, the software that converts them to GCode. That is the coding format that my Arduino based CNC is waiting for.

In this software, I can load the original shapes designed in Affinity and extrude them ready for carving out the wood stocks:

The result is a .nc GCode file that can be sent to the CNC.

Step 5: Woodworking time!

This is the easy part (if all the previous parts were done correctly). I simply load the wood stock into the CNC, load the file, start the router and some minutes later…voila! Everything is cut.

Once the machine has finished it’s like you have gone to Ikea and purchased some flat-pack furniture. After some hand made internal joints, all the wooden parts of the cabinet are ready to assemble with screws and glue.

Step 6: Fitting the internals

Once the cabinet is finished, it’s time to fit the internal elements. Because of the precision of the CAD software/CNC machine, every item should fit into the holes created for it. This part is child’s play if all the previous steps are done correctly.

Step 7: The artwork

This cabinet is a replica of the Capcom’s original Final Fight, so I didn’t need to create the artwork from scratch. I found a site with high-quality scans of the original artwork that just needed to be adapted to fit the dimensions of the cabinet.

The most difficult part was resizing the marquee. I needed the help of Affinity Photo in order to make it wider:

The original image
Adapted image

Once finished, it was printed then cut out by CNC:

Step 7: Wiring and electronics

The cabinet is almost finished. In this part all the internal components needs to be wired and fixed in the correct positions. The mainboard of this cabinet is a Raspberry Pi 4, a little computer with enough computing power to bring back all the games that I loved in the late 80s and the beginning of the 90s (and more!).

A personal version of RetroPie operating system is loaded into it and the arcade cabinet is ready to be played!

Here is the finished cabinet in my home…

The finished cabinet