Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/eric-erki/awesome-gamesofcoding

A curated list of games that can teach you how to learn a programming language.
https://github.com/eric-erki/awesome-gamesofcoding

List: awesome-gamesofcoding

Last synced: about 1 month ago
JSON representation

A curated list of games that can teach you how to learn a programming language.

Awesome Lists containing this project

README

        

# Games of Coding

A curated list of games that teach you a programming language

- [Contribution guide](contributing.md)
- [Buy a sticker](https://www.stickermule.com/marketplace/10034-awesome)

[![Awesome chat](https://badges.gitter.im/sindresorhus/awesome.svg)](https://gitter.im/awesome-gamesofcoding/Lobby)

Follow me on [Twitter](https://twitter.com/michelpereira).

## Table of Contents

### [Language Independent](#language-independent-1)
- [Codingame](#codingame)
- [Vindinium](#vindinium)
- [CodeFights](#codefights)

### [Python](#python-1)
- [Robocode](#robocode)
- [CodeCombat](#codecombat)

### [Java](#java-1)
- [Robocode](#robocode)

### [JavaScript](#javascript-1)
- [Screeps](#screeps)
- [Javascript Fight Club](#javascript-fight-club)
- [Elevator Saga](#elevator-saga)
- [CodeCombat](#codecombat)
- [Untrusted](#untrusted)

### [C\#](#c-1)
- [Robocode](#robocode)
- [Code Hero](#code-hero)

### [Ruby](#ruby-1)
- [RubyWarrior](#rubywarrior)

### [Assembly](#assembly-1)
- [Embedded Security CTF](#embedded-security-ctf)
- [Box-256](#box-256)

### [Scala](#scala-1)
- [Robocode](#robocode)
- [Scalatron](#scalatron)

### [Lua](#lua-1)
- [CodeCombat](#codecombat)

### [Miscellaneous](#miscellaneous-1)
- [Corewars](#corewars)
- [TIS-100](#tis-100)
- [Shenzhen I/O](#shenzhen-io)
- [Generals IO](#generals-io)
- [Robo Dojo](#robo-dojo)
- [MHRD](#mhrd)
- [Colobot](#colobot)
- [CodeGames](#codegames)
- [RubyWarrior](#rubywarrior)
- [CodeFights](#codefights)
- [Mudlet](#mudlet)
- [CSS Diner](#css-diner)

## Language Independent

### Codingame

CodinGame is a platform to learn and compete. Proposes a variety of multiplayer games and contests as well as optimisation challenges and solo puzzles. You can contribute your own too. Choose your language, enjoy the graphics.

- [Website](https://www.codingame.com/home)

### Vindinium

In Vindinium, players write scripts in the programming language of their choice (optionally using one of the many starter packs) to control a 16-bit hero through HTTP requests, guiding him to collect gold, do battle with other players, and even visit the tavern.

- [Website](http://vind-legacy.thegrid.red/)
- [Subreddit](https://www.reddit.com/r/vindinium/)

### CodeFights

CodeFights is about improving your coding skills by solving programming challenges. You can do this in a number of different ways:

*random VS fights*: you're paired up against another random CodeFighter for a 3-round fight,
*friendly VS fights*: you challenge (or accept a challenge from) a friend, best of 3 rounds
*Bots and CodeBots*: automated opponents that you can challenge to 3 round fights
*Challenges*: you solve more difficult programming problems and try to get the shortest solution
*Tourneys*: you get matched up against multiple opponents at once

- [Website](https://codefights.com/)

## Python

### Robocode

Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are running in real-time and on-screen.

- [Website](http://robocode.sourceforge.net)
- [Repository](http://robocode.sourceforge.net)
- [Tutorial](http://robowiki.net/wiki/Robocode_Basics)

Programming languages: Java, Python, Node

### CodeCombat

Choose your hero and code your way through the ogre patrols, lava pits, and laser beams of Kithgard Dungeon. Level up, earn gems, and loot magic items to unlock new programming powers. Join millions of players and go from a total beginner to writing advanced multiplayer AI in Python, JavaScript, CoffeeScript, or Lua in this open-source programming game.

- [Website](https://codecombat.com/)
- [Repository](https://github.com/codecombat/codecombat)

## Java

### Robocode

Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are running in real-time and on-screen.

- [Website](http://robocode.sourceforge.net)
- [Repository](http://robocode.sourceforge.net)
- [Tutorial](http://robowiki.net/wiki/Robocode_Basics)

Programming languages: Java, Python, Node

## JavaScript

### Screeps

Screeps is about scripting your creeps. No point’n’clicking any longer! You write real JavaScript* which controls your units autonomously. Any time, everywhere, even while you are offline.

(* Or any other language using compilers.)

- [Website](https://screeps.com/)
- [Repository](https://github.com/screeps/screeps)
- [Tutorial](https://screeps.com/a/#!/sim/tutorial)

### Javascript Fight Club

"The Red King and the Blue King are at war! Your Javascript skills are needed to determine the victor: Can you code an effective AI for honor and glory?"

- [Website](https://jsfight.club/)
- [Repository](https://github.com/JSJitsu/hero-starter)
- [Tutorial](https://github.com/JSJitsu/hero-starter#getting-started)

### Elevator Saga

Write Javascript directly in the browser to program an elevator, such that it reaches its efficiency goals. Start with simple "getting started" scripts, and ramp up to much more complex situations with many floors and multiple elevators.

- [Website](http://play.elevatorsaga.com/)

### CodeCombat

Choose your hero and code your way through the ogre patrols, lava pits, and laser beams of Kithgard Dungeon. Level up, earn gems, and loot magic items to unlock new programming powers. Join millions of players and go from a total beginner to writing advanced multiplayer AI in Python, JavaScript, CoffeeScript, or Lua in this open-source programming game.

- [Website](https://codecombat.com/)
- [Repository](https://github.com/codecombat/codecombat)

### Untrusted

The game presents you with a roguelike-like playing environment and a console window with the JavaScript code generating each level. As loaded, each level is unbeatable, and most of the JavaScript is blocked from editing. The challenge is to open a path to the next level using only the limited tools left open to you.

- [Website](https://alexnisnevich.github.io/untrusted/)
- [Repository](https://github.com/AlexNisnevich/untrusted)

## C#

### Robocode

Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are running in real-time and on-screen.

- [Website](http://robocode.sourceforge.net)
- [Repository](http://robocode.sourceforge.net)
- [Tutorial](http://robowiki.net/wiki/Robocode_Basics)

Programming languages: Java, Python, Node

### Code Hero

Code Hero is a game making game that teaches you how to make games. It is a first-person coding puzzle platformer that equips you with a code ray that casts C# at your target.

- [Website](http://www.codehero.org)

Programming languages: C#, Unity

## Ruby

### RubyWarrior

RubyWarrior is a browser based game where you control your avatar through various levels filled with enemies using Ruby.

- [Website](https://www.bloc.io/ruby-warrior)

## Assembly

### Embedded Security CTF

Embedded Security CTF is a game in which you bypass a series of locks, essentially hacking them, in order to get through a series of warehouses.

- [Website](https://microcorruption.com/)

### Box-256

Box-256 is a game about writing assembly code to match a shown graphic.

- [Website](http://box-256.com/)
- [Manual](http://box-256.com/manual/index.html)

## Scala

### Robocode

Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are running in real-time and on-screen.

- [Website](http://robocode.sourceforge.net)
- [Repository](http://robocode.sourceforge.net)
- [Tutorial](http://robowiki.net/wiki/Robocode_Basics)

Programming languages: Java, Python, Node

### Scalatron

Scalatron is a multi-player programming game in which coders pit bot programs (written in Scala) against each other. It is an educational resource for groups of programmers or individuals that want to learn more about the Scala programming language or want to hone their Scala programming skills.

- [Website](http://scalatron.github.io/)
- [Repository](https://github.com/scalatron/scalatron)
- [Tutorial](https://github.com/scalatron/scalatron/blob/master/Scalatron/doc/markdown/Scalatron%20Tutorial.md)

## Lua

### CodeCombat

Choose your hero and code your way through the ogre patrols, lava pits, and laser beams of Kithgard Dungeon. Level up, earn gems, and loot magic items to unlock new programming powers. Join millions of players and go from a total beginner to writing advanced multiplayer AI in Python, JavaScript, CoffeeScript, or Lua in this open-source programming game.

- [Website](https://codecombat.com/)
- [Repository](https://github.com/codecombat/codecombat)

## Miscellaneous

### Generals IO

generals.io is a fast-paced strategy game where you expand your land and battle with enemies over theirs. You lose when your general is taken, but capturing an opponent's general gives you control of their entire empire.

- [Website](http://generals.io)
- [Tutorial](http://dev.generals.io/api)

### Robo Dojo

Robo Dojo is a game in which you build robots that build, corrupt and destroy other robots in an attempt to eliminate all competitors.

- [Website](http://robodojo.club/doc/)

### Corewars

Corewars is a game of warrior vs warrior, programmed by two opponents, and placed into a virtual 'ring' to fight to the death.

- [Website](http://www.corewars.org)
- [Repository](https://github.com/ivanignatiev/corewar)
- [Tutorials part 1](http://www.corewars.org/information.html)
- [Tutorials part 2](http://www.koth.org/info.html)
- [King of the Hill](http://www.koth.org)

### TIS-100

TIS-100 is an open-ended programming game by Zachtronics, the creators of SpaceChem and Infinifactory, in which you rewrite corrupted code segments to repair the TIS-100 and unlock its secrets. It’s the assembly language programming game you never asked for!

- [Website](http://www.zachtronics.com/tis-100/)

### Shenzhen I/O

Shenzhen I/O is a game in which you build circuits using a variety of components from different manufacturers, like microcontrollers, memory, and logic gates, and then write code in a compact and powerful assembly language where every instruction can be conditionally executed.

- [Website](http://www.zachtronics.com/shenzhen-io/)

### MHRD

MHRD is a hardware design game, in which you design various hardware circuits in a hardware description language. The hardware circuits you design get more complex as you go until you create a fully functional CPU design.

- [Website](http://store.steampowered.com/app/576030/)

### Colobot

Colobot is a 3D video game where you program your bots to ride, fly, find, bring, refuel and destroy. Game is using a language called CBOT, similar to C++ and Java. Colobot offers tutorialed campaign with gradually harder tasks or you can play scenarios to challenge your skill.

- [Website](https://colobot.info/)
- [Repository](https://github.com/colobot/colobot)

### Empire of Code

"Empire of Code is a space game with a mix of strategy, tactics and coding." The game is Browser based and requires a free account. After account creation you have to choose your team: Python vs. JavaScript!

*Build*: Improve algorithms so that your factories produce more effectively
*Conquer*: Code your defense strategies to protect your base from encroaching enemies
*Rule by Code*: Develop a bot to attack other players, steal their resources and... their algorithms.

- [Website](https://empireofcode.com/game/)

### CodeGames

Code Games is a real time programming game where you compete against other players by coding the behaviour of a space ship. The programming language is easy to learn and the game is super fun. Subscribe to one of our tournaments and compete for the prize.

- [Website](http://codegames.io/en/)
- [Manual](http://codegames.io/en/help)
- [Practice zone](http://codegames.io/en/practice)
- [Spanish version](http://codegames.io/es/)

## Mudlet

Mudlet is a game client that allows you to play MUDs (text-only MMORPGs). You can write Lua code in Mudlet to help you play MUDs, game rules permitting, to do things like:

*PvP*: fight alone, or as a group, semi-automated or completely automated in a PvP environment
*PvE*: similarly, you can script bot to take on NPCs in PvE
*Interaction*: or maybe even go all the way and completely automate your character and their interactions?

- [Website](http://www.mudlet.org/)
- [Manual](http://wiki.mudlet.org/w/Manual:Introduction)

## CSS Diner

CSS Diner is a CSS item arrangement game, teaching the concepts and use of CSS selectors and layout. You modify CSS to arrange HTML elements representing plates and bento boxes on a dining table.

- [Website](http://flukeout.github.io/)
- [Repository](https://github.com/flukeout/css-diner)

## License

To the extent possible under law, [Michel Pereira](https://www.linkedin.com/in/michelpereira) has waived all copyright and related or neighboring rights to this work.