
Games of Coding – A curated list of games that teach you a programming language - michelpereira
https://github.com/michelpereira/gamesofcoding
======
veganjay
I see you already have a pull request for TIS-100. That's the first that came
to mind.

Does it make sense to break down the list by categories? For example:

\- New to programming: Lightbot, Spritebox

\- Reverse engineering:
[https://microcorruption.com](https://microcorruption.com), many of the
Zachtronics games

And so on...

Also, here are a couple of other lists of games I've been going through:

\-
[http://steamcommunity.com/app/375820/discussions/0/481115363...](http://steamcommunity.com/app/375820/discussions/0/481115363863361128/)

\- [https://www.rockpapershotgun.com/2015/11/09/best-
programming...](https://www.rockpapershotgun.com/2015/11/09/best-programming-
games/)

------
ptrptr
Can't recomend enough Human Resource Machine! by World of Goo creator
[http://2dboy.com/](http://2dboy.com/) it's Android/iOS game teaching some
basic programing concepts. Fun and good looking.

~~~
110011
It really sucks that this game doesn't have the ability to make custom levels.
I thought this game was really cute and well made.

~~~
shakna
A sandbox mode would have been great fun.

------
j3c0
A similar post on Halite.io listing some interesting games:

[https://halite.io/](https://halite.io/)
[http://vindinium.org/](http://vindinium.org/)
[http://theaigames.com/](http://theaigames.com/)
[http://www.rpscontest.com/](http://www.rpscontest.com/)
[https://www.codingame.com/home](https://www.codingame.com/home)
[https://leekwars.com/](https://leekwars.com/)
[http://russianaicup.ru/](http://russianaicup.ru/)
[http://dev.generals.io/](http://dev.generals.io/)

Link to the post: [http://forums.halite.io/t/other-ai-
contests/925](http://forums.halite.io/t/other-ai-contests/925)

------
ungzd
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.

~~~
CGamesPlay
I don't know about that one but I've recently become pretty active the in the
Screeps community ([https://screeps.com/](https://screeps.com/)) and many of
the players are first-time JavaScript programmers. In fact, one of the players
in the top 20 for the game told me he had only been programming for ~40 hours
before starting the game.

Control systems are very important in the game (the high-level is almost as
much a logistics game as it is a tactics game), but you don't get to think
about those until you can successfully walk your units around and complete
basic tasks.

~~~
ungzd
Looks interesting. At least it's not competition-based and more sandbox-like.
In global competition you are required to use state of the art techniques, and
there's no other ways to just having fun.

------
RKoutnik
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.

[https://www.factorio.com/](https://www.factorio.com/)

Great game, highly recommended for anyone in software.

------
skibz
Does it count if the games use languages or systems that are unavailable
outside of the game? (Shenzhen I/O for instance)

~~~
sdp
I don't think the corewars assembly is available outside of the game.

~~~
darfs
Corewars even write in their Page: "Special assembly".

------
abetusk
Surprised Code Combat [1] isn't on the list. I think it's also completely
free/open source [2].

[1] [https://codecombat.com/](https://codecombat.com/)

[2]
[https://github.com/codecombat/codecombat](https://github.com/codecombat/codecombat)

------
sharkbot
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.

In my mind, it's the closest we'll get to a mainstream Piet programming
environment :)

------
d33
There used to be this game called Colobot, pretty fun:

[https://en.wikipedia.org/wiki/Colobot](https://en.wikipedia.org/wiki/Colobot)

Now it's open source:
[https://github.com/colobot/colobot](https://github.com/colobot/colobot)

------
ktzar
I find that list to be missing Elevator Saga
[http://play.elevatorsaga.com/](http://play.elevatorsaga.com/)

------
d13
I actually stopped playing games when I learnt how to code... coding is more
fun!

------
anst
Do not forget codingame.com.

~~~
sunilkumarc
I had never heard of codingame.com. This looks really interesting. Thanks for
mentioning!

~~~
user5994461
Sadly, they have zero marketing in the USA/HN sector. But their platform is
terrific, better than anything else that's already out there.

------
jhgjklj
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.

~~~
astrobe_
I find that writing mods for games is much more interesting. It's more like
"real" programming in the sense that you solve real problems with real
constrains and you get a rewarding result. I feel like OP should include games
with mod systems, such as Oolite (Javascript) or Battle for Wesnoth (Lua).

------
xevb3k
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).

------
al2o3cr
If this is mostly looking for "real-world languages", I'd recommend Ruby
Warrior ([https://www.bloc.io/ruby-warrior/#/](https://www.bloc.io/ruby-
warrior/#/))

For in-game-only languages, pretty much everything from Zachtronics.

------
13years
I have a list I have been keeping here.
[https://github.com/dakaraphi/development-
resources/blob/mast...](https://github.com/dakaraphi/development-
resources/blob/master/README.md#game-based-learning)

------
jevogel
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.

[https://screeps.com/](https://screeps.com/)

------
david-given
What, no Else Heart.Break()?

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...

[http://elseheartbreak.com/](http://elseheartbreak.com/)

Also, it has a great soundtrack.

------
npongratz
When I get a chance, I'll write up a PR for Crobots:

[http://tpoindex.github.io/crobots/](http://tpoindex.github.io/crobots/)

[https://news.ycombinator.com/item?id=10331849](https://news.ycombinator.com/item?id=10331849)

------
110011
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.

------
westmeal
Popping in here to mention Spacechem as one of the best.

------
ComodoHacker
The Corewars section is duplicated.

------
brennankreiman
robocode taught me javascript way back in elementary school!

------
gobr
sad that stockfighter is not on this list anymore.

~~~
michelpereira
If it's still an active project, please do a pull request with the
information.

------
sjammer
Nice

