Block pushing game engine.
Disable debugging stuff for demo
Simplify map
Fix game crashing instead of winning


browse  log 



You can also use your local clone with git send-email.


Block-pushing game.

#Level-making guide

Install Tiled.

Open world.tmx. You should see two layers : one for "objects" and one for "tiles".

Tiles are straight-forward : they're just what they look like. If you place a wall, it'll be a solid wall. If you place a crate, it'll be a crate you can push around.

As for objects, there are two types :

  • Room objects

The game doesn't feel right when the camera is always centered on the player. Having different rooms allows the player to focus on the current puzzle, without any distractions.

Room objects have a "Type" property which must be set to "room". You also need to fill the "Name" property with what fits best.

  • Tile objects

In some cases, doors are shared between multiple rooms. This is why doors are tile objects : by using the name from their "room" property, the game knows which door to open when all buttons in the room are pressed.

Don't forget to enable grid snapping for objects in View > Snapping > Snap to Grid.

To save, Export as world.lua.