The third edition of the 0 hour jam took place on the 26th October 2013. Organized by Sos Sosowski, the concept is to make a game during the leap hour that we have when the clocks are readjusted to the winter time, this year when 3AM becomes 2AM again. In a sense, the jam takes zero hours, you start at 2 and finish at 2.
This post contains spoilers all around. I would recommend you to play the game first and come back here later to read the explanation. The link is at the end of the post. You can also click on the screenshot to get redirected.
I took inspiration from a game that I have seen reimplemented many times. One version that I know of is called “Lights Off“. You have a board with squares that can be turned, and the goal is to have all of them turned or unturned. The catch is that the squares are linked to each other, in the sense that when you turn one, the neighbouring 4 cells are also turned. In my version, instead of linking each square to its immediate neighbours, the links are selected randomly across the board the moment it is generated. Some squares are not linked to any other, most are linked to one single other square, some have more than one link. The links are unidirectional.
Because of the random connections, and with such a limited time for making the game, I cannot guarantee that every board has a solution. Sometimes loops are created, which makes a particular board impossible to clear. If I had more time I would have attempted an automatic graph analysis of the board, in order to prevent such boards. However, the game detects when a user is stuck and offers an option to discard the board and generate a new one.
My first idea was to call it “256 Levels”, as a reference to the last Pacman level, but then I thought that it would be too long and I decided to reduce it by half and call it “128 Levels”. Then I thought that since the reference was already lost, it doesn’t need to be a round number or a power of two, and I could choose any number, so I chose 137. When testing, I saw that level 137 would still be unplayable due to the size of the squares, so I settled for something around 80. 79 seemed to do the trick, and it’s still a prime number. If you reach level 80, you will see the end screen.
The game was witten with the LightTable editor, without any external library, just pure HTML5. I didn’t upload the source code separately in a repository, but the code is not obfuscated in any way: you can inspect it from the browser.
- Play the game (HTML5, runs on the browser)