Long ago, for Ludum Dare #27, I made a game called Jetpack Jacob in The Quest for Time. I was happy with that game, but knew that it could be much better. I’ve been working on a sequel: Jetpack Jacob in Mechanical Mansion.
The work has been slow but steady. To make the levels for the Ludum Dare game, I used OGMO Editor, and manually edited the output to make parsing easier. For the sequel, I am building a level editor into the actual game. That’s right, all players will get access to the same level editor I am using to make the levels for the game!
The editor itself supports infinite undo/redo. Certain object (such as the player) can only be placed once. Objects that can be placed an unlimited number of times can be “painted” onto the level without the use needing to click in each tile to place an object.
The editor keeps track of what has been added and what needs to be added, and displays the status at the bottom of the screen. If the player or exit are not part of a level, it cannot be saved. If a key is added, but not the blocks it unlocks (or vice versa), the level is considered incomplete and cannot be saved. In these situations, an error message is also displayed when attempting to save.
The next things to add to the editor are objects for the enemies in the game, and loading of previously saved levels.