Metroidvania: A
style of game (2D or 3D) which often features exploration based gameplay where
a player controlled character gains new abilities that allow them to progress.
These games are often action adventure titles with re-traversal elements. They
include a growth system that unlocks meaningful upgrades that are required for game
completion. The name Metroidvania comes from mixing Metroid and Castlevania
though there are other games which use the same foundational design
philosophies. These titles include all of the Zelda games, Shadow Complex and
Cave Story. There is really no significant difference in game structure between
a Zelda game and a Metroid or SotN style Castlevania.
The following series is intended for game makers who would
like to take on the difficult task of creating a game within the Metroidvania
genre. If you have never made a game before and are looking here for advice on
how to make games I suggest you first get your feet wet by jumping into a tool
such as Unity, Unreal Engine, Construct 2 or any other assortment game
construction tools. You’ll need to know how to make games beforehand as I’m not
going to teach you how to make games from scratch.
If you are still reading then I expect you already have the
skillset required for game development and are looking for insight towards
planning a game in the Metroidvania genre. This is going to be a multi-part
series so if you don’t find what you are looking for right now I will probably
get to it in the one of the next few parts.
METROIDVANIA 101
Planning a Metroidvania game can be a daunting task and
there are a lot of pitfalls you can run into if you don’t plan correctly before
starting development. The reason you don’t see a lot of Metroidvania style
titles is that they don’t typically work if you are using a linear development
model. A good Metroidvania game requires the developer to understand how all
abilities and tools function before getting started making levels. (Note: You
can still make a Metroidvania game without having all abilities implemented
beforehand but it makes it highly likely you will be more limited in what you
can do later without massive amounts of rework.) Not only do you want to have
all of your player earnable abilities implemented, but you’ll also want to set
up a string of test levels which simulate your progression and growth through
the game (I will cover this in more detail later).
These are my personal philosophies and thoughts on Metroidvania
development so don’t take this as a rigid planning model. Only you will know
what you need to do and how to do it best so look at this as a guide and not
law. Some of the most innovative decisions you can make require you to break
the rules from time to time. The design strategies discussed here work for 2D
or 3D games and any assortment of camera styles (side scrolling, overhead,
first person, etc…).
GAMEPLAY SYSTEMS
PLANNING
Before you start building levels you need to build the
foundation of your game.
1.
Define the premise of your game is and what
makes it unique.
a.
Is it 2D or 3D?
b.
How does the camera work? (Is it a
side-scroller, overhead, player controlled, first person, third person, spline
based, scripted, static, etc.)
c.
What does the player control? (A character, a
vehicle, an object, etc.)
d.
What style is the game? (sci-fi, fantasy,
realistic, cartoony, exaggerated, unique)
e.
What defines the game and makes it stand out to
players? (mechanics, premise, look, story, characters)(you either want to do
something unique and memorable or do something someone else has done better
than they did it)
2.
Define the base player package properties. (What
can the character do before acquiring any new abilities?)
a.
How does the character move? (Fly, walk, roll,
slide, etc.)
b.
What does the character do to interact with the
world? (Jump, shoot, slash, grab, kiss, fart, etc.)(The interactions in the
game should support the premise and these standard interactions will define the
character of the game. The can be original or derivative.)
3.
Define what abilities, weapons, tools, equipment
that the character will obtain throughout the course of the game. These
abilities can improve prior traits, they can stack on top of existing
abilities, they can be equipped, and they can have limitations such as ammo.
Most of all you want to define what differentiates each ability from others.
a.
How many unique ways can the character movement
abilities upgrade? (Does it jump higher, fly, boost, run, crawl, roll, slide,
swing, spin, swim, etc?) (All movement properties require limitations and
unique mechanics. You don’t want one to invalidate all others.)
b.
How many unique ways can the character
transform? (Does it change shape, become another character, alter its state,
etc.)(Transformations can completely change a characters movement properties,
collision and vulnerabilities.)(All transformations require limitations and unique
mechanics. You don’t want one to invalidate all others.)
c.
How many unique ways can the character interactions
grow? (Weapons, projectiles, magic, elemental damage types, contact, special
abilities, etc.)(All interactions require limitations and unique mechanics. You
don’t want one to invalidate all others.)
d.
If the character uses projectiles then how many
different ways can they move? (do they arc, fly straight, dissipate over time,
fire rapidly, come out from off screen, zigzag, bounce, reflect, stop things, blow
up, etc.)
e.
How many unique ways does the character see the
world and how do enemies see the character? (Visors, Visibility Options,
Invisibility, Lights, Dimensions, Secrets, etc.) (All visibility options
require limitations and unique mechanics. You don’t want one to invalidate all
others.)
f.
How many unique hazards are in the game and can
the player earn something that prevents them from being damaged by these
hazards? (Suits, Charms, Armor, Forms, Hats, etc.)(To prevent or reduce damage
from hazards such as Fire, Lava, Water, Enemies, Electricity, Space, etc.)
g.
How many special world altering abilities can
the character gain or use? (Stop time, change gravity, teleport, fast travel,
activate, etc.)
h.
Does the player have health or require fuel and
ammunition that can expand or increase over time? (How much do players start
with and how much is the maximum capacity they can carry?)
Remember that abilities, tools and equipment
can be implemented in different ways. They can be active, requiring the player
to press a button or do a command to use. They can be passive, automatically
doing what they need to when they need to. They can be equipped and unequipped
by player choice. They can have limitations that prevent them from being used
repeatedly or in certain areas. They can be used to interact with the
environment, enemies or obstacles. They can have limited quantities or be one
time use events.
SYSTEMS IMPLEMENTATION
Now that you’ve conceptually planned what you want to do
with the main character and how they can grow it’s time to begin. Remember that
a great Metroidvania game has nuances to how all of the mechanics work. The best
mechanics are versatile with multiple uses. They create new gameplay
opportunities and include limitations so that they can be implemented in
configurations that create challenging moments for the player. This is the
failing point for most attempts at making a Metroidvania game. The abilities
you gain should all be unique and rewarding with detailed and polished
mechanics. Now it’s time to create.
You should have a list compiled of the abilities you want to
include that might look something like the one below.
Example Abilities
List – I’m using simple and generic abilities in this example. Your list
should hopefully be more creative and unique.
·
Default
Abilities – Slash, Jump, Walk
·
Ability
Upgrades – High Jump, Fire Projectile, Cat Transformation, Poison Suit,
Night Vision, Reverse Gravity, Ice Slash, Run
The quantity of abilities that players can unlock is up to
you. You can create as few or as many as you think you need to make your game.
The list at this point is not ordered.
Ability Standards
– you will need to have level construction standards that show the ranges your
abilities can reach when used. This will help with level design and tuning. (Example: Default Jump Max Height: 2
Meters - High Jump Max Height: 5 Meters)(Illustrations and diagrams help with
planning)
·
First build a proxy of the main character and
setup the characters base movement properties. (you don’t need art or
animations, all you need is a box to represent the collision) Make a small test
level that is a reasonable approximation of a real play space in order to get
the feel right. It doesn’t have to look good, but you’ll want it to “feel” good
even if it’s ugly. (Build on a grid – don’t eyeball your measurements.)
·
Next you’ll want to implement all abilities that
alter the way the character can move in the world. This is the most important
part to finish as it will define all of the limitations and restrictions you
will have in how you construct levels and what they will include.
·
Once all of your movement altering abilities are
implemented and tuned so that they can work well with each other you can start
blocking out a simple string of levels or rooms.
(At this point there doesn’t have
to be any representation of enemy interaction but it would still be beneficial
to start work on character interaction abilities. They will be used for
interacting with the world as well)
PROGRESSION TESTING
SEQUENCE
You have your mechanics implemented, so now you need to
block out an expanded test environment to figure out a few things. You want to
build your level assets so that they have standardized entry ways. (Use uniform
sizes and build on a grid) This way you can move your level assets around and
change the order in which they can be strung together.
The progression testing sequence is going to be a collection
of rooms strung together one after another. This sequence will be used to
figure out which abilities players will unlock and in what order.
Each room should accomplish the following goals.
1.
Allow players to enter the room and see a
graphical representation of the ability they are going to unlock.
2.
Force players into a one way situation where
they have no other option than to collect the item.
3.
Allow players to touch the item in order to
acquire the new ability.
4.
Force players into a situation where they are
required to use the ability in order to exit the room.
5.
Allow players to exit this room only after using
the ability in order to enter the next room.
These rooms should be self-contained experiences. They
shouldn’t be large rooms and they don’t need to look good. All of the
information players need should be provided immediately in view in the default
camera. This should represent the most generic use of the ability a player has
just earned. The room and situation should be clear and easy to understand. The
only thing in the room that needs to be fun is the very small section which
requires the use of the new ability. (DO NOT TRY TO MAKE THE LAYOUT INTERESTING
OR COMPLEX AT THIS POINT! This could cloud your judgment and distract you from
your goals at the phase of development.)
Once you have blocked in all of the rooms which include all
of the unlockable abilities, try to string them together in the order which you
think you would enjoy earning them.
Now that you can test the sequence you will begin to see
what the game can be like in compressed form. (You get a taste for the feel of
the character at any given point in their growth sequence based on when you
collect abilities.)
·
Could a player complete the entire sequence and
get all abilities?
·
Did the order that the player earned the new
abilities feel correct? Did anything stand out as out of order?
·
Where you able to prevent the player from
progressing without acquiring the new ability?
·
Did the ability feel good when you used it in
the room you created?
·
Did players get confused about how to use the
ability or where to use the ability in the sequence?
·
Were players able to get turned around or
progress through the sequence incorrectly?
As you answer the questions above start thinking about how
to improve anything that needs improvement. If players are getting the cooler
abilities too soon then try to rearrange the rooms and the orders in which they
acquire them. If players are breaking the progression then try to fix the
example or tune the mechanics to allow for a limitation. If players are
confused then try to fix the room or the mechanics of the ability. If anything
feels wrong or awkward then either fix it or replace it.
At this point it’s ok to fail with an idea because you
haven’t started building the game yet. You need to get it right.
If everything functions and you can progress through the
whole sequence of levels without a problem then you can move forward. If
everything feels good and you are happy with the order of progression using the
movement based abilities then it’s time to work on interaction abilities. Make
sure you can activate any ability at any time using debug options. This will
save you a lot of time.
WORLD, OBJECT AND
ENEMY INTERACTION TESTING
Now that you know all of the ways the character can move
it’s time to figure out the enemy and object interactions. Create another
simple test environment to figure out your world and object interactions.
You will probably want to have:
·
Doors
– These will separate your areas and are a great way to block off areas until
the player has earned the right ability or item. (Special weapon, key, suit,
items, etc. are required to unlock.) Create all door types in your test
environment! Try to use a single standard door size with different looks that
represent what the player should use in order to open them. Remember doors can:
o
Open and Shut repeatedly
o
Lock behind the player to force them to deal
with a situation
o
Unlock based on a puzzle or defeating an enemy.
o
Require an ability, weapon or key to unlock.
o
Be used to mask loading or help with area
transitions.
·
Destructibles
– These are objects that can break, dissolve or disappear in order to allow
players to progress or find hidden items.
·
Obstacles
– These are things that can damage the player. You might be able to bypass
them by using unlocked abilities. Each should serve a purpose and be tuned to be
overcome with ease once the player has acquired the right tool.
·
Devices/Moving
Objects – These are things that require the use of certain abilities in
order to activate them. They will move the player from one point to another and
should be required to be used in order for the player to reach a new location.
(Zip lines, elevators, moving platforms, gears, pistons, power sources, etc.)
Remember that some of these things can and should be
utilized before unlocking new abilities. Others should require abilities to
use. Each ability the player has should have at least one interactive element
that works well with it. (Or requires an ability to use it)
ENEMIES
Each enemy needs to be fun to engage with whatever default
interactions the character has available. They can be hard to deal with but
they should still be manageable. You should plan enough enemies to have at
least one enemy, per ability, that is vulnerable to that ability or weapon. You
should also have enemies that are fun to fight even when you have a maxed out
character. It’s up to you to figure out what enemies work best for your game
and the levels you include.
The enemies are there to reinforce the great feeling of
character growth. They are an important part of the equation.
FINISH THE ABILITY
TESTING SEQUENCE
Once you’ve completed at least one door type or obstacle
that requires a new character interaction to bypass you can finalize the
ability testing sequence.
You can now create new test rooms where players can unlock
or earn abilities which allow them to interact with the world. You will add
these rooms into the original test sequence you created. The goal is to fill in
all of the doors and pace your interaction unlocks with your movement modifiers
so that they go together nicely.
Most people will evenly place interactions (new weapon or
attack) between movement upgrades so that the pacing is even. You might not
want even pacing because a perfectly paced game is predictable. People can get
bored with predictable.
Use your best judgment when pacing out where all of the
abilities are located in the test sequence. At the end you should have a micro
version of the entire game you will make. You should be able to enter each room,
one after another, and unlock abilities which allow you to progress forward and
unlock the door to the next room. There should be one room per obtainable
ability with only one required interaction in order to progress. From here you will
figure out the exact order that players should be required to earn abilities in
order to progress on the critical path to completion.
Don’t worry about sequence breaking with these test levels.
If you did your job correctly with the layout then shouldn’t be possible.
At this point you will know how the game plays and what the
abilities do. You will know that you can prevent progress until a player earns
and ability, item or weapon. You should
also know when you will unlock each ability and you will have a good feeling
about that order. You will have an assortment of interactions and enemies to
get you started. Your game is only as good as your mechanics and if the
character doesn’t feel fun to control at this point then you need to work at it
until it does.
You should now have a list which includes all finalized abilities
and what order the player is intended to unlock them in order to progress
through the game. Your finished progression list might look like this:
1.
Run
2.
High Jump
3.
Fire Projectile
4.
Poison Suit
5.
Cat Transform
6.
Ice Slash
7.
Night Vision
8.
Reverse Gravity
Up Next Level and World Planning!
TO BE CONTINUED IN
PART 2!
(PART 2 will discuss how to plan your levels and world
layouts! I will also discuss best practices when laying out a world so that you
get the most out of the abilities the player unlocks. These will include the
tricks that separate the good games from the bad. The most important part of a
Metroidvania games levels is the core interaction loop.)
Here is a preview of the core interaction loop layout I will walk you through in part 2. Thanks.
Here is a preview of the core interaction loop layout I will walk you through in part 2. Thanks.
Very nice. I look forward to your further installments.
ReplyDeleteReally nice. Currently starting a project, and I can see now that careful planning and testing every ability is really important. Going to read the 2nd part.
ReplyDeleteThanks for sharing this stuff, you rock!
ReplyDeleteHi, I just want to say that this is a very good article!
ReplyDeleteIt's funny, but a lot of how I planned out the Hasslevania games (H2 in particular) coincide with your guide. For example, wearing different suits of armor influences your jump heights so making all the platform heights uniform was extremely important to set up beforehand. A regular jump wearing the default orange jumpsuit can clear 6 "bricks" high but wearing the heavier iron armor can only clear 4 of them.
I'd like to invite you and anyone else reading this to please check out my screenshot map of the first Hasslevania game I made. Though it had some shortcomings I'm dealing with in its sequel, I was very proud of the overall level design as it was my first Metroidvania.
You can check my website out for more info here. The H1 map is on the Hasslevania 1 section of course.
http://dxfgames.com/
Thanks again!
Del_Duio, dxf games
Terrific article, Kynan!
ReplyDeleteThe information you have posted is very useful. The sites you have referred was good. Thanks for sharing...
ReplyDeleteFrvi
Lovely article! It's often difficult to get to the root of a game's design, and not just its programming. This has given me a score of ideas on how to approach and refine mine.
ReplyDeleteI'm glad to see the great detail here!. Playstation 3 Deals
ReplyDeleteawesome post, good job!
ReplyDeleteInteresting blog! Thanks guys for sharing on your knowledge about this fields.
ReplyDeleteVirtual reality museum
Hi there! Nice stuff, do keep me posted when you post again something like this!
ReplyDeletebought instagram followers review
This is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value of providing a quality resource for free.
ReplyDeletebuy instagram likes cheap spread
Thanks for sharing and useful information. I love metroidvania games and I'm playing these games every day. This blog is really good.
ReplyDeleteThe NISM Series VIII - Equity Derivatives Certification mock test Exam is one of the very important exams conducted by the National Institute of Securities Market
ReplyDeleteI came from the future, as a Game Design Student, to say: This is an amazing document. It has helped me a lot in different activities I've had to do.
ReplyDelete