I see you already have a pull request for TIS-100. That's the first that came to mind.<p>Does it make sense to break down the list by categories? For example:<p>- New to programming: Lightbot, Spritebox<p>- Reverse engineering: <a href="https://microcorruption.com" rel="nofollow">https://microcorruption.com</a>, many of the Zachtronics games<p>And so on...<p>Also, here are a couple of other lists of games I've been going through:<p>- <a href="http://steamcommunity.com/app/375820/discussions/0/481115363863361128/" rel="nofollow">http://steamcommunity.com/app/375820/discussions/0/481115363...</a><p>- <a href="https://www.rockpapershotgun.com/2015/11/09/best-programming-games/" rel="nofollow">https://www.rockpapershotgun.com/2015/11/09/best-programming...</a>
Can't recomend enough Human Resource Machine! by World of Goo creator <a href="http://2dboy.com/" rel="nofollow">http://2dboy.com/</a> it's Android/iOS game teaching some basic programing concepts. Fun and good looking.
I'm not sure if such games can help to learn programming. For example, Robocode is very dynamics-based and requires knowledge of control theory (which involves partial differential equations) and decision making under uncertainty. I'm doing software development for almost 10 years and yet such games are too hard for me. These games can help you to learn "AI" but not programming. It's simpler to create your own Robocode game from scratch than to master creating bots for it.
While it isn't technically a game about programming, I'd add an honorable mention for Factorio - a game that, at its core, is about software engineering. In it, you build an ever-growing and ever-more-complex factory. You can choose to throw something together quickly because you need steel NOW (and pay for the technical debt later) or take your time to orchestrate the perfect layout only to discover that's not what you wanted in the first place.<p><a href="https://www.factorio.com/" rel="nofollow">https://www.factorio.com/</a><p>Great game, highly recommended for anyone in software.
I just picked up WarioWare DIY for my Nintendo (3)DS. It's got a pretty rudimentary rules engine to script the microgames, but some of the tricks you can pull using some clever triggers and stage setup reminded me of the best programming puzzles.<p>In my mind, it's the closest we'll get to a mainstream Piet programming environment :)
There used to be this game called Colobot, pretty fun:<p><a href="https://en.wikipedia.org/wiki/Colobot" rel="nofollow">https://en.wikipedia.org/wiki/Colobot</a><p>Now it's open source: <a href="https://github.com/colobot/colobot" rel="nofollow">https://github.com/colobot/colobot</a>
I find that list to be missing Elevator Saga <a href="http://play.elevatorsaga.com/" rel="nofollow">http://play.elevatorsaga.com/</a>
The problem with games to teach coding is coding is not a game. Almost 95% of the time its exactly opposite to games. Uninteresting, boring and a test for grit.
I was hoping for a list of games which teach programming. These are more games or competitions that use programming (which is still pretty fun, but different).
If this is mostly looking for "real-world languages", I'd recommend Ruby Warrior (<a href="https://www.bloc.io/ruby-warrior/#/" rel="nofollow">https://www.bloc.io/ruby-warrior/#/</a>)<p>For in-game-only languages, pretty much everything from Zachtronics.
I have a list I have been keeping here.
<a href="https://github.com/dakaraphi/development-resources/blob/master/README.md#game-based-learning" rel="nofollow">https://github.com/dakaraphi/development-resources/blob/mast...</a>
Screeps - an MMO where you program resource-gatherers with Javascript or other languages. I haven't actually played it, but it sounds like a cool idea.<p><a href="https://screeps.com/" rel="nofollow">https://screeps.com/</a>
What, no Else Heart.Break()?<p>It's a game set in a world where you can hack pretty much any object and fiddle with its source code. Yes, just as weird as it sounds. Want to get into a locked room? You can either hack a key to try all possible combinations at once, so it'll open any door. Or it might be easier to just hack a door somewhere else to point at the locked room...<p><a href="http://elseheartbreak.com/" rel="nofollow">http://elseheartbreak.com/</a><p>Also, it has a great soundtrack.
When I get a chance, I'll write up a PR for Crobots:<p><a href="http://tpoindex.github.io/crobots/" rel="nofollow">http://tpoindex.github.io/crobots/</a><p><a href="https://news.ycombinator.com/item?id=10331849" rel="nofollow">https://news.ycombinator.com/item?id=10331849</a>
By far the most interesting game in this genre (somewhat broadly interpreted) is Robozzle. Some of the puzzles made by contributors there are just pure genius.