Legends of Phantastica development diary #3

Hello everybody, welcome to the third installment of the Legends’ development diary! It’s been a few months since the last installment, and I’m sorry we haven’t gotten to check in sooner. You may have read about the delay, which sucks, but as I’m sure you can imagine, sometimes things happen that you can’t plan for. We certainly don’t plan on establishing any kind of track record for this, but that’s how it goes for now.

Anyway! There are a few things I want to show you today. Something that comes up a lot among game development students, especially kids who’ve never made a game before, wonder how levels get built. Of course, that gets done in several different ways, depending on the kind of game you’re making. In our case, we’re making a 2D dungeon crawler, so you have to think in a couple of different directions – in pieces, and in layers.

What you see here in today’s main image is a breakdown of the pieces that go into the first block of the Clockwork Tower. It doesn’t look like much yet, because it’s undecorated. We’ll get to that in a minute.

As you can see in the picture, the entire thing can be broken down into a grid, which you can extract square pieces out of, otherwise known as “tiles.” In this case, they’re 64 pixels tall by 64 pixels wide, and it’s uniform all the way across. When we break all these pieces apart from each other, it’s something like a jigsaw puzzle. But really, it’s more like a set of Lego blocks or Lincoln Logs, because once you have all the pieces, you can build all sorts of things with them!

And that is precisely what we do.

Well, I suppose it’d be more accurate to say we build rooms with the pieces, we don’t just build anything. I mean that’d just be a waste of resources!

You might ask, what do I mean by ‘rooms’? After all, don’t you just build the whole level and be done with it? In some cases, for certain kinds of games, sure! If you were making a platformer, you’d take your set of tiles and lay out your levels, and that would be that. In a more straightforward RPG, you’d lay out your dungeon mazes and again, that would be that. However, for us it isn’t quite that simple.

In Legends of Phantastica: The Clockwork Tower, your experience will be different every time you play the game. The floors of the tower are always arranging themselves into new configurations, to trap and confuse anybody who attempts to climb it! Of course, that presents a challenge to our developers. Presenting an ever-changing tower in the fiction is easy, how do we do it in the game?

A screencap of our room editor tool, using some prototype tiles

Thinking on the problem, our Lead Programmer Dustin Kittelson came up with a great solution.

Here is what I mean when I say ‘rooms.’ Dustin broke down each floor of our tower into discrete sections – think of the chambers that make up a floor in a game like Zelda 3 and you’ll get the idea – and then wrote a tool to lay out room data. Each room is made up of spaces you can walk on, and spaces you can’t. The tool Dustin made sets up a room, establishes where those spaces are, and then what tiles represent those spaces. After it saves all that data, the game loads it and translates that data onto the screen in game form. Voila, you have a room of the tower. Naturally you won’t have much of a game with just one room, so we have to build hundreds and hundreds of rooms for the game to pull from, but once that’s done, the end result is a game with a randomized dungeon that you can explore differently every time! Cool, right?

On different development teams, the situation might’ve been handled differently. Maybe the Lead might still have come up with the solution, and handed it off to a programmer devoted specifically to making tools, or if it was simple enough, a junior employee or even an intern might have been given the job. Our team isn’t that big though, you might have guessed that most of us wear several hats. So Dustin punched out the entire set of tools we use in a day, and they’ve gone a long way in helping make game development a lot easier! It’s a testament to his talent and versatility, to be able to switch gears and be as speedy as he is. When our forums open back up, you should let him know how you like our game!

Finally, let’s talk about what I mean when I say ‘layers.’ What you’ve seen to this point has been the basic layer, where players and monsters can walk, and where they can’t. If you’ve ever used a modern graphics editor like Photoshop or GIMP then you know already what I’m talking about. To create the visual look where different pieces of decor are placed in varying places around our game world, we have to display different things on different planes. Think of it like we are building a lasagna. On the very first layer are the floor and basic wall tiles, and it defines where characters can and cannot be. On the next layer we put some basic decoration. The next layer after that, all the characters exist – that means your player character, as well as any monsters or NPCs that are running around. Having them here ensures that they appear on top of, or in front of, anything that they should be in front of. Finally we have layers for things that the characters should be behind, like the tops of walls to create the illusion of depth, or parts of columns and other similar things. Above that are layers for things like steam clouds/fog, or exposed beams and machinery.

Here you can see some samples of steampunk-ish lighting that our environmental artist, Linda Smith has developed. They live on that second layer that I was talking about. Cool looking, huh?

So that’s our level development process in a nutshell. I hope you learned something from it, and maybe got a little inspired to start building games of your own!

Next time, we’ll be doing another artist showcase. We’ve got a lot of cool monster designs to show off! And I bet you’d all love to get a peek at our sassy gunslinger girl. So check back with us soon, there’s a lot to see!

Until then, thanks for reading!

Categories

Leave a Reply

About the company

Founded in 2001, Variant creates and publishes entertainment software for some of the world’s leading platforms, including Apple iPhone & iPad, Windows & Mac PCs, PlayStation 3 and Xbox 360.

Connect