Wednesday, July 14, 2021

Metroidvania and Randomization: Breakdown

Objective: A full-scale random map generator that is indistinguishable from a hand-crafted experience. Will we get there? Who knows!

Analysis:
Metroidvania games are based around tight hand-crafted experience. Levels are built in a way that encourage backtracking, to show improvement in the player's avatar and skill over time, a lock-and-key system to gate progression, and repeat playthroughs tend to change the way the game is experienced though advanced tricks or sequence breaking.

Procedural generation has the opposite promise. Every playthrough and experience has been shuffled, randomized, or otherwise changed. Each run is novel and unique. The world itself is unknown until explored and discarded at the end.

These two experiences are fundamentally incompatible. Combining the two will end up compromising on the promise of one or both experiences. This may be a small way, but

I believe the incompatibility exists on an experiential level. Super Metroid is a masterpiece of gaming; a randomly generated Super Metroid game is the holy grail of game design. Attempting to make a randometroidvania game requires a high level of design skill. The idea has been attempted, but it's hard. Let's take a look at why.

Problem 1: Randomized games are a lot less memorable

The core promise behind randomizing a game is that it is novel and unique. Seeing something for the first time is exciting; imagine seeing everything for the first time every time you started up a game. It would truly be a unique experience that can be shared and related to other people. There might be some common thread running through the gameplay, such as building a dirt house in Minecraft, but that common thread could happen on top of a mountain or next to a river or even inside a cave.

Experiences have narratives. Anyone who plays a game becomes the main character in their story. If the story is about making a tree, then it might involve research, a sketchbook to draw out a rough design, scanning, painting, and eventually taking the finished piece and putting it in a game. It might be about pulling up the dictionary in Scribblenauts and dropping a tree on a vampire. It might just involve bone meal to magically sprout a full size tree out of a sapling. The story itself is how we share games, and "random" games tend to be bad at this.

Trying to build something "random" makes building up the story of the world difficult. It's a lot easier to describe a single tree in a field than a single tree in a forest. It's also a lot easier to describe a forest in space than a forest next to a plain next to another forest next to a lake next to another forest. Differentiating the first forest from the last is difficult enough when the game is static; when the game constantly shifts around under its own weight, you miss the forest for the stars.

Procedural games tend to make everything into the forest: level elements are cookie cutter, bland, and can be shuffled around or inserted at any given point. Every piece in the story needs to be self contained and inserted into an experience at any given point. Relative difficulty over a scale becomes impossible to pin down, and the closest thing you'll see is that an area is more difficult because the monsters in it have more health and damage.

Cookie-cutter rooms are a design trap. If every piece needs to fit everywhere, then every piece needs to be more-or-less the same. Sure, the level might have some difference in the way it looks, and later parts of the game may have more traps or features to traverse, but they still can't have much variation.

If every piece is generic, then every piece is the same. If you're doing the same thing again and again for a few minutes, it's going to get boring. Why would you do a repetitive task that merely has slight variations? It's almost like the designer lost part of the design in the process or didn't know how to handle this to begin with.

Many games treat procedural generation as a blank check to replace what would be interesting and engaging content with novelty. The systems can be the best technical gameplay ever made and they will still be disappointing if there is no challenge or variation to use it on.

This problem rears its face again and again across any game with a randomized system. The problem can be solved; the best randomly generated games have a particular idea or experience they're going for. The randomness may blend into the background, or it may become the centerpiece of what the game is trying to express.

Random generation done right can can be better than hand-crafting everything. When it's done poorly... well. Let's just say that the results don't speak for themselves.

Problem 2: Procedural levels do not tell a cohesive story.


If we define a dungeon as a series of traps and pathways full of loot and danger, then Super Metroid becomes one of the greatest dungeon crawlers of all time. Its platforming system is quirky and floaty. The game is easy enough that a random person could pick it up and have a fun time over a 10-20 hour experience, but the skill ceiling is high enough that the human limit may not be reached. The game even has the same constraints as a lot of modern procedural counterparts: the entire game is a series of rooms and tubes connected up at doorways.

Super Metroid's greatest strength is in the way player skill is handled. A new player will find themselves fumbling through the entire world looking for the next upgrade. They will stumble into areas that show that Samus has skills that the player doesn't know about: running, wall jumping, and the shinespark. Once the player has mastered each of these skills, a new game opens up. Suddenly you can go where you hadn't before, beating the game "out of sequence", and with enough practice the common experience that everyone had when they started gets shattered into a wide variety of routes and choices.


(Above this plant is an item that needs a shinespark to access)

The unchanging map also lends itself towards mastery over the game itself. There are tiles placed strategically around the level to show where certain tricks or borders are. The level may seem a bit dull at first, but every tile, enemy, and doorway is placed in a way that notes "I am here". Even the smallest detail can be used as a visual cue. Combine that with completing the game out of order - sequence breaking - and eventually you can go anywhere in the game at any time provided you have the personal skill to do so. 

Super Metroid's story is something that can be explained as "I accidentally found a new area, got an upgrade, and then went back and did it again. The varia suit lets you run in super hot rooms to find a speed booster that turns you into the flash, and there was a boss the size of the entire screen, pools of acid to burn your face off, and the planet exploded!"

You'd be forgiven for missing out on the details of your journey. I'm sure each area was memorable, and subsequent trips will make all the little things shine.


Contrast this with Dead Cells, the roguelite metroidvania fusion. Every time you play the game a new world is generated. Characters do not start off fresh; instead they start with all of the skills and unlocks that have been gained over previous runs. A player who has been playing for an hour has likely died five times, unlocked two levels of potions, gotten used to how the basic sword and bow operate, and found themselves at the mercy of the prison.

Because each run is unique, the player needs to rely on their general gaming skill to get by. There aren't any specific training areas. The levels are mostly comprised of a linear path with some branches, and each section has a teleporter to make backtracking faster. Most areas are flat. Traps tend to be blocky, made of spikes, and infested with enemies.

Dead Cells sacrifices its individual upgrade aspects and some fine tuned gameplay to offer up a huge variety in weapons, good variety in enemies, a branching progression path that resembles its level layout, a level-up system based on loot, and a permadeath system that brings some upgrades forward each time cells are spent. It's a good tradeoff that leans heavier on its roguelite aspect than its countepart.

Dead Cell's story can be summarized as "I found a sword, killed some things, ran around AS a chicken with its head cut off, got my head cut off, and did it again. Each time I got a little further and the game got harder, but I finally triumphed after countless deaths."

This game gets around the problem of moment-to-moment player story by absolutely littering every level with enemies. There are occasional areas tacked on to the level called "lore rooms" that expand on the actual story, and each new level has a theme and a different type of layout behind it. The Docks always comes after a boss fight, has a lot of vertical buildings thatyou can go inside, and there are a good number of secret rolling areas to visit.


(the most interesting part of the game is the very beginning)

Let's look at another game with the same intention. A Robot Named Fight has the same roguelite metroidvania fusion as Dead Cells, but leans much heavier on its metroid roots. In fact, the robot controls so similar to Samus that you could play Super Metroid as a training area. That fact alone wouldn't be a problem if the difficulty of the terrain wasn't exactly uniform across the entirety of the game. There's no challenge in movement; you either jump high enough or you don't. You either jumped or you didn't.

Upgrades are randomized without any progression. The start may have a double jump, an explosive shot, or a movement shell. The last boss may have the same items. Every one of the items is about the same power level, give or take, and the only real thing that matters is damage or bolt changes.

Unfortunately, Fight comes out as the worst of the bunch. The entire world is shaped like an upside down e. It's broken up into four distinct zones, and the deeper you go into the map the harder the enemies are. However... every room feels like every other room across the entire game. The lock-and-key system is preserved, but it feels arbitrary to block off doorways with explosives or lightning because there's no real way of identifying where these doors are outside of looking at the map.

How much meaning can you find in the placement of an empty room? Nothing. How much meaning can you find in the placement of a completely randomized upgrade? Also nothing. How about single templates level layouts? Maybe something, but not much. At least not without making it painfully obvious.

A Robot Named Fight's story can be summed up as "Robot fights meat and gets random things to open random areas". It's not compelling. My own story hardly worth a mention. Each run is 'unique', but when you've played one run you've played them all.

Fight's problems go deeper than the fact it is a mediocre game. Narrative and story is not something that can simply be put on after the fact. Each area should be something the player interacts with and can get behind. Instead we get generic, bland, recycled single templates that get stitched together in a broken line. I couldn't even tell you what planet you're on.



Maybe the problem is the roguelite aspect? Let's try a pure version instead: Chasm

The entire game is generated at the start of a run. You can explore, collect resources, gather upgrades, die, respawn, and do it all again. This one leans more on Castlevania than it does on Metroid, and the weapons certainly match that. Daggers are quick with impossibly low range, greatswords are slow but highly damaging, and skills take mana that can be found inside random objects.

It seems like a great setup. The idea is sound and it wants to scratch the itch of a wonderful platforming upgrade niche. Bait, meet switch.

The game quickly turns into a drag. The character's movement speed is as slow as any Belmont's movement, but without the precision in level design, devilishly placed enemies, or intricate maps. Most of the terrain is flat platforms in wide open rooms.

The map is a sprawling list of tunnels that connect to other tunnels in long hallways of tunnels. Very occasionally the path branches off, but they don't connect. You would be forgiven if you would get lost in the bland nature of the open level design if it were not for the strictly linear nature of the paths. On the off chance you do have to go off the beaten path for an upgrade, you probably won't remember where the upgrade actually is.

This project commits the cardinal sin of gaming: boredom. The entire thing is boring from start to finish. The idea of a procedurally generated game is enough to suck you in, but the sheer amount of compromise in this product turns the entire thing on its head. The best thing I can say about Chasm is that it serves as an example of what not to do.

Chasm's story goes like this: "I started in a castle, got a message to travel to a place, took a look around, and jumped right in. After that I got lost multiple times and died a lot and then stopped playing because the last upgrade was a double jump."

Conclusion

We have two main problems to deal with that have the same root problem. Trying to marry a game type that tells its story through hand-crafted environments and repetition with a design pattern that rewards novelty and uniqueness leaves the two at odds. The ideas don't seem incompatible; hand-crafted and unique areas are similar, and repetition can be married with novelty in a variety of interesting ways.

 The real problem comes down to the restriction of completely replaceable templates all over the map. If these two ideas are going to get along they will need more structure, not less.

1 comment:

  1. Bloodborne had the chalice dungeons and almost everybody find them unfunny. Meanwhile the hand-developped levels are considered amazing.

    ReplyDelete

Self Reflection, Avatar Reflection

It started as a joke. One day I decided that my game development was going poorly because I was too attached to my characters. If I messed a...