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...
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
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.
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.
But for learning the Java programming language itself? Hmm definitely not.
Great game, highly recommended for anyone in software.
In my mind, it's the closest we'll get to a mainstream Piet programming environment :)
https://en.wikipedia.org/wiki/Colobot
Now it's open source: https://github.com/colobot/colobot
For in-game-only languages, pretty much everything from Zachtronics.
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...
Also, it has a great soundtrack.