Monthly Archives: March 2016

Level Design in “The Journey East”

Hello everyone! We haven’t given an update in a while because there isn’t much to show – we will be launching our greenlight soon, and want to leave some surprises for that. In the meanwhile, we’re going to go through the entire process of level design – creation, testing, drawing, and implementation.

First, we need to know what kind of level we need. For this level, we’re in the desert world. The desert world itself is a giant riddle, and this level will have a hint to solve it. The hint will be on a sign. Since this area is pretty important, it’ll be a major shit from the rest of the desert world – while most of the desert is aboveground, this level will be an underground desert cavern. Now that I have my foundation, I’ll start working on it.

Now, we enter GameMaker – my engine of choice. GameMaker is really good at giving you foundational stuff (which is good if you’re experienced), but also has a lot of really complex functions built in if you need a little help (nice for beginners). I could write an entire post about what I think about GameMaker, which I may do someday. Unfortunately, GameMaker’s level editor is my personal hell.


Reasons GameMaker’s level editor is satan:

  • Oh, you want to put two objects in the same spot? lolnope, that’s asking for too much
  • You want to move a bunch of objects at once? Haha, good joke. Move them one at a time. And (as mentioned above), if you accidentally move it onto another object, the other object gets deleted
  • You want a functional looking list of objects like any decent level editor? I’m sorry Jack, I cannot do that. You CAN have this drop down list from hell, especially since your project has more than 100 objects:list

Ok, enough ranting. At this point, I put down the important points – signs, doors, and people. I then put the hero on the far left side, somewhere. At this point, I’ll cobble together what I think will be a fresh and new level feel. I then add in obstacles – spikes, snakes, ghosts, crabs, etc. At this point, I’ll go back and forth between playtesting the level and making small changes, until the level feels fun to play and just the right difficulty. I’ll add or remove obstacles, maybe add in a checkpoint or two, or sometimes I’ll  make the level longer. This entire process takes anywhere from 10 minutes to an hour, depending on the level. At the end of the session, I’ll end up with something like this: Screen Shot 2016-02-10 at 9.22.21 PM

Beautiful! I now play-test the level about 3 times to make sure it feels good. If this game were done in pixel art, we’d be done around here. But, all levels in The Journey East are hand drawn. At this point, I’ll prep the level for Sophia (our artist). I make a duplicate of the level, and take out all the things she won’t be drawing. In this case –  the player, the spikes, the sign, and the door. We now have something like this:


I now put this on our handy-dandy Google Sheet, which contains all sorts of information – target date to get it drawn by, what kind of details I’m thinking of, maybe even some example pictures of what kind of feel I have for the level. She’ll text me if she has any questions or experimental ideas she wants to try. Then, I’ll get something brilliant like this:


Wow! How awesome! Now, I’ll take the awesome hand drawn art, and resize it to the size of the level. The scans I get are super hi-resolution, which makes it easy them implement and adjust them to how I need (and they make great wallpapers). At this point, I import the art to GameMaker and start on implementing collisions. Basically, I add in a bunch of objects which the other objects will use for collisions. We end up like something like this:collisons

SHIP IT! Just kidding, at this point I set the sand texture to be invisible, so that we end up with something like this:


After that, I make some finishing touches. The spikes on the bottom don’t mesh well with the stalactites (maybe stalagmites? I never remember.) so I change their contrast a bit. I also remove the phantom door in the wall.

Just like that, we have a fully functioning level! *Phew* In the future, we may do more posts about programming, the specifics of how Sophia draws what she does, and more. Leave a comment if you want to see something in particular.