Lots of popular games have static maps, meaning these maps don’t change. The huge world of Skyrim, for example, is exactly the same for all players. All of the buildings, dungeons, people, monsters and items and in exactly the same places for everybody. These static maps are popular for a reason. You can author your content to be exactly how you want it and you can provide a consistent experience over every playthrough.
Every single item in Skyrim (including this useless, random bowl by these steps) is in exactly the same place for every player.
But since these maps don’t change, the player can learn and remember them. And by remembering what worked on your previous playthrough you can trivially repeat that on future runs. Over time, all of the complex strategic decisions in your game collapse and become a memorisation puzzle. For this reason, games with static maps really struggle with replayability.
Over the years, game designers have come up with many ways of boosting replayability in static games. Super Metroid’s map is an intricate, twisting maze. To complete the game, players will have to backtrack many times over old areas as they navigate their way through the maze.
In most cases, forcing a player to backtrack will make them feel bored. But in Super Metroid, when you return to an area you often have new toys and upgrades that change how you traverse it. They might also be travelling from a different direction (like downwards instead of upwards), changing the kind of challenges involved.
Jumping down here was one thing. Climbing back up is a whole different kettle of fish.
Hollow knight is a new take on maze games with some fresh ideas. It has periodic fast travel points that make longer journeys through the maze more practical. Also, your map can only be updated while sitting at a bench – meaning you can’t rely on it when exploring an area for the first time.
The major downside of mazes is they are still puzzles in the sense they they have a fixed solution that you can discover. Once you’ve made it to the end of the maze, the desire to replay it is often low. It can take several years to forget enough of the map for it to feel truly fresh again.
Open world games take a different approach. They are static, but they aren’t linear. The map is the same for every player, but they get to choose their own route through it. By providing a large variety of places to visit they ensure that every player’s experience is pretty unique.
Zelda: Breath Of The Wild does this really well. Once the tutorial is complete, the player can go visit almost anything they can see. Some areas are soft gated by difficulty and weather effects but skilled players can overcome these. The game has some towns and villages that guide the player towards key content, but large parts of the game are completely optional. Most players won’t come anywhere close to finding all 120 Sheikah Shrines, and they’re just one aspect of the game’s content.
I can’t visit all these blue dots! I could barely visit a third of them!
But these games require enormous amounts of manpower. Zelda had around 300 people working on it for 4 years and it’s still a bit underdeveloped in some places. There’s only perhaps a dozen unique enemy types (if you don’t count recolors) and many of the side quests are just simple fetch chores.
Anyone who’s ever played Skyrim will also know how prone these games are to bugs. They have huge amounts of content that can interact in complex and unexpected ways, making it very difficult to do comprehensive quality testing.
Shrinking it Down
Some designers have gone in the opposite direction, stripping away all content that isn’t essential to the game’s core.
The best example of this is Journey. This game is barely 2 hours long, but every section is unique and highly memorable. The story covers a wide emotional range, has a few big surprises and reaches a satisfying conclusion.
You only slide down this obstacle course for a few minutes, but it was so much fun I don’t even care!
These games are not looking to maximise their replayability. Instead, they embrace storytelling and try to make the first playthrough as strong as possible. This works great for some games, but if you’re making something more gameplay-focused then this approach won’t help you much.
You can definitely do a lot with static maps. But I think there’s also huge untapped potential in dynamic maps – maps that change between playthroughs.
This idea has been around for a long time. Rogue, a game from 1980, tasks the player with descending a dynamic dungeon. Each floor of this dungeon is made out randomly placed rooms and corridors. The contents of each room is also randomised according to a list of possible options for that particular floor. One of the rooms is the starting location, and one other room has a stairway that takes you to the next floor. If the player can reach the bottom floor and defeat the boss, they win.
The graphics of Rogue have aged a little bit.
It’s important to note that this dungeon has a mixture of fixed and changing content. There are always the same number of floors and each floor has a particular set of possible enemies. Without these fixed structures the player would never be able to predict or learn anything. It would be sort of like the videogame equivalent of white noise – a fuzzy, indiscriminate blur.
The thing that makes dynamic games exciting isn’t randomness itself, but the combination of randomness and structure. With too much structure your game becomes very predictable and reduces down to a memorisation puzzle. But with too much randomness your game becomes fuzzy, lacking distinct challenges or tactics.
Shuffling is one of the simplest and most effective ways to strike a balance between randomness and structure. After shuffling a deck of cards you don’t know which card is on top. But, if you know what kinds of cards are in the deck, you can still make an educated guess.
Spelunky, a modern game inspired by Rogue, uses shuffling to great effect. Each floor of the dungeon is a fixed 4×4 grid of square rooms. These rooms are all individually authored which gives the designer a lot of control over their contents. One room might have a floor of spikes and some platforms to cross them. Another room might have a ladder and a dart trap pointing its way. Each room is a self contained challenge that the player can learn about and improve at.
These rooms are then shuffled so the player is shown a unique series of the fixed challenges each time they play. Some of the elements within a room are also randomised, adding another tier to the dynamic structure.
An example floor in Spelunky. The red line shows the critical path through the maze.
More Than Maps
Shuffling can be applied to all sorts of games in all sorts of ways. You don’t have to copy Rogue or its modern descendants to make your game more dynamic.
Pokemon Red has a static map but with dynamic encounters. Each patch of grass is the same for every player, but the particular Pokemon they encounter in that grass are shuffled (taken from a randomised list of Pokemon living in that area).
Hearthstone doesn’t really have a map at all, in the traditional sense. Instead, it has a small, static game board with seven minion slots on each side. But by shuffling the cards each player brought into the game they create a huge variety of emergent gameplay situations that vary between matches.
Dynamic matches, but without a map.
Your game doesn’t have to be themed around raiding a dungeon (or even around exploring a map at all) to make use of dynamic structures.
Randomness is Not Uniqueness
It’s easy to neglect the importance of fixed structure in a dynamic world. As a cautionary tale we could look at No Man’s Sky. This game made promised infinite variety (“every atom procedural”) and on some level they actually delivered this: You can explore a practically infinite number of unique planets.
But not all “uniques” are equal. In Zelda: A Link to the Past, every dungeon comes complete with its own enemies, traps, layout and boss. These dungeons are highly unique. But in No Man’s Sky, every planet is a slight variant on literally billions of other planets. The sky might have a different color and trees might have different leaf shapes, but at the gameplay level most of these changes make little difference. There are only perhaps a dozen mechanically unique planet types (rocky planets, frozen planets, jungle planets and so on). I think this game could have been much better if they focused on making 10 truly unique planets instead of 10 trillion slightly different shades of 10 planets.
I’ve never seen this particular kind of space goat before. But it’s still a space goat.
Static Stories, Dynamic Details
In Patch Quest, my own game, the map is static at the large scale. Landmarks, habitats and geological features like cliffs and rivers are always in the same places. This way, the player can remember the general feel of an area and start building strategies to defeat it. It also lets me tell stories about the world (you might be sent to a specific area A to find something for somebody living in another area B).
But at the small scale the terrain is heavily shuffled. So while you might have crossed a particular region of forest before, that forest’s trees, rocks and creatures will all be in different locations. Intuitively, you could say that the player plans their overall route, but improvises their steps.
In most Rogue inspired games, the map regenerates once per playthrough. But in Patch Quest, the map is shuffled every time you reach a checkpoint. This ensures you always have a fresh challenge, even when backtracking over an area you visited recently.
Here you can see the same location in Patch Quest but with 2 different shufflings. The path is still there and the wildlife is similar. But the tactics involved in travelling East or West will be quite different.
Even a small difference in positioning can have a drastic impact on strategy. Patch Quest shows the player a 9×9 grid of tiles at any point of time. This might sound small, but it’s actually larger than a Chessboard! And in a game of Chess, one single space can make the difference between victory and defeat.
Patch Quest is much simpler than Chess (since you only have one character to worry about, rather than 16!) But the point I’m trying to make here is that small variations in the details of a game can have a huge impact on replayability. You don’t have to build an entirely procedural world. Your game can be mostly static and still benefit greatly from some light dynamic touches.
Like in Spelunky, the world of Patch Quest is made out of a tessellating grid of self-contained units. But whereas each Spelunky room is Chessboard sized (8×8 cells), each “patch” in Patch Quest is Tic-Tac-Toe sized (3×3 cells).
By dramatically shrinking the size of my tessellation I can give each patch a clear and distinct identity. Every patch only has one type of dangerous terrain (below you can see Fever Grass, Sinkweed and Prickleweed), one type of creature and one type of scenery. All these elements are mechanically unique, which means crossing each patch requires different tactics.
The positioning of each of these elements is also randomised. So even if 2 patches both have Prickleweed, a Spin Star and a Bubble Bulb, these elements won’t be positioned in the same pattern. Some patches also have a bonus feature like the sandstone wall section on the left, for extra variety (but these features are always self-contained to their patch. They won’t ever cross a Patch boundary).
Each patch provides a small and distinct tactical challenge. But the real benefits come from arranging them in a grid. Now the player doesn’t just have to cross a single patch, but rather find a route through many patches. Some animals can also follow and attack you across patch boundaries, adding extra wrinkles to your strategy.
This repeating “patchwork” pattern helps me strike the balance between randomness and structure in my game.
Small, But Not Simple
Static, authored content has loads of benefits (which is why we make so many static games!) But adding dynamic elements to your world, even small ones, can have an enormous impact on replayability. It doesn’t actually take much randomness to prevent your game from collapsing into a memory puzzle! Many players will also feel more attached to their playthrough if they know it was unique to them.
This article has focused on just a few ways of making dynamic maps and I’d like to encourage people to experiment and try out new ideas. I think the huge success of pioneering games like Spelunky and The Binding of Isaac shows there’s an untapped demand for games that provide longevity through dynamic elements.
Thanks for reading! A major update for Patch Quest is releasing next Friday (Jan 5th). You can ride seahorses, raid an ancient tomb and more! If you want to be notified, you can subscribe to the official Youtube channel. And if you want to play the current version of Patch Quest, you can get it now for free (it will even automatically update itself when the new version releases). Your support helps me find the time to write these articles!