Robotron: 2084 is now in the games archive. It's a native C11/SDL2 rebuild of the 1982 Williams arcade classic. It runs on Linux handhelds through PortMaster, on x86_64 desktops and the Steam Deck, and in your browser through a WebAssembly build.
// THE GAME
Eugene Jarvis and Larry DeMar created Robotron: 2084 for Williams Electronics in 1982. You play the last hero, trying to save the last human family from waves of robots. One stick moves you and the other fires, and that twin-stick design shaped arcade shooters for decades afterwards.
// THE PORT
The port is based on the robotron.hatch.org web remake. That remake's waves, enemy pacing, spawn positions and random number generator were traced in the arcade ROM and checked against MAME. The native version keeps that accuracy and drops the browser stack for plain C and SDL2.
LANGUAGE ... C11 + SDL2 (2.0.10 or newer)
TARGETS .... aarch64 handhelds (ArkOS, ROCKNIX, muOS, Knulli via PortMaster)
............ x86_64 Linux, Steam Deck, Windows, HTML5/WebAssembly
TIMING ..... fixed 60 Hz, frame-quantised like the arcade
TESTS ...... ROM PRNG checked against 1000 outputs captured in MAME
LICENSE .... Apache 2.0 (source code only)
The test suite runs gameplay through all 40 waves and compares screenshot hashes from scripted runs. It also checks the PRNG against output captured from the arcade itself. There are optional graphics presets too: F3 cycles them, F4 toggles glow and F5 toggles scanlines.
// CONTROLS
MOVE ....... left stick / D-pad ... W A S D
FIRE ....... right stick or A/B/X/Y ... arrow keys
1P START ... Start ... Enter
2P START ... L1 + Start
QUIT ....... hold Select + Start ... Esc
// BUILD IT YOURSELF
The source is on GitHub on the sdl2 branch of monkeyx-net/robotron. You need CMake 3.13+, a C11 compiler and the SDL2 development files:
git clone -b sdl2 https://github.com/monkeyx-net/robotron.git
cd robotron
cmake -S . -B build && cmake --build build -j
build/robotron --extract /path/to/robotron.zip
build/robotron --windowedThe source tree contains no game data. The wave tables, timers and other data come from your own MAME robotron ROM set, which the --extract step reads. Without it, the attract screens run but you can't start a game.
// PLAY IT
Head to the games archive and click the Robotron cover to play in your browser. Bug reports and pull requests are welcome on GitHub.