My world is the World of Lizard
I've reached an important milestone in the last few days. The entire Lizard world is finally finished. I've made a rendering of the whole thing, comparing it to what was available in the demo.
I've kept the thumbnail image here small, to try and keep it from being too much of a spoiler. You can click on it for a larger version if you'd like to see more of it, though. Even the larger version is scaled down to try not to reveal too much.
At the bottom of the image you can see a rendering of the world available in the demo, with some outlines drawn to show where the rest of the world was planned. As you can see, the doubling of the ROM size has allowed me to make this a lot larger than I'd originally planned for. I'm sorry that this has required so much extra time, but I hope this picture helps explain what I've used that time for.
Making the Void Zone
The last piece of the jigsaw was the Void Zone. In the demo it was a 4x4 room grid, but in this version it's been expanded to 7x7, more than 3 times the size!
This area is a strange space, with floating platforms, and a spiral wrapping geometry that lets you travel its length both horizontally (if you're cautious), and vertically (if you dare to leap down). This place has a couple of unique characters in it, but it's also a combination of bits and pieces from the rest of the world. That's why I left it until last. I needed to know what the rest of the world looked like before I could use it here.
It's also the only area of the game made with only single-screen rooms. The original demo was entirely this way, but since I revised the engine to permit double-wide rooms, most of the world does that. For the Void Zone, though, because of its geometry I wanted to make the grid of rooms more apparent. The creatures unique to this place also wrap around the edges of the screen, like in Pac-Man, or the toroidal shape of most JRPG worlds, which is a lot more apparent if you can see the whole room at once. Their wrapping is supposed to be analogous to the spiral wrap of the room layout too, but that relationship might be a little obtuse.
It felt funny to be returning to single rooms at the end of this process of making the world, since this is how I had started. It was like working with the original engine I made the demo with again. Kind of weird to be feeling nostalgic for that, but the project has gone on long enough for it at this point.
When I started planning an area of this game, it generally began by making lists of ideas, things that might make a good room, or a coin challenge, creatures, et cetera. When I'm ready I make sketches of how it might be laid out, trying to find a good arrangement of these things within the space.
The size and space containing each zone was worked out much earlier in development. It's partly about the constraints of data space, but also I tried to lay out the world so that the various zones were connected and related. The Volcano Zone and the snowy Mountain Zone occupy parallel positions on the two sides of the world; the water melts from the mountain creating the river, and also filling caves underneath in the Water Zone. On the other side, this water is pumped through pipes and uses the heat of the volcano to make steam. Maybe in the end it's still a bit arbitrary, but these kinds of relationships helped me organize and shape the world as I worked on it.
After a couple of sketches, I eventually moved to graph paper. Here's a late draft of the Void Zone compared to its completed rendering. Click on the image to see the sketch overlaid in green.
I've tried to make videos of myself working on the game world to show you what it's like to make these things, but it never really worked out. I don't just open up a room in the Lizard Tool and draw it out, start to finish. I'm typically going back and forth between adjacent rooms, making a lot of adjustments, checking my notes, checking the source code, tweaking tiles and sprites, looking at other rooms that might have related ideas in them... it's not very linear, and not very easy to explain what I'm doing at any given moment, or why I'm doing it in that order. I'll try instead to describe the kinds of things I did here.
Most rooms will start with untextured blocks, just because it's easier to edit when you don't have to worry about the tiles. Later on, usually when the entire Zone is nearly settled I'll go back and "paint" its rooms with the intended tiles. Occasionally this gets done a little out of order, like if I need to verify a visual idea will work before the rest has been put together.
There's a lot of testing in every room. For every platform, I probably have tried it in a variety of locations in the same vicinity; I go to test, and I try as many different ways of jumping to that platform as I can think of. I try to work out the ways people will succeed or fail at it. I think about players who will just hold down the direction and press jump, and I think about more advanced players who will figure out the nuances of midair control.
A lot of the challenges in the game can be approached in different ways. There might be an obvious way to get a coin if you know the various lizard powers, but if I can add more obscure ways to do it with another lizard, or even just by understanding how things fit, I like to make that an option. There are exceptions, but I feel most satisfied when I think there's a few ways to accomplish something. I hope there's enough alternatives available to make this game interesting for speed-runners too.
Often making changes in one room affects things in another. Every time I use a creature in a room, I end up thinking a lot about how it behaves as I test that room. Sometimes I'll want to make some changes to its code, or maybe I'll have an idea about how it should be used, and when these things come up I generally have to go and look at every room that uses the same creature.
Lots of testing! That's really what takes the most time, here, but it's also the most important thing to do. I can try and plan it out on paper, measure distances and theorize about how it will work, but there's no better gauge for how well it's working than just trying it.
The primary task left is a collection of bosses. Two of them were already finished for the demo, and will be similar in the finished game. There are five more I have been working on, and I will reveal more information about them as they reach a more complete state. Thankfully, these tasks are isolated from each other and the rest of the world, so I hope it's a bit more straightforward work than building the world has been. I should have more to show you soon...