Yesterday I made my first steps with one of the most scariest things you can do when a game project gets serious: the making of a level editor :O. The previous blog rant has made it obvious that, if I want to add some more complex material, I will need to leave the GM Room Editor and take matters in my own hands.
I’m however starting with a basic construct, so I can adapt that later on for future games. It will have a lot of basic elements such as the ability to add backgrounds, tiles and objects, set the room size etc. The following paragraphs discuss some unique properties the editor will get (compared to GM).
Layers
The idea is to at least make a layer system, one for tiles and one for objects, to facilitate room editing. Much like in Photoshop, layer visibility will be able to be toggled and the order will be able to be changed quickly. In GM you only have layers with tiles and you cannot see the other layers at any time, except by using the drop-down box. Also, you cannot move tiles within several layers at the same time. Objects don’t have layers in GM (as they have a natural initial depth). It would however be great if you could put all wall objects in a separate layer for editing purposes.
A rather preliminary glimpse of the editor. And a good excuse to break the wall of words ;)Automation
Another point I would like to add as a basic feature in the editor to be able to couple objects to tiles you place. Often you have objects that act as tiles, but need to be objects (think for instance of water and other liquids).
One special case will be simplified in particular, namely tiles that usually will have walls. The objects will be added automatically in a standard object layer as soon as you place the tile (and this object does not exist in this layer yet). The reason I do this, is that you can remove some unwanted tiles later on, to add some secrets for instance, so you don’t get stuck with wall unwanted objects you cannot remove.
User facilitation
Think of the ability to set the colour of the grid, the ability to see the bounding boxes of objects within a layer and being able to see quickly whether an object has additional creation code. Also being able to actually select (multiple) objects/tiles, to change properties and move them without the fear of deleting them.
I will naturally add some specifics to this editor as well for handling event triggers/scripting which I am doing all by hand at the moment with my own makeshift syntax coding system.
As for the title: see the title :) It seems a fitting name as it implies, layers of tiles and objects (lasagna sheets and sauce :P). It’s also Garfield favourite dish :
Guess you can’t argue with that ;).
Hmmm, I wish you luck on your level editor and such. I personally wouldn't dare touch something as evil as that when it comes to coding. Then again I don't exactly make games that leave room for level editors. XD
Garfields a fatass. >.>This seems like a very complex project you have going, keep working at it and eventually I might use it one day when I'm bored. In fact, I probably will, since those are some dang purdy sprites you have.
And because I couldn't help myself:^_^ I ate lasagna yesterday!