Awesome Programming Games
An ultra mega giga curated list of programming games
(N.b.: Only readily playable games will be included here. This means that
original code is available (as well as a separate emulator if needed), or one
or more reimplementations, or both. Examples such as
Struggle are
all well and good but are excluded by this criterion. Additionally there have
to be at least some scraps of documentation. This would appear to exclude a
game like 'bot. Lastly, I have now specified
as a response to a question on a pull
request,
namely "What qualifies a game as being gamified?" that "The application or
site should have many of the trappings of a traditional computer or video
game." Currently, a number of entries included in the README.md do not fit
this criterion and will eventually be moved to a separate
awesome-coding-challenges README.md.
Classic Games (in Order of Release)
| Title | Description and Notes |
|---|---|
| Darwin (1961) | A historically significant game and experiment in artificial life first implemented on an IBM 7090 at Bell Labs. Players create machine code "organisms" with the twofold goals of becoming the most prolific replicators and wiping out all of their foes. |
| RobotWar (1970s) | A programming game originally written for the legendary PLATO system. (For more information on PLATO, consider picking up The Friendly Orange Glow by Brian Dear.) The original object of the game was to use a register-based language apparently inspired by assembly and BASIC to control the movement, radar and gun of a battle robot and be the last standing out of two. A later Apple II release available on the linked website expanded the number of contestants to as many as five. There is even a Clojure reimplementation, though it seems incomplete. |
| Color Robot Battle (1981) | A game with a similar premise as RobotWar, though competing robots are now armed with missiles as well as a laser gun. In addition, the language created for this game appears to be partially inspired by Logo. The retrocomputing site Color Computer Archive hosts the original TRS-80 binary as well as a PDF of the original manual. |
| Rocky's Boots (1982) | An educational logic puzzle game that teaches the fundamentals of digital logic circuits for ages 9 and up, which received wide acclaim. The Internet Archive has the manual corresponding to the Apple II binary found at the title link. |
| Robot (1983) | Another RobotWar derivative with a language inspired by assembly and BASIC written for the somewhat obscure early home computer known as the Sol-20. Robot innovates on the existing formula with the addition of shields and cloaking devices to protect the fighting robots and the addition of land mines, electric fences and blockades on the battleground. The title link has binaries written in a text format with the extension of .ent, which are to be used with the emulator, called Solace. |
| Core War (1984) | Another game in the vein of Darwin, which is a bit more refined as I understand it. The website hosts a number of resources on Core War, including executables and documentation, along with a 1998 Usenet post from rec.games.corewar that draws more concrete comparisons between the two aforementioned games than what I can provide here. |
| DROID (1984) | A rather obscure one for an obscure family of computers, the HP-3000 series. The game itself is written in Systems Programming Language, while the robots are programmed with a stack-based language called "D-code". |
| Robot Odyssey (1984) | The sequel to Rocky's Boots and even more challenging! |
| Arena (1985) | Another one where robots duke it out on a shared battleground. The language appears to be a fairly pure assembly language without too many other influences. |
| Crobots (1985) | The "C" is pronounced like in "C programming language", because this variant of the battling robot formula uses a subset of C as opposed to an assembly variant. In addition to the title link there is also a dedicated Crobots website. It includes a somewhat buried HTML-formatted manual. |
| P-Robots (1988) | Inspired by Crobots but players use Pascal to program contestants. Includes various embellishments on the basic formula, including the option of teams instead of a battle royale. |
| Omega (1989) | Automated tank battler with a campaign that requires the player to overcome increasingly difficult challenges (while being allowed increased budgets at each stage) until they unlock the titular "omega" unlimited budget for tank design. As in several previous titles, team tactics are possible. The tank language was subject to intense quality testing during development and is a BASIC variant, easing the difficult task of programming the tanks. The website includes dozens of tank designs. |
| Jintori (1990) | "Jintori is played on a 180×180 grid by programs written in an assembly-like programming language. The aim of the game is to surround as much territory as possible." It appears to be loosely inspired by the game of Go but I can't tell you more because the documentation is in Japanese. |
| Battle Droids (1991) | Another, perhaps lesser-known tank battler using BASIC. The documentation seems quite excellent. |
| ARobots (1992) | Tank battle royale using 8086 assembly. Documentation is fairly scant but several pre-built robots are available. The available primitives include a random number generator, reminding me of how science fiction author Fred Saberhagen's fictional killing machines known as "Berserkers" use random numbers based on radioactive decay to make their behavior unpredictable. |
| AT-Robots (1992) | Tank battler using assembly-like with languages with a few interesting nuances in addition to the standard milieu, such as the need to manage heat. Website includes the results of past tournaments and the source code of robot tanks entered into said tournaments. |
| Combat Zone (1993) | Shareware robot battler for Windows 3.x. Language possibly inspired by Logo. |
| CoreLife (1993) | "Programs are written in a two-dimensional assembly-like language. Each instruction has one or two arguments and direction flags to indicate the flow of control." An influence on the later TIS-100? |
| TclRobots (1994) | Like Crobots but with Tcl instead of C. Both written by the same author, Tom Poindexter. |
| TORCS (2001) | The Open Racing Car Simulator, developed since 1997 and usable both with human driving and the automated sense relevant here. Has been used in numerous research papers since its release. |
Recent Games, Traditional Software
Tomorrow Corporation (in Order of Release)
| Title | Description and Notes |
|---|---|
| Human Resource Machine | Rather than being a tank battler, this newer title expects you to use a toy assembly language to match inputs to expected outputs in a cute corporate office environment. Having played this game myself, I liked the idea but the lack of labeled subroutines and resulting visual spaghetti code really started getting to me after level 20. |
| 7 Billion Humans | The sequel to Human Resource Machine, but with parallel computing! Haven't played this one yet. |
Zachtronics (in Order of Release)
(N.b.: I am not including all Zachtronics games but only those that fall under the "programming" rubric. I have now excluded a number of titles such as SpaceChem.)
| Title | Description and Notes |
|---|---|
| KOHCTPYKTOP: Engineer of the People | The title appears to be Cyrillic but those are really just capitalized ASCII characters that match their Cyrillic counterparts. Presumably pronounced "CONSTRUCTOR". The game is based on designing integrated circuits based on specifications provided by a manager in what is presumably some sort of Soviet factory, with an overarching plot somehow involving a mysterious connection to communism. |
| TIS-100 | 80's-themed assembly language puzzle with multiple independently programmable nodes capable of communication with each other, apparently a sort of MIMD architecture. Features extensive manual that reads "like the real thing". |
| SHENZHEN I/O | Build increasingly complex digital logic circuitry, this time not for your Soviet boss, but as a worker for a private firm in the "electronics capital of the world". Shares the same sort of extensive, realistic documentation present in TIS-100 and includes a solitaire minigame. |
| EXAPUNKS | Multi-agent programming in assembly with a strong cyberpunk flair. Users have likened the overall architecture to multi-threading or even the more advanced model put forward by Erlang. |
Others
| Title | Description and Notes |
|---|---|
| Adventure Land | Indie MMORPG with optional automation of tedious grinding by programming player characters with JavaScript. (Appears to be abandoned.) |
| Algo Bot | Rescue a colony ship's mission in space using a visual programming language. Users have claimed to experienced various difficulties including with a buggy Linux native version. |
| AntMe! | Learn to program by automating computerized cartoon ants in C# or VB.NET! Much documentation appears to be only available in the original German. |
| Automachef | Meet the demands of a hectic commercial kitchen the best way anyone can: with programming! There are two related assembly languages used in game with some helpful visual elements for neophytes. |
| Autonauts | Build and, of course, automate a colony of agriculture and industry using a Scratch-like visual programming language. |
| Bashcrawl | "Learn Linux commands by playing a simple text adventure." |
| Battlesnake | Multi-player "Snake" game with the standard goal of becoming a bigger snake by eating but also of avoiding other snake bots. Game is entirely language-, platform- and algorithm-agnostic and demands only that you implement a web server that implements the game's API, which is used to map the state of the board to the next move at any given time step. |
| Botomy | RPG-style game with free-for-all and cooperative survival modes, also driven by a technology-agnostic API approach. |
| Bug Brain | Automate a digital ladybug and perform other experiments by building neural networks. Since exclusive OR (XOR) is one of the examples it appears safe to assume these aren't only perceptrons depicted on the website. |
- CHR$(143)
- Code E.D.
- Codemancer
- Code Hero
- Colobot
- Colobot: Gold Edition
- Comet 64
- Craftomation: Programming & Craft
- Crescent Loom
- Cyber Sentinel
- Damn Vulnerable Web Application
- DeepestWorld
- Debugger 3.16: Hack 'n' Run
- Dreamjob: Programmer
- Duskers
- Else Heart.Break()
- Exception
- Exploit Exercises
- The Farmer Was Replaced
- git-game
- git-game-v2
- Google Gruyère
- Gladiabots
- Glitchspace
- GNU Robots
- Graphomata
- Great Permutator
- Grey Hack
- hackmud
- Hacknet
- Hack 'n' Slash
- Joy of Programming
- Kodu
- KnotBot
- Logic World
- LogicBots
- The Magic Circle
- Marvellous Inc.
- Mechanica
- MHRD
- Midnight Protocol
- MindRover
- Minecraft Hour of Code
- Move Code Lines
- NebuLeet
- Neon Noodles
- Oh My Git
- One Dreamer
- Pony Island
- Prelogate
- Prime Mover
- Pure Logic
- Quadrilateral Cowboy
- Rec Room
- Robo Instructus
- Robocode
- Robocoder - Dwarf Mountain
- Rogue Bit
- Roody:2d
- Sand:box
- Scalatron
- Screeps
- Selfless Heroes
- [the Sequence]
- SIC-1
- Silicon Zeroes
- Stone Story RPG
- Stormworks: Build and Rescue
- Super Markup Man
- Swarm
- Swift Playgrounds
- ToonTalk
- trAInsported
- Turing Complete
- TwilioQuest
- Virtual Circuit Board
- Uplink
- while True: learn()
Recent Games, Mobile
- Cyber Sentinel
- Gladiabots
- Human Resource Machine
- LightBot
- LightBot Jr
- Make It True (Android only)
- Perfect Paths (iOS only)
- Rec Room (iOS only)
- RoboZZle
- SpriteBot
- Swift Playgrounds (iPad only)
- 7 Billion Humans (iOS only)
Recent Games, Browser- or Server-Based
- AI Cup
- Artifacts MMO - Artifacts is a Sandbox MMORPG where you can use any programming language to control your characters with our API.
- Bitburner
- BOX-256
- Battlecode
- Blockly
- Carnival
- CodeCraft
- CSS Diner
- CTF Learn
- CheckiO
- Code Games
- Code Monkey
- Code.org
- CodeCombat
- Codingame
- corewars8086_js
- Cube Composer
- Elevator Saga
- Flexbox Defense
- Flexbox Froggy
- Flexbox Zombies
- generals.io
- Grid Critters
- Grid Garden
- Hack The Box
- hackable.ca
- hacker.org
- HackThisSite
- Hacker 101 CTF
- Halite
- Hellbound Hackers
- Imagegram
- io.netgarage.org
- JavaScript Fight Club
- Komodo Consulting CTF
- Leek Wars
- LogicBox
- Manufactoria
- Microcorruption
- Much Assembly Required
- NandGame
- OverTheWire
- picoCTF
- Practice CTF List / Permanent CTF List (a comprehensive list of CTF challenges specifically; have not examined every entry; see also this Stack Exchange thread and this Reddit thread)
- Programming Game - A realtime survival MMORPG played via websockets. There's a super simple in browser demo that showcases how to play.
- pwnable.kr
- pwnable.tw
- Regex Crossword
- RingZer0 Team Online CTF
- Robot Rumble
- RoboZZle
- Ruby Warrior
- Schemaverse
- Service Workies
- ShortcutFoo
- Smash the Stack
- SpaceTraders API (RESTful API MMO Space Trading game)
- Tic-Tac-Toe
- Tynker
- Untrusted
- Vim Adventures (n.b.: $25 for six months access to the full version)
- VimGolf
- Vindinium
- VulnHub
- W3Challs
- WarriorJS
- WeChall (not the same as the other, similar-sounding entry!)
- XSS Game
Recent Games, Console
- Baba Is You (Switch)
- Carnage Heart (PlayStation)
- Dreams (PlayStation 4)
- Exception
- 7 Billion Humans (Switch)