Tiny Boxes

Tiny Boxes is my first Ludum Dare game. It was made entirely in 48 hours during Ludum Dare 23 (Theme: Tiny World) in April of 2012.

Tiny Boxes is a clever tile based puzzle game. There are 16 levels to play, but the difficulty builds, and game mechanics are slowly added.

How to Play

WASD keys to move around, and space to shoot yourself. Press R to reset the level. You can wrap around the screen. The goal is to get to the exit, a little hole in the level. You can also push, but not pull boxes. Standing on a button, or pushing a box onto it will open up a door. Entering a teleporter will take you to the linked teleporter. You can’t move while sliding on ice, however, you can shoot yourself in a certain direction.

Technical Details

Tiny Boxes was written using Python 2 with Pygame. The levels are loaded from .png images, so I could make levels visually without the need of an editor. Each block type within the level has a different color. To show invisible links, the Alpha channel is used. This is used to connect doors to buttons, and to connect teleporters together. The sound effects were created with sfxr. The (crappy) music was created with FL Studio.

What I Learned

  1. Distribution is everything. I wrote the game on a win64 bit platform, without thinking at all about x86 or mac. Because I used 64 bit python/pygame, I severely limited the number of people who could play my game. To fix this, in the future, I will write code for 32 bit, then once I get that working make a 64 bit version. Adding Mac support can come with a cross platform development tool, or with more elbow grease.
  2. Background music should be optional. I’ll be the first to admit the background music isn’t very good sounding, and can get annoying after a while. It’s a good idea to either have good music, a way to have it change, or a way to disable it.
  3. Use flexible controls. I had the controls hard mapped to wasd, this is very inconvenient for people with alternate keyboard layouts. It would have been a good idea to allow for control re-mapping, which is more complicated to implement, or have the ability to use arrow keys and wasd at the same time, so the user could decide what to use.

Tiny Boxes requires Python 2 to run, pygame is bundled.


The title screen An early level, the player must push the box over the button, walk through the opened door and around the edge of the map to the exit. In this level, the player must be creative about how to push each box in order to open the door to the next room. This level features pairs of teleporters which must be used to advance. In this level, the player must slide on the ice and shoot them selves towards the exit at the right moment.