At first, being naive and inexperienced, I hoped I could simply open up a new image file, draw them out, import them into the game, define surfaces, and be done. The idea was that they would be more organic and stay closer in appearance to my artwork.
I learned very quickly that this just wasn't going to fly. Besides the issue of collision (or, how the game detects your character is walking on a floor, or pushing up against a wall or object) proving to be a giant pain, the issue of dimensions, and keeping them unified and cohesive also gave me issues. After all, the character can only jump so many pixels high, so if, for example, I accidentally made a wall just a little too high for her to scale, I had to go back and redraw--a time consuming, and frustrating process.
![]() |
| Preliminary sketch of the first world's tileset. |
The process starts with first deciding on the basic look of a tileset. I use graph paper, and just start drawing out a world design. The graph paper is useful for a couple of reasons; first of all, I can't draw a straight line to save my life, so there's that. Also, it lets me rough out how I want to start cutting up the art into chunks.
| A deceptively simple looking set of tiles derived from the sketch above. |
From there, it's time to import the tileset, and start finally laying out the level itself. This is a slow process (I guess that goes without saying--there's no part of this entire project that doesn't seem to suck hours away at a time). It's also really fun, because it's like putting together a puzzle. It's especially exciting when you figure out neat ways to place your tiles together that you didn't initially plan for.
| Starting to come together! |
| Masks! |
Something to note here for those that are interested. As far as the game is concerned, all of this is basically background art in the game world--if the character object was placed on top of this, she'd just fall through, as there is no collision code to any of these tiles. That's where masks come in.
Naturally, there will be more than one tileset in the game. If every tile had it have its own collision code, as I added more and more tiles, the necessary memory usage would go up, and potentially bog down the game. If a rather simplistic, retro-looking game like this were to slow down my computer, I'd just think it was sloppy. So, to combat that, I have a set of simplistic, single color tiles that actually have the necessary collision code attached to them. These go on an invisible layer over the level art, and give the character something to stand on.
| Now you're thinking with masks! |
So, the basic layout of the level has been determined, and the masks are laid out. At this point, it's time to dress things up a bit, and start adding backgrounds, foregrounds, and various other game objects...


