The Great Underground Level Design


Summer Summary

My last development blog entry was posted on 3 of July. That’s quite a while. The main topic of that entry covered my struggles against the evil that is localization. I though I finished it but boy that was a mistaken conclusion…

So, what was wrong? First, some one-two word titles in English might be longer title with few extra words or just simply way too long words and that wouldn't fit designated area. It would just “leak” outside boundaries and that looks out of picture. Solution was to scale these titles where scale factor was based on difference between maximum width and current text width.

Second, I totally forgot about dialogues. How would game react to larger version of dialogue translated into other language? The answer is quite simple – scroll boxes! Or text resize! Or continue the rest of the dialogue that failed to squeeze inside original boundaries into another dialogue. The thing is, that answer had to be implemented. Smintheus has auto-typing option which adds extra points to visual looks. Problem risen when I had to implement scrolling and text resize that would work with auto-type and without it. Situation was incandescent but it had happy ending.


The Great Underground Map

Game development has reached its final stage – levels. Back in July it sounded like it just few steps before the finish line and it still sounds the same. Game’s levels are divided into worlds. Each world needs to be drawn and that’s 960x640 worth of pixel art work. Today my pixel skills are much better than it was few years ago and one of the key features of such “vast” experience is that drawing speed is almost tripled. I drew Deviated Valley map in two weeks. I can draw maps in two days considering I work on it from morning to near midnight.

And I did. I drew another map which represents next 8 levels rendered as the great underground world. The thing is… those two days turned into week plus extra days from the past. Damn my lazy ass, I was dedicating hour or two a day to map creation. I blame myself the goddamn heat that invaded July and stayed till the end of August. The heat damage was boosted due to my room being on the sunny side. Every pixel put on that map was done with incredible power of will. Damn it… I really need house in Antarctica or extended fridge so I could fit into it and work there during summer days.


When it was finished I was so happy that I spent some time admiring the picture for next few days. My world building days started since my early childhood. Sometimes my parents would send me to grandparent’s house and since it was deadly boring to spend there I used to draw similar words and play with them. That childhood enthusiasm survived through all these years and occupied its place in my game development journey.

To make maps more faster, I wrote a step sheet and to make it easier all layers are drawn one by one. I mean like I don’t work on specific area of the map but rather on whole map at once. Details were added at the end such as those dinosaur remnants as well as other interesting objects like swords, tools, gates, etc.

Tiles

When map was finished I started experimenting with tiles. I did some part of it months ago so there was some start. Great amount of time went for experimentation. I followed the map drawing philosophy and decided to make some kind of system or pattern of how would these tiles would materialize.

Although there was already mine tileset for the game I still pursued remake due to old tiles being bad, very bad.

Did some programming here, removed 3 tile sheet textures that were 512x512, added new one and then squeezed these textures into one big atlas with 1024x1024 size. Tiles can be placed on 4 layers. To omit further confusion I decided that road and water tiles would go to layer 1, walls to second, wall decorations to third and zero layer would have grass, rocks and other little thingy tiles. Things that wouldn't fit into one tile like pit or water corners would obviously go to upper layer.

Such system made level design easy and pleasant. Here is before and after pics:


Mine Levels

Did I just said level design was easy and pleasant? I mean visual level design was easy and pleasant. Planning levels, making up puzzles, calculating this and that is actually much more harder than I thought it would be. I really want levels to be as interesting and appropriate as possible but such impudence is punished with more work hours.

Making up puzzles is the toughest tasks of all of them. I have to consider player’s progress throughout the Smintheus campaign and form puzzles with appropriate difficulty to that progress. Each level should have a bit harder puzzles and follow the most important rule – never repeat itself. That’s right, puzzles must be unique otherwise it would cause boredom or even frustration to some players.


I compiled a list of essential parts of level that must be done. These currently apply to mine levels. Here are its points:

  • Every level must have room with the cat
  • Add couple of secret rooms
  • Include at least one combo-crafting puzzle
  • Include optional puzzle with some delicious experience books
  • Include monster puzzles
  • Include abstract puzzle once per two levels
  • At least one side quest should be present and it should reward player with xp
  • Put resurrection stones
  • Always mind perks. Construct levels so that player will benefit with any perk.
  • Try to place boxes whenever there are enemies. Smashing is fun!
  • Mind the achievements

All that must fit into another rule which is “keep it short”. Levels shouldn’t turn game into walking simulator with a lot of backtracking. If levels are about to sin to this rule, I’ll place teleportation hub rooms where player can teleport to any room thus removing the need to walk long distances. At the end, basically I have to consider every element in game while planning the level.

Alpha version had mine levels completely free of cat and all these rules. Decision to remake old levels instead of leaving them in final version is that old levers are extremely boring and had zero challenge. Plus, as previously said, old tiles looked horrible.


Despite the difficulty it’s the most fun part of entire development span. I really enjoy doing this. The fact that the game is close to the finish line makes me much happier, especially every time I finish new level. At this stage I see that game evolved so much since the alpha version and it turned out to be the game that I would personally buy if someone would made it if life would turn out to be different.

Odds and ends

Level 10 introduces new enemy type – “Roachess”, or female variant of cockroach-like creature present in entire game. They act like typical roaches but their movement speed is doubled and reaction time is nearly instant. They make deadly foes to those who wish to kite them in open area. Traps and narrow passages are main tactics against these creatures.


Level 11 introduces last item – gadget gloves. I planned these to be in game since the very beginning. Gadget gloves are used to omit crafting process and place gadgets instantly. Well, I think this is the juiciest item player can get. It expands gameplay mechanics a bit and serves as another ingredient for puzzles. When there is no planned use for them, player can just use them to save time.


Alternative key bindings were added into the game in August. Default keys are inclined towards left-handed gameplay with mouse as a supportive input while new alternative binds focus on old school layout that I first got introduced on some MS-DOS NES emulator in my childhood days – arrow keys, spacebar, control and Z, X, C keys.

And there are those endless bug fixes. The number of bugs that were fixed is so big that I’m afraid it needs another article. One of silly bugs that prevented cat from catching mouse in beta version had a very stupid twist in one of AI arguments – it checked if sprite was absent instead of boolean that had a similar name. I should’ve had followed the oldschool naming convention where programmers used to put a letter indicating a type of variable…


GUI received some portion of gamedev juice. Mouse cursor now display a smooth rectangle and it only renders if mouse is capable of going there. I think it’s a good way to remind player that the game is grid-based. This is useful in first hour since some players were confused with movement mechanics during beta test stage. Those who realized the “gridness” of the game quickly adapted to it.

Just yesterday I’ve added a warning signal for fast build menu. Before that it had no feedback, you just click onto gadget and expect it to be crafted but nothing happens. While there is reason why it prevents player from building, the player doesn't have a clue at all. Now, it will react like this:


YouTube

There were incredible folks that recorded beta gameplay footage and posted it on youtube. I consider such kind of material to be of utmost importance to game developer and I watched and studied them all. Apart from bug fixes these videos guided me to do some improvements which is great.

Unfortunately, no one of these youtubers finished beta game. It was just one-time run but there is one person who did the beta from start to end and that is Coconut Mousse. If you read these lines CM, you should know that you’re my hero. Send me your photo so I could put into frame and hang it on the wall :)

Here is the video:

Nevertheless, all these youtubers had great impact on me and helped me to shape the game. All of them had different perspective over the game, seen things that I couldn’t see and I’m very grateful to all of them. Here is the list of all videos dedicated to the game that I know:

Tom and Jerry (The Indie Game) by Belbesian Pharaoh
Smintheus Gameplay - Part #1 - I AM BEING HUNTED BY A CAT!! - Trying New Indie Games by Live4G4ming
Smintheus Gameplay - Part #2 - LONGER LEVELS!! - Trying New Indie Games by Live4G4ming
Playtesting "Smintheus" by Perfect Human Interface
Lets play a bunch of F2P games! (viewers can suggest games) :D - Nekomews by Nekomews

Leave a comment

Log in with itch.io to leave a comment.