Level Design in Tempest Tower

Processes and considerations we have discovered while finding the fun.

Posted by Max on October 30, 2024 · 16 mins read

This blog post was originally going to be about how we create an understandable player story within the whimsical/abstract world of Tempest Tower. Then I started to see the #blocktober tag around Twitter and decided to write a different post instead. Specifically, about some early experimentation we did on Tempest Tower and how changes to the game design impacted the level design.

I don’t think that the hashtag has ever been as popular as 2017 when it was first started, but us indie developers must use every algorithm bump we can.

What is a Level in Tempest Tower?

Let’s start by quickly outlining what a level in Tempest Tower actually is. Each level is a standalone floating island; the terrain, enemy spawn points, and level segments are all handcrafted by a level designer, but there are some light procedural elements that change after every attempt.

At the start of a level, only a small portion of it is available to explore and build on. The rest of the level is covered in a thick fog. After successfully defending a wave, a section of the fog is pushed back, and a new segment of the level is revealed. Once the last section of the fog has been ousted, the player must defend one last wave in order to complete the level and return to the menu victorious.

Fog Concept
An early concept of how levels are revealed incrementally

If the player is overwhelmed by a wave and loses their Main Tower, then they must start the level again. Tempest Tower rewards players who experiment with their loadout and try out different upgrades as they learn the layout of a level and how to deal with different enemies. You never know how things are going to interact.

WIP map view showing how a level expands.

Learning from Time on Frog Island

An important aspect of the Tempest Tower project is our ability to move quickly with ideas. Because of this, the decision was made early on to use a similar camera angle and movement style to our previous game, Time on Frog Island. Making this decision early allowed us to come into the project with some basic level design rules and a good understanding of how traversal should feel.

Time on Frog Island sees the player doing a lot of running around so it was important to us that the act of traversing the island was as fun as possible (even when lost and slightly frustrated).

A quick loop around Frog Island at 250% speed!

Key level design tenets from ToFI:

  • The island gains height/verticality the further ‘north’ that the player travels
  • All designed/expected jumps in the game are possible with about 1 meter of leeway (the game is not built to be a hardcore platformer)
  • It is always clear when the player needs to jump (exposed rock visuals)
  • The camera angle makes height differences in the geometry are difficult to parse so take off points for ‘1-way jumps’ should be marked clearly
  • If the player is ever completely obscured by terrain (which was used sparingly), the ground should be completely smooth and require no jumps to pass through

If you have never played Time on Frog Island and I have managed to pique your interest with this blog, then I suggest you check out the Free Prologue Adventure and see if it is a game for you!

Blockouting a level for Tempest Tower

While we are lucky to be starting with so much knowledge from Time on Frog Island, it was still necessary to find the fun within Tempest Tower. The rules above gave us a good place to start, but we had to be fast at creating new levels so we could properly test different gameplay features. Blockouting a level always went through three stages of focus; player movement, enemy paths, gameplay objects/items.

The base terrain is built up by connecting and overlapping pre-built platform pieces in order to create flat open areas, terraced hillsides, and connecting slopes. Pre-built rock shapes are used to plug holes, block jumps, and add visual variety to the space. We are using a world space triplanar shader for both the ground material as well as the exposed rock material so that we can guarantee that the terrain textures always line up. This does generate quite a bit of overlapping geometry, which we might need to revisit at a later date, but it isn’t currently a performance problem.

Level Pieces
Some of the many standardised level pieces we have for making levels.

Enemies cannot jump or drop off ledges, so platforming areas act as shortcuts between different sections of the level. We always build levels with a player movement focus first as it has the largest impact on the fun factor of a level. Levels can often feel a little bare at this point (see: the embedded tweet at the top of this post), but understanding how the player moves around a level is important to understand before moving onto the next step.

Once we have a good first pass on the overall level, the focus shifts to building enemy paths. A level in Tempest Tower needs to feel amazing (and ideally different) to traverse while empty as well as when it is filled with enemies. The route(s) that enemies take through the level can greatly affect the flow of the space, tight corridors become impassable while high cliffs can be more easily reached. Because of this, we are still making big changes to the base terrain while we decide how to weave enemy paths through it.

The final piece of the blockouting puzzle is the setup of game objects and items. These are gameplay relevant elements that the player can interact with and use during the level, (things like resource spawners, bombs, destructible blockers, etc.). Once added, the level is properly playable, and the designer can start to evaluate, refine and balance (which is where the real fun begins).

Level blockout timelapse.

Early experimentation

An action-packed Tower Defence with Platforming elements. This was the key one-liner that drove our early experimentation. We wanted to reward movement efficiency, smart planning, and the ability to react quickly when things go wrong.

The first iteration of Tempest Tower focused too much on movement. After setting up some defences and starting the wave, the player was expected to effectively ignore enemies in their mad dash for resource collection. This allowed us to create levels that were more vertical and maze like, but it felt counter intuitive to testers (they wanted to engage more with the enemies).

Early Blockout
Our first full level blockout for pitching at GDC.

In this early stage of development, the player collected the gold/ore/currency for building new defences by clearing away gunk from specific spawner locations. Because of this, the design of early levels used a lot more verticality, included more jumps, and had more gaps in the terrain. The game design also placed the most emphasis on route planning and execution so levels had more of a racetrack feel, packed with side paths, slopes, and shortcuts that were devoid of enemies/threats.

Running around an early level blockout.

While testing this version of the game, 3 key things were clear:

  • Players didn’t have an overview of how their defences were working
  • The resource collection was so vastly different from the genre norms of Tower Defence games that players often just forgot to seek resource spawners out
  • It was a lot of fun to interact with enemies and players generally gravitated towards pushing them around and stomping on them

We are still making progress on the first point. UI and map updates are helping with player overview, but there is still more to be done. We decided to focus on bringing resource collection more in line with genre norms as that would impact points two and three.

Currency Collection Concept
Concept art showing how currency was originally collected by the player.

Big feature changes

We knew that the right way to reward the player with currency was by having them eliminate enemies. This is too much of a genre staple to mess around with (anymore). However, it was important that we still reward movement efficiency as well as give the player a reason to interact with enemies as much as possible (turning what’s fun into what must be done)!

We tried a few different ideas for this; gaining currency by clearing enemy corpses, gaining currency by last hitting enemies, etc. In the end we ended up with a new game object that would be placed around the level, the Shrine.

Shrines absorb enemy souls.

Any enemies killed within range of a Shrine will have its soul absorbed. The Shrine holds enemy souls like a piggy bank, and when the player needs to build more defences they must break the piggy bank to acquire the souls. A broken Shrine will no longer absorb enemy souls, so players are forced to build new nests of turrets further away from the Main Tower.

We are still figuring out how to properly tutorialise the feature, but players have reacted positively to the change so far. They are excited to engage with enemies as well as venture out further into the map to build at advantageous points. Min-maxing a Shrine’s soul collection, making strategic decisions about when to acquire the souls, and pushing/zoning enemies to keep them in range have all made the game more fun and replayable.

Obtaining the collected souls means destroying the Shrine.

On top of this, enemies killed outside the range of a Shrine spawn a soul that lingers on the map for a short amount of time. Players can grab these souls out of the air as they move around the level rewarding player movement efficiency with additional currency.

This was a bonus feature that ‘just made sense’ to add alongside the shrine functionality. It aligned perfectly with how we wanted players to engage with the game and understanding the idea of ‘lingering souls’ came quickly.

Jumping to catch the 'lingering souls' of enemies killed outside Shrine range.

Impacts to level design

The introduction of Shrines has caused the levels we are designing to flatten out. Enemy paths weave and curve more so that players have an easier time taking advantage of Shrine range. Levels have more flat open space and a lot less gaps in the terrain to give players more building options with their turrets. Ultimately, the levels have started to look a lot more like a traditional Tower Defence when you look at the entire map from above (seems like a good direction).

WIP level post Shrines
An exmaple of a level designed after we implemented the Shrine feature.

We are still experimenting with level design procedures at the moment. It is important for us to understand what makes a level of Tempest Tower fun so that we can reliably produce great levels at a reasonable pace. There is probably another blog post in here about ‘character movement test level(s)’ and how they inform our design rules... But that's for another time.

Gathering Peepers in a level designed 'post-Shrines'.

Stay up to date!

The best way to stay informed about Tempest Tower is to wishlist the game on Steam and follow our community updates! Beyond that you can get more frequent updates by joining our Discord or following us on Social Media (Twitter, Facebook, Instagram). You can also get less frequent updates by signing up for our newsletter.