Settings

Theme

Games of Coding – A curated list of games that teach you a programming language

github.com

206 points by michelpereira 9 years ago · 45 comments

Reader

veganjay 9 years ago

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

- https://www.rockpapershotgun.com/2015/11/09/best-programming...

ptrptr 9 years ago

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

j3c0 9 years ago

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

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

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

ungzd 9 years ago

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 9 years ago

    I don't know about that one but I've recently become pretty active the in the Screeps community (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 9 years ago

      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.

  • stephengillie 9 years ago

    Maybe try a Fruitbot? Scribd originally hosted the competition years ago, but it's on its own site now: http://fruitbots.org

    It's fun and easy to download a Randombot to modify, even if you don't upload it to the public competition. It might just be a good place to try a new language, like Lua or Ruby.

  • anta40 9 years ago

    Robocode is very interesting if you want to learn AI programming in Java.

    But for learning the Java programming language itself? Hmm definitely not.

  • michelpereiraOP 9 years ago

    I wasn't sure either, so I was looking for learning a new programming language when I found Robocode and General IO. I'll look forward to get the right name for the list.

RKoutnik 9 years ago

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/

Great game, highly recommended for anyone in software.

skibz 9 years ago

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

  • sdp 9 years ago

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

abetusk 9 years ago

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

[1] https://codecombat.com/

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

sharkbot 9 years ago

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 9 years ago

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

https://en.wikipedia.org/wiki/Colobot

Now it's open source: https://github.com/colobot/colobot

ktzar 9 years ago

I find that list to be missing Elevator Saga http://play.elevatorsaga.com/

d13 9 years ago

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

anst 9 years ago

Do not forget codingame.com.

  • sunilkumarc 9 years ago

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

    • user5994461 9 years ago

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

  • michelpereiraOP 9 years ago

    Hi, please do a pull request with the game information.

jhgjklj 9 years ago

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_ 9 years ago

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

  • hesdeadjim 9 years ago

    I think the lesson you learn from games teaching you programming within the game is that the entire point of coding is to create something interesting. Even if a project can turn into a slog halfway through you still know that at the end you will have something that hopefully you are proud of creating.

  • d33 9 years ago

    I guess it depends on how you approach problems. If most of the time you find it boring, maybe you're not really interested in whatever you're doing (working for a wrong company maybe?)...

xevb3k 9 years ago

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 9 years ago

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

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

13years 9 years ago

I have a list I have been keeping here. https://github.com/dakaraphi/development-resources/blob/mast...

jevogel 9 years ago

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/

david-given 9 years ago

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/

Also, it has a great soundtrack.

npongratz 9 years ago

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

http://tpoindex.github.io/crobots/

https://news.ycombinator.com/item?id=10331849

110011 9 years ago

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 9 years ago

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

ComodoHacker 9 years ago

The Corewars section is duplicated.

brennankreiman 9 years ago

robocode taught me javascript way back in elementary school!

gobr 9 years ago

sad that stockfighter is not on this list anymore.

sjammer 9 years ago

Nice

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection