Archive

Tag Archives: puzzle

I just had a great idea: why not make a game like Notpron, but use Git as the medium instead?

I haven’t given this that much thought and I don’t have any ideas for puzzles yet, but here’s what I’m thinking:

  • The master branch would be the entry point for the whole puzzle. It will contain a README file with instructions on how to play and a pointer to the first level.
  • Each level will be represented by a branch whose name is of the form xxxxxxx/master, where xxxxxxx is a random string so that it is not obvious which level the branch is when looking at the output of git branch. This random string is the “level code” for the level.
  • If a level requires multiple branches, the name of each branch should be of the form xxxxxxx/yyyyyyy, where yyyyyyy is the name assigned to the branch, which can be anything.
  • The goal of each level is to obtain the level code for the next level.
  • Each level will make some use of Git’s functionality. File contents, file diffs, commits, commit messages, and even commit authors are all fair game. This is not an exhaustive list.
    • Ideally, this game should be playable through the GitHub website, or through a local clone of the repository obtained using git clone, so that unfortunately precludes the use of multiple remotes (to keep the puzzle self-contained) or hiding things in the .git directory. I wonder how GitHub deals with multiple roots…
  • Each level will have a README file that outlines the level’s puzzle. The first thing the player should do when reaching a new level is to look at the README.
  • All levels should branch from the initial commit, which should be empty. This allows flexibility in adding, removing, or replacing levels as needed.
    • Initially, I had the idea of having a game branch, where the commit of a level is the parent for the commit of the next level. I realized that this was not flexible enough if maintenance was required.
  • Like Notpron is to HTML and other technologies, this game should be an opportunity to learn about Git and to get familiar with it.

I don’t know what to call this game, nor do I have any concrete ideas for puzzles, but there’s the idea, and I think it has potential. If you have any suggestions, please leave a comment!

EDIT: The Cthulhu has been released!