A programming game for non-programmers
JavaScript CSS Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
js_components unlicense puzzle code Oct 1, 2013
js_test unlicense puzzle code Oct 1, 2013
public unlicense puzzle code Oct 1, 2013
Makefile unlicense puzzle code Oct 1, 2013
README.md Update README.md Nov 28, 2014
TODO updated todo May 2, 2013
UNLICENSE unlicense puzzle code Oct 1, 2013


Puzzle Code

By Mike Gagnon, public domain (see UNLICENSE)

A programming game for non-programmers.

Currently in development. Live demo at http://puzzleco.de

All collaborators must join the Anti Grey Goo Peace Treaty.

When MVP-2 is released. Players are only allowed to play if they are currently members of the Anti Grey Goo Peace Treaty.

This project is under construction. It's my first Javascript project, so please send me feedback! Just send me an email at mikegagnon@gmail.com, or, better yet, file an issue or pull request on Github.

The game

Puzzle Code is heavily inspired by Robocom, an old programming game where you program bots to battle each other.

In Puzzle Code there will be a battle mode, but I will also create a single-player puzzle campaign. In each puzzle the player must program a robot to accomplish an objective (e.g. collect all the coins) within certain constrains (e.g. your bot can only use 10 lines of code).

The puzzle campaign will be divided into worlds, where each world contains several levels. Each world will introduce a new programming concept.


  • Fun
  • Extremely easy and intuitive for non-programmers.
    • Programming is fundamentally challenging. I want players to focus on the fun challenge of programming --- not the annoyances usually associated with programming.
  • Self contained. Every aspect of the game and programming language should be learnable from playing the game. No tutorials. Like what it's like to learn to play Angry Birds.
    • However, there should be a rich help system, including good documentation for every instruction and error message.


$ make

Then browse to public/index.html