└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Programming Games 2 | 3 | This is a curated list of programming games, i.e. a game that incorporates 4 | computer programming as a core mechanic of its gameplay. The list includes open 5 | source, free to play and commercial games. 6 | 7 | If you know of a game that you think should be on the list, feel free to send a 8 | pull request to add it! 9 | 10 | ## Table of Contents 11 | 12 | ### [Games by Genre](#games-by-genre-1) 13 | 14 | #### [Battle](#battle-1) 15 | 16 | - [Core War](#core-war) 17 | - [JavaScript Fight Club](#javascript-fight-club) 18 | - [Robocode](#robocode) 19 | - [Scalatron](#scalatron) 20 | - [Vindinium](#vindinium) 21 | 22 | #### [Educational](#educational-1) 23 | 24 | - [Code Hero](#code-hero) 25 | - [CodeCombat](#code-combat) 26 | - [Codin Game](#coding-game) 27 | - [Minecraft Hour of Code](#minecraft-hour-of-code) 28 | - [Ruby Warrior](#ruby-warrior) 29 | 30 | #### [Puzzle](#puzzle-1) 31 | 32 | - [Box 256](#box-256) 33 | - [Untrusted](#untrusted) 34 | 35 | #### [Real time strategy](#real-time-strategy-1) 36 | 37 | - [Colobot](#colobot) 38 | - [Screeps](#screeps) 39 | 40 | #### [Simulation](#simulation) 41 | 42 | - [Elevator Saga](#elevator-saga) 43 | - [MHRD](#mhrd) 44 | - [Microcorruption](#microcorruption) 45 | - [Shenzhen I/O](#shenzhen-io) 46 | - [TIS-100](#tis-100) 47 | 48 | ### [Mods](#mods-1) 49 | 50 | - [kOS](#kos) 51 | 52 | ### [Abandoned / Historical Games](#abandoned-historical-games-1) 53 | 54 | - [0x10c](#0x10c) 55 | - [Stockfighter](#stockfighter) 56 | 57 | ## Games by Genre 58 | 59 | ### Battle 60 | 61 | #### [Core War](https://en.wikipedia.org/wiki/Core_War) 62 | 63 | Write a program to eliminate other programs in a virtual computer. 64 | 65 | - Language: Redcode (Assembly-style) 66 | - External editor support: Yes 67 | 68 | #### [JavaScript Fight Club](https://jsfight.club/) 69 | 70 | Control heros to fight against other heros and win the war. 71 | 72 | - Language: JavaScript 73 | - External editor support: Yes 74 | 75 | #### [Robocode](https://robocode.sourceforge.io/) 76 | 77 | Control a tank and battle against other tanks. 78 | 79 | - Language: Java or .NET 80 | - External editor support: Yes 81 | 82 | #### [Scalatron](http://scalatron.github.io/) 83 | 84 | Control bots to compete for energy and survival. 85 | 86 | - Language: Scala 87 | - External editor support: Yes 88 | 89 | #### [Vindinium](http://vind-legacy.thegrid.red/) 90 | 91 | Control your hero to collect the most gold per level. 92 | 93 | - Language: Various 94 | - External editor support: Yes 95 | 96 | ### Educational 97 | 98 | #### [Code Hero](https://codeherogame.wordpress.com/) 99 | 100 | A game that teaches you how to make games in Unity. 101 | 102 | - Language: Unity 103 | - External editor support: No 104 | 105 | #### [CodeCombat](https://codecombat.com/) 106 | 107 | Coding puzzles designed for schools. 108 | 109 | - Language: Python 110 | - External editor support: No 111 | 112 | #### [Codein Game](https://www.codingame.com) 113 | 114 | Improve your programming skills by completing small puzzlez in various languages. 115 | 116 | - Language: Various 117 | - External editor support: No 118 | 119 | #### [Minecraft Hour of Code](https://code.org/minecraft) 120 | 121 | A game that teaches the basics of programming and computer science in a Minecraft inspired world. 122 | 123 | - Language: Blockly 124 | - External editor support: No 125 | 126 | #### [Ruby Warrior](https://www.bloc.io/ruby-warrior) 127 | 128 | A game designed to teach the Ruby language and artificial intelligence in a fun way. 129 | 130 | - Language: Ruby 131 | - External editor support: Yes 132 | 133 | ### Puzzle 134 | 135 | #### [Box 256](http://box-256.com) 136 | 137 | Optimise code to complete puzzles. 138 | 139 | - Language: Assembly-style 140 | - External editor support: No 141 | 142 | #### [Untrusted](https://alexnisnevich.github.io/untrusted/) 143 | 144 | A meta rougelike where you edit the code that generates the level to pass. 145 | 146 | - Language: JavaScript 147 | - External editor support: No 148 | 149 | ### Real time strategy 150 | 151 | #### [Colobot](https://colobot.info) 152 | 153 | Write code to control units to help you find a new planet to survive. 154 | 155 | - Language: C++/Java-style 156 | - External editor support: No 157 | 158 | #### [Screeps](https://screeps.com/) 159 | 160 | An MMO RTS set in a persistent world with programmable entities. 161 | 162 | - Language: JavaScript 163 | - External editor support: Yes 164 | 165 | ### Simulation 166 | 167 | #### [Elevator Saga](http://play.elevatorsaga.com/) 168 | 169 | Write code to control the movement of an elevator. 170 | 171 | - Language: JavaScript 172 | - External editor support: No 173 | 174 | #### [MHRD](https://store.steampowered.com/app/576030/MHRD/) 175 | 176 | Learn a hardware description language and complete circuits until you eventually design your own CPU. 177 | 178 | - Language: Custom hardware description language 179 | - External editor support: No 180 | 181 | #### [Microcorruption](https://microcorruption.com/) 182 | 183 | Exploit bugs in electronic locks to steal breifcases full of bonds. 184 | 185 | - Language: MSP430 assembly 186 | - External editor support: No 187 | 188 | #### [Shenzhen I/O](http://www.zachtronics.com/shenzhen-io/) 189 | 190 | Build circuits and write code to follow the story of an electronics engineer. 191 | 192 | - Language: Assembly-style 193 | - External editor support: No 194 | 195 | #### [TIS-100](http://www.zachtronics.com/tis-100/) 196 | 197 | Rewrite corrupted code to unlock the secrets of the game. 198 | 199 | - Language: Assembly-style 200 | - External editor support: No 201 | 202 | ## Mods 203 | 204 | Mods that add programming capability to existing games. 205 | 206 | #### [kOS](https://github.com/KSP-KOS/KOS) 207 | 208 | Kerbal Space Program mod that allows you to control rockets with a fully scriptable autopilot. 209 | 210 | - Language: BASIC-style 211 | - External editor support: Partial 212 | 213 | ## Abandoned / Historical Games 214 | 215 | Apart from exceptional examples, this list should only include games that were 216 | released, not your side project that you got bored of after two weeks :) 217 | 218 | - [0x10c](https://en.wikipedia.org/wiki/0x10c) 219 | - [Stockfighter](https://www.kalzumeus.com/2015/08/20/designing-and-building-stockfighter-our-programming-game/) 220 | 221 | ## License 222 | 223 | [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) 224 | 225 | This work is licensed under [CC0](https://creativecommons.org/publicdomain/zero/1.0/). 226 | --------------------------------------------------------------------------------