Since every Arcade board is different it can depend on the power of the system, some less powerful boards used pure assembly to write the game code and others used a higher level language such as C.
For example the 1990 game Klax was written in C according to Greg Omi who was sent the source code for his Atari Lynx port of the game 1.
This is further confirmed in a 1990 interview with original designer of Klax Mark Stephen Pierce2:
“All Atari coin‑ops today are written in C ‑ that’s the most popular language with the programmers here, I guess. The actual programming work is carried out on standard terminals, and then transferred into our VAX machines where it’s compiled and compressed. Finally it’s downloaded from there through an EPROM burner and onto the hardware for the game that the engineer has put together. Every coin‑op’s hardware is different partly because each game is different, and partly as a form of copy protection.
In the 1990 interview with Mark Stephen Pierce the following was published (in “The One” magazine) 2:
Mark’s graphics are produced on a PC ‑ but using Atari’s own specially written utility: RAD (Rendering and Animation Design). “It’s basically a standard paint tool with some animation facilities. I design and draw on the PC before uploading everything to the VAX to be compressed.”
In the early days of arcade gaming, development teams needed to be highly specialized. Unlike today’s streamlined development environments, both hardware and software had to be built from scratch for each new game. This required expertise across a wide range of disciplines, from custom chip design to game logic and audiovisual presentation.
As arcade hardware evolved and became more standardized—often borrowing from or influencing console architectures—the hardware workload decreased slightly. However, the software and design demands increased, calling for larger, more diverse teams to handle game mechanics, visual design, sound, and player experience.
A great example is Taito’s groundbreaking 1987 arcade title, Darius, which employed a team with clearly defined roles:
For a deeper look into the development of Darius, check out this excellent translated interview on shmuplations:
Darius I & II – 1986/89 Developer Interviews – shmuplations.com
In 1990 Atari developer Mark Stephen Pierce had the following to say about the length of time for developing an Arcade game:
An Atari game takes, on average, around a year to produce ‑ but then an average can come from two extremes, which is certainly in Mark’s case - Escape took over two years to put together, whereas Klax was written in just four months!
The challenge with Arcade games is they are expensive to produce and need to be visually appealing, easy to grasp, and have a carefully balanced difficulty level. Challenging enough to be engaging but not so hard that it drives players away or so easy that it allows endless play on a single coin.
So prototype Arcade games were placed into various arcades and player behaviour was closely monitored to strike the right balance of difficulty and engagement. The Atari games even had a video recorder built in so that the development team could watch how players played the game, along with a computer that tracked the money made for the game 2.
Taito put together a 250-page Hardware Manual for new developers who joined the team to learn how to create an Arcade game from scratch using RAM/ROM/CPU chips and a standard TV. This was before the internet and even before there were many books on the topic when the industry was very new and companies didn’t want to share their “trade secrets”.
With the Taito Hardware Manual for reference, new engineers were sent out to Akihabara to get some ROM and RAM chips and a CPU, solder them all together onto a test PCB, then write a brick breaker game.https://t.co/huXblA0rv4https://t.co/CXlnKUPHkH pic.twitter.com/Yip45KbLIE
— Taito Corporation (@TaitoCorp) January 19, 2024
They used an In-Circuit Emulator to debug the programs they were creating as can be seen in this diagram:
At GDC 2014 Eugene Jarvis gives an excellent presentation about the development of Robotron:
They used the Gimix 6809 as their development system:
As for the software side, they had to write their own text editor and assembler, they didn’t comment or use tabs as every byte that was used in memory was precious:
In Retro Gamer 28 there is an excellent article from Archer Maclean where he went to a presentation by Eugene Jarvis and this is what he had to say 3:
He went on to describe that his code spilled over into multiple files on more than one floppy, and yet there were no multi-floppy code-linkers so he devised the exact same bizarre jump vector solution I had devised to allow non-linked blocks of code to communicate. Then he described how he had to write ‘utilities’ to edit tiny bitmaps drawn on graph paper and entered as hex, and how to get around the one hour compile times by editing memory directly and disassembling in your head, and how to make interesting sounds from 30 bytes of data, and how to write ultra-tight optimised machine code to move small bitmaps around a screen fast, and off course, cram it all into a 32k ROM.
The source code for the classic arcade game from 1981 Defender has been released on Github: mwenge/defender: Defender(1981) by Eugene Jarvis and Sam Dicker
It is written in a variant of the Assembly language specifically for the Motorola 6809 CPU 4.
The physical board had 11 ROM chips on it that would need to be flashed with the assembled result of that source code 4.
Defender was developed by Eugene Jarvis and Larry DeMar two programmers who utilized algorithms to great effect rather than relying on artists, one such example is the classic explosion particle effect. Defender became one of the highest grossing arcade games in history 5.
The first issue of the Magazine Wireframe contains a python (pygame) code snippet to re-create the classic particle explosion from Defender 5. You can find that code on github too: https://github.com/Wireframe-Magazine/Wireframe-1/blob/master/explosion.py
Even as far back as June 2000 MAME was being advertised in Japanese magazines (Arcadia Issue 1):