Difference between revisions of "Generic techniques"

From SDA Knowledge Base

Jump to: navigation, search
m (Planning: m)
(Mostly editing, making it easier to read. Adding a couple of examples. Adding a bit to lag reduction. I'm up to additional items, I'll edit it later.)
Line 1: Line 1:
Although there is a multitude of different games in different genres, there are also a lot of optimization and planning techniques applicable to many of them.
+
Although many types of games exist, there are still lot of optimization and planning techniques that apply to any game.
  
 
''TODO: add more examples and link them to game pages.''
 
''TODO: add more examples and link them to game pages.''
Line 5: Line 5:
  
 
=Basic techniques=
 
=Basic techniques=
These tricks are common to most games, especially platformers, yet they often tend to be overlooked by beginning speedrunners. Make sure to avoid making these mistakes!
+
These tricks are common to most games, especially platformers, yet they often tend to be overlooked by beginning speedrunners. Make sure to pay attention to these techniques!
  
  
Line 13: Line 13:
 
In many platform games, movement on slopes or curves is slower than movement on flat ground. This is commonly bypassed by jumping or other kinds of aerial movement.
 
In many platform games, movement on slopes or curves is slower than movement on flat ground. This is commonly bypassed by jumping or other kinds of aerial movement.
  
In many cases jumping also incurs a penalty on horizontal speed. In this case minimize the amount of your jumps and, if game allows that, their height as well.
+
In many cases jumping also slows the player down. In this case, minimize jumps, and if the game allows it, their height as well.
  
If a platformer game has ladders, see if it's possible to jump up or down from them.
+
If a game has ladders, see if it's possible to jump up or down from them.
  
 
===Damage knockback===
 
===Damage knockback===
If a player character can take damage in a game, it usually means it will knock it back, in some cases also paralyzing it for a short period of time. If avoiding damage doesn't seem to be feasible, you can try minimizing the negative effect by taking damage in different conditions: while airborne, while turned around, and so on.
+
When a player character takes damage in a game, they are usually knocked back. In some cases the player is also paralyzed for a short period of time. If avoiding damage doesn't seem to be feasible, you can try minimizing the delay by taking damage in different conditions: while airborne, while turned around, and so on.
  
 
===Lag reduction===
 
===Lag reduction===
Computation-demanding games coupled with game consoles' hardware constraints or simply bad coding are prone to creating artificial slowdown, also known as lag. On a lag frame the console is busy calculating the information required to draw next frame. If a game time isn't measured using in-game timer, this puts runner at a severe disadvantage as they are losing precious time even nothing is done wrong. However, it might be possible to reduce lag by carefully determining which in-game actions produce it and minimizing their amount. Testing on an emulator with lag counter may help a lot.
+
Computation-intensive games coupled with game consoles' hardware constraints or simply bad coding are prone to creating artificial slowdown, also known as lag. On a lag frame the console is busy calculating the information required to draw next frame. If a game's time isn't measured using in-game timer, lag puts runner at a severe disadvantage as they are losing precious time even nothing is done wrong. However, it might be possible to reduce lag by carefully determining what produces it. Testing on an emulator with lag counter may help a lot, although beware, emulators do not always emulate lag accurately.
  
Common factors that create or increase lag are: large amounts of objects (polygons for 3D games) on screen, explosions. One of the techniques used to reduce lag in early 3D console games was looking at the floor or walls to reduce the amount of processing required to draw frames.
+
Common factors that create or increase lag are: large amounts of objects (polygons for 3D games) on screen, explosions.
 +
 
 +
Methods of reducing lag in 2d-platformers include killing enemies and minimizing the number of shots on screen. One of the techniques used to reduce lag in early 3D console games was looking at the floor or walls to reduce the amount of processing required to draw frames.
  
  
 
==Building up momentum==
 
==Building up momentum==
In nearly all platformers or platform-based games that employ horizontal or vertical acceleration (you can tell it if the player character's moving speed increases as it moves in a direction), it should be possible to save time by building up momentum before you are allowed to move in a desirable direction. In practice, this usually boils down to two major examples.
+
In nearly all games with horizontal or vertical acceleration (you can tell it if the player character's moving speed increases as it moves in a direction), it should be possible to save time by building up momentum before you are allowed to move in a desirable direction. In practice, this usually boils down to two major examples.
  
 
===Jumping before a fall===
 
===Jumping before a fall===
If the character's horizontal speed isn't significantly reduced during a jump, it is usually a good idea to jump just before you fall off a platform to have a higher vertical momentum by the time you clear the ledge. This is further emphasized if you need to change horizontal movement direction after you clear the ledge (but the gain can be negated if a game doesn't allow changing directions while airborne, like Ghosts 'n Goblins or Castlevania).
+
If the character's horizontal speed isn't significantly reduced during a jump, it is usually a good idea to jump just before you fall off a platform to have a higher vertical momentum by the time you clear the ledge. This is further emphasized if you need to change horizontal movement direction after you clear the ledge (but the gain can be negated if a game doesn't allow changing directions while airborne, like Ghosts 'n Goblins or Castlevania). A good example of jumping before a fall is Mega Man 1, 2, and 9, jumping before a fall is frequently seen in speedruns to save time, especially in the [http://speeddemosarchive.com/MegaMan9.html#TimeAttack Mega Man 9 time attacks].
  
 
===Running towards opening doors===
 
===Running towards opening doors===
Line 37: Line 39:
  
 
=Advanced techniques=
 
=Advanced techniques=
These techniques are more rarely found. They usually require better character handling and might be difficult to perfect, but the result is usually worth it.
+
These techniques are not as common as the basic techniques. They usually require better character handling and might be difficult to perfect, but the result is usually worth it.
  
  
Line 44: Line 46:
  
 
===Diagonal movement===
 
===Diagonal movement===
Certain games, usually overhead 2D games or first-person action games, sum up forward and sideward movement vectors, increasing your diagonal speed above that of a regular forward movement. This can be abused if you turn the character at an angle (usually 45° to the target direction). This technique is commonly known as ''straferunning''.
+
Certain games, usually overhead 2D games or first-person action games, sum up forward and sideward movement vectors, increasing your diagonal speed above that of a regular forward movement. This can be abused if you turn the character at an angle (usually 45° to the target direction). In other words, you run sideways. This technique is commonly known as ''straferunning''.  
  
 
Examples: Contra 3 overhead stages, Doom.
 
Examples: Contra 3 overhead stages, Doom.
  
 
===Utilizing faster-than-running moves===
 
===Utilizing faster-than-running moves===
Many action games (both 2D and 3D) have moves that allow you to dodge or attack in a way whose speed exceeds that of normal running, even if it means moving in a non-straight line. Carefully examine all ways of movement (especially jumps and other aerial attacks, since they are less prone to friction) before deciding on an optimal way of movement.
+
Many action games (both 2D and 3D) have moves that allow you to dodge or attack with a method that is faster than normal movement, even if it means moving in a non-straight line. Carefully examine all movement (especially jumps and other aerial attacks) before deciding on an optimal way of movement.
  
 
Examples: Ocarina of Time, Metroid Prime.
 
Examples: Ocarina of Time, Metroid Prime.
  
 
===Bunny hopping===
 
===Bunny hopping===
Bunny hopping is a generic technique that consists of repeated jumping in order to preserve horizontal momentum. This is commonly used in two ways. The first is avoiding downtime after a certain in-game physics event, like falling from a large height in platformer games (Super Castlevania IV) or beginning horizontal movement (Darkwing Duck). Another is minimizing friction after building up a high movement speed (Rocket Knight Adventures, Quake series and many other FPS games). More often than not it also means that the game allows jumping without horizontal speed penalty.
+
Bunny hopping is repeated jumping in order to preserve horizontal momentum. Bunny hopping is used in two ways. The first is avoiding downtime after a certain in-game physics event, like falling from a large height in platformer games (Super Castlevania IV) or beginning horizontal movement (Darkwing Duck). Another is minimizing friction after building up a high movement speed (Rocket Knight Adventures, Quake series and many other FPS games). More often than not bunny hopping allows jumping without horizontal speed penalty.
  
 +
Examples: Quake, Half-Life.
  
==Abusing hitpoint/life reserves==
+
==Abusing hitpoints/life==
In a speedrun, the character's health can and should be used to speed up the gameplay if the game allows that. There are several common ways to do so.
+
In a speedrun, the character's health can and should be used to speed up the gameplay if the game allows. There are several common ways to do so.
  
===Damage boosting===
+
===Damage Boosting===
Taking damage from an enemy is often faster than dodging it. In certain cases, most notably platform games, it allows major sequence breaking as a successful damage boost propels the player character to an otherwise unreachable distance or allows it to skip an otherwise mandatory checkpoint (example: Castlevania: Symphony of the Night). Some games also have a dedicated dodging move that can be abused this way (example: Super Metroid).
+
Taking damage from an enemy is often faster than dodging it. Sometimes taking damage can create a major sequence breaking opportunity, because a successful damage boost can propel the character past an normally impassable checkpoint, or to an otherwise unreachable distance (Castlevania: Symphony of the Night). Some games also have a dodging move that can be abused this way (Super Metroid).
  
A special case of this is using the player's own weaponry for damage boosing. Notable examples include rocket and grenade jumping in Quake series.
+
A special case of damage boosting is using the player's own weaponry. Notable examples include rocket and grenade jumping in the Quake series.
  
 
===Invincibility period abuse===
 
===Invincibility period abuse===
Abusing invincibility period resulting from a hit or a death often allows the player character to bypass instant-kill obstacles such as spikes. In some games it also allows using enemies as platforms (see also: damage boosting).
+
Abusing an invincibility period resulting from a hit or a death often allows the player to bypass instant-kill obstacles such as spikes. In some games, the invincibility period also lets the player use enemies as platforms (see also: [[#Damage_Boosting|damage boosting]]).
  
 
Example: Mega Man series.
 
Example: Mega Man series.
  
 
===Respawn abuse===
 
===Respawn abuse===
If dying in a game allows you to respawn in the same stage without resetting it (or reverting to a checkpoint), it can be taken advantage of in several ways, like climbing heights faster, crossing pits, etc..
+
If dying respawns the player in the same screen he or she died, then dying can sometimes climb heights faster, cross pits, etc..
  
 
===Checkpoint abuse===
 
===Checkpoint abuse===
In games that use several checkpoints per stage, dying just as you reach one of them can benefit you by skipping a mandatory cutscene or refilling your HP/ammo reserves.
+
In games that have several checkpoints per stage, dying just as you reach one of them can benefit you by skipping a mandatory cutscene or refilling your HP and ammo.
  
  
 
==Abusing uninterruptible moves==
 
==Abusing uninterruptible moves==
Certain platformers and action games have moves that are commonly left uninterrupted by in-game cutscenes, like slides, jumps or aerial attacks, tackles or other charge attacks, and so on. If a game has a cutscene that forces the player character to freeze in place or slowly move towards a certain point on the screen, it might be a good idea to initiate an uninterruptible action just before the cutscene starts to let the character move <nowiki>[faster]</nowiki> during the downtime.
+
Certain games have moves that are frequently left uninterrupted by in-game cutscenes, like slides, jump attacks, tackles, and so on. If a game has a cutscene that forces the player character to freeze in place or slowly move towards a certain point on the screen, it might be a good idea to initiate an uninterruptible action just before the cutscene starts to let the character move <nowiki>[faster]</nowiki> during the downtime.
  
Example: Castlevania: Circle of the Moon.
+
Examples: Castlevania: Circle of the Moon, Castle Crashers.
  
  
 
==Bypassing unwanted triggers==
 
==Bypassing unwanted triggers==
Many games have cutscenes or in-game events that can lead to an unwanted slowdown. In some cases there are ways to bypass them.
+
Many games have cutscenes or in-game events that can lead to an unwanted slowdown. Sometimes there are ways to bypass these triggers.
  
 
===Moving too fast===
 
===Moving too fast===
Certain triggers can be bypassed if you don't give them enough time to initialize. This usually means hitting another trigger (commonly room transition) before the invisible timer expires by means of high movement speed.
+
Certain triggers can be bypassed if you don't give them enough time to start. This usually means hitting another trigger (commonly room transition) before the invisible timer expires.
  
Examples: Castlevania: Symphony of the Night (skipping Death), Super Metroid (skipping Torizo).
+
Examples: Castlevania: Symphony of the Night (skipping the Richter fight), Super Metroid (skipping Torizo).
  
 
===Moving around a trigger===
 
===Moving around a trigger===
In platform games, be it 2D or 3D, triggers are commonly placed as small areas of ground activated by stepping upon them. However, it more often than not means you can move around them, commonly by jumping over/around or using an event that instantly moves you behind the trigger.
+
In both 2D and 3D platform games, triggers are commonly placed as small areas of ground activated by stepping upon them. However, more often than not you can move around these triggers by jumping over/around them or using an event that instantly moves you behind the trigger.
  
 
Example: Half-Life series.
 
Example: Half-Life series.
Line 98: Line 101:
  
 
==Clipping through objects==
 
==Clipping through objects==
As elaborated on [[Bughunting]], collision detection in games isn't always perfect. In certain cases it means there are ways to clip inside/through an object or terrain element by pressing into it with a certain force or under a certain angle, while under a certain movement- or collision-altering effect (such as invincibility period), by using another object, or a transportation device (often as simple as a ladder, like in NES Donkey Kong). It's often possible to clip inside an object if it solidifies already after the player character enters it.
+
As elaborated on the [[Bughunting]] page, collision detection in games isn't always perfect. There are sometimes ways to clip inside/through an object or terrain element by pressing into it at a certain angle, moving in a certain way, utilizing a collision-altering effect (such as invincibility period), using another object, or a transportation device (often as simple as a ladder, like in NES Donkey Kong). It's often possible to clip inside an object if it solidifies after the player character enters it.
  
 
===Zipping===
 
===Zipping===
 
Some 2D games employ a protective mechanism that ejects the player character from a solid object, known as ''zipping''. Since zipping commonly occurs at a very high speed (either horizontal or vertical), in some cases it's possible to abuse it by entering solid objects purposefully.
 
Some 2D games employ a protective mechanism that ejects the player character from a solid object, known as ''zipping''. Since zipping commonly occurs at a very high speed (either horizontal or vertical), in some cases it's possible to abuse it by entering solid objects purposefully.
  
Examples: NES Mega Man games and other games on similar engines.
+
Examples: NES Mega Man games and other games with similar engines.
  
  
 
==Luck manipulation==
 
==Luck manipulation==
If a game has random events, it should be possible to retry a segment (or a full run if its length allows) until the odds are strictly favorable throughout. This can lead to a lot of time saved in games which rely on critical hits or instant-kill attacks, like RPGs.
+
If a game has random events, it is possible to retry a segment (or a full run if length allows) until the odds are in the player's favor. These retries can save a lot of time in games that have critical hits or instant-kill attacks, like RPGs.
  
It should also be noted that in pretty much all cases, all random events in a videogame aren't really random: they depend solely on player's input. In most cases it means there might be a pattern of input that produces the same or similar results if repeated more-or-less precisely. This is very important for boss fights, where you want the boss to behave as you want it to.
+
It should also be noted that in some games, the random events aren't really random: they depend solely on the player's input. In these cases it means there might be a pattern of input that produces the same or similar results if repeated. This manipulation is very important for boss fights, where you want the boss to behave as you want it to.
  
  
 
=Planning=
 
=Planning=
Planning is a core element of pretty much every speedrun. Be it hitpoints, ammo, weapons or routes, everything must be thought through way before actual speedrun attempts begin: you don't have time to think about what you should and shouldn't do, you should ''know'' it. It's often a difficult and tedious process, but there are several common rules that can make it easier.
+
Planning is a core element of pretty much every speedrun. Whether it is hitpoints, ammo, weapons or routes, everything must be thought through before actual speedrun attempts begin: you don't have time to think about what you should and shouldn't do during a speedrun, you should ''know'' it. Planning is often a difficult and tedious process, but there are several common rules that can make it easier.
  
  
 
==Hoarding powerups==
 
==Hoarding powerups==
Be sure to collect only as much HP and ammo powerups as needed for maximum speed. It might be initially hard to avoid getting a powerup at first, but eventually you get used to it. Likewise, if you've been granted surplus expendables, make sure to put them to work towards your speed goals.
+
Be sure to collect only as much HP and ammo powerups as needed for maximum speed. It might be hard to avoid getting a powerup at first, but eventually you should get used to it. Likewise, if you've been granted surplus powerups, be sure to use them effectively (if you can).
  
If a game assigns additional bonus for leftover ammo or HP (like in early Castlevania games), it should be profitable to discard them where it doesn't cost you time to minimize the time the game spends counting them at the end of a stage.
+
If a game gives an additional time-consuming bonus for leftover ammo or HP (like in early Castlevania games), it is advantageous to discard them if it doesn't cost time.
  
  
 
==Item collection==
 
==Item collection==
Some games, like Zelda or Metroid series, have items required to access formerly inaccessible locations of the game world or increase the amount of player's expendables.
+
Some games, like the Zelda or Metroid series, require items to access formerly inaccessible locations of the game world or increase the player's health or ammunition.
  
 
===Determining the necessary item set===
 
===Determining the necessary item set===
Not all items are required to finish the game. It's usually easier to go from the bare minimum and see if you can find a place you can't proceed to under any feasible circumstances. At that point, add one item that helps you bypass the obstacle and repeat the process. If several separate items can be used to bypass a given obstacle, see which of them saves more time in other places, and continue planning from there. After you've come up with a bare minimum, you can think of getting additional items to speed the process up.
+
Not all items are required to finish most games. It's usually easier to go from the bare minimum and see if you can find a place you can't proceed to under any feasible circumstances. At that point, add one item that helps you bypass the obstacle and repeat the process. If several separate items can be used to bypass a given obstacle, see which of them saves more time in other places, and continue planning from there. After you've come up with a bare minimum, you can think of getting additional items to speed the process up.
  
 
===Additional items===
 
===Additional items===
Line 139: Line 142:
  
 
=See also=
 
=See also=
[[Bughunting]] — a similar guide to discovering and taking advantage of programming errors in games.
+
[[Bughunting]] — a guide to discovering and taking advantage of programming errors in games.

Revision as of 14:41, 1 September 2009

Although many types of games exist, there are still lot of optimization and planning techniques that apply to any game.

TODO: add more examples and link them to game pages.


Basic techniques

These tricks are common to most games, especially platformers, yet they often tend to be overlooked by beginning speedrunners. Make sure to pay attention to these techniques!


Avoiding common slowdowns

Jumping

In many platform games, movement on slopes or curves is slower than movement on flat ground. This is commonly bypassed by jumping or other kinds of aerial movement.

In many cases jumping also slows the player down. In this case, minimize jumps, and if the game allows it, their height as well.

If a game has ladders, see if it's possible to jump up or down from them.

Damage knockback

When a player character takes damage in a game, they are usually knocked back. In some cases the player is also paralyzed for a short period of time. If avoiding damage doesn't seem to be feasible, you can try minimizing the delay by taking damage in different conditions: while airborne, while turned around, and so on.

Lag reduction

Computation-intensive games coupled with game consoles' hardware constraints or simply bad coding are prone to creating artificial slowdown, also known as lag. On a lag frame the console is busy calculating the information required to draw next frame. If a game's time isn't measured using in-game timer, lag puts runner at a severe disadvantage as they are losing precious time even nothing is done wrong. However, it might be possible to reduce lag by carefully determining what produces it. Testing on an emulator with lag counter may help a lot, although beware, emulators do not always emulate lag accurately.

Common factors that create or increase lag are: large amounts of objects (polygons for 3D games) on screen, explosions.

Methods of reducing lag in 2d-platformers include killing enemies and minimizing the number of shots on screen. One of the techniques used to reduce lag in early 3D console games was looking at the floor or walls to reduce the amount of processing required to draw frames.


Building up momentum

In nearly all games with horizontal or vertical acceleration (you can tell it if the player character's moving speed increases as it moves in a direction), it should be possible to save time by building up momentum before you are allowed to move in a desirable direction. In practice, this usually boils down to two major examples.

Jumping before a fall

If the character's horizontal speed isn't significantly reduced during a jump, it is usually a good idea to jump just before you fall off a platform to have a higher vertical momentum by the time you clear the ledge. This is further emphasized if you need to change horizontal movement direction after you clear the ledge (but the gain can be negated if a game doesn't allow changing directions while airborne, like Ghosts 'n Goblins or Castlevania). A good example of jumping before a fall is Mega Man 1, 2, and 9, jumping before a fall is frequently seen in speedruns to save time, especially in the Mega Man 9 time attacks.

Running towards opening doors

If a game has doors or other temporary blockades you have to wait for (like in Metroid series), it might be possible to go slightly back and use the distance and waiting time to accelerate. This way, by the time the blockade is cleared, the character will be moving at a high speed, saving the time needed to accelerate.


Advanced techniques

These techniques are not as common as the basic techniques. They usually require better character handling and might be difficult to perfect, but the result is usually worth it.


Optimizing movement speed

In vast majority of games, simply moving forward (in straight lines for 3D games) is faster. In 3D games this also means you need to sharply cut corners, moving in a shortest possible path from A to B. However, there are exceptions.

Diagonal movement

Certain games, usually overhead 2D games or first-person action games, sum up forward and sideward movement vectors, increasing your diagonal speed above that of a regular forward movement. This can be abused if you turn the character at an angle (usually 45° to the target direction). In other words, you run sideways. This technique is commonly known as straferunning.

Examples: Contra 3 overhead stages, Doom.

Utilizing faster-than-running moves

Many action games (both 2D and 3D) have moves that allow you to dodge or attack with a method that is faster than normal movement, even if it means moving in a non-straight line. Carefully examine all movement (especially jumps and other aerial attacks) before deciding on an optimal way of movement.

Examples: Ocarina of Time, Metroid Prime.

Bunny hopping

Bunny hopping is repeated jumping in order to preserve horizontal momentum. Bunny hopping is used in two ways. The first is avoiding downtime after a certain in-game physics event, like falling from a large height in platformer games (Super Castlevania IV) or beginning horizontal movement (Darkwing Duck). Another is minimizing friction after building up a high movement speed (Rocket Knight Adventures, Quake series and many other FPS games). More often than not bunny hopping allows jumping without horizontal speed penalty.

Examples: Quake, Half-Life.

Abusing hitpoints/life

In a speedrun, the character's health can and should be used to speed up the gameplay if the game allows. There are several common ways to do so.

Damage Boosting

Taking damage from an enemy is often faster than dodging it. Sometimes taking damage can create a major sequence breaking opportunity, because a successful damage boost can propel the character past an normally impassable checkpoint, or to an otherwise unreachable distance (Castlevania: Symphony of the Night). Some games also have a dodging move that can be abused this way (Super Metroid).

A special case of damage boosting is using the player's own weaponry. Notable examples include rocket and grenade jumping in the Quake series.

Invincibility period abuse

Abusing an invincibility period resulting from a hit or a death often allows the player to bypass instant-kill obstacles such as spikes. In some games, the invincibility period also lets the player use enemies as platforms (see also: damage boosting).

Example: Mega Man series.

Respawn abuse

If dying respawns the player in the same screen he or she died, then dying can sometimes climb heights faster, cross pits, etc..

Checkpoint abuse

In games that have several checkpoints per stage, dying just as you reach one of them can benefit you by skipping a mandatory cutscene or refilling your HP and ammo.


Abusing uninterruptible moves

Certain games have moves that are frequently left uninterrupted by in-game cutscenes, like slides, jump attacks, tackles, and so on. If a game has a cutscene that forces the player character to freeze in place or slowly move towards a certain point on the screen, it might be a good idea to initiate an uninterruptible action just before the cutscene starts to let the character move [faster] during the downtime.

Examples: Castlevania: Circle of the Moon, Castle Crashers.


Bypassing unwanted triggers

Many games have cutscenes or in-game events that can lead to an unwanted slowdown. Sometimes there are ways to bypass these triggers.

Moving too fast

Certain triggers can be bypassed if you don't give them enough time to start. This usually means hitting another trigger (commonly room transition) before the invisible timer expires.

Examples: Castlevania: Symphony of the Night (skipping the Richter fight), Super Metroid (skipping Torizo).

Moving around a trigger

In both 2D and 3D platform games, triggers are commonly placed as small areas of ground activated by stepping upon them. However, more often than not you can move around these triggers by jumping over/around them or using an event that instantly moves you behind the trigger.

Example: Half-Life series.


Clipping through objects

As elaborated on the Bughunting page, collision detection in games isn't always perfect. There are sometimes ways to clip inside/through an object or terrain element by pressing into it at a certain angle, moving in a certain way, utilizing a collision-altering effect (such as invincibility period), using another object, or a transportation device (often as simple as a ladder, like in NES Donkey Kong). It's often possible to clip inside an object if it solidifies after the player character enters it.

Zipping

Some 2D games employ a protective mechanism that ejects the player character from a solid object, known as zipping. Since zipping commonly occurs at a very high speed (either horizontal or vertical), in some cases it's possible to abuse it by entering solid objects purposefully.

Examples: NES Mega Man games and other games with similar engines.


Luck manipulation

If a game has random events, it is possible to retry a segment (or a full run if length allows) until the odds are in the player's favor. These retries can save a lot of time in games that have critical hits or instant-kill attacks, like RPGs.

It should also be noted that in some games, the random events aren't really random: they depend solely on the player's input. In these cases it means there might be a pattern of input that produces the same or similar results if repeated. This manipulation is very important for boss fights, where you want the boss to behave as you want it to.


Planning

Planning is a core element of pretty much every speedrun. Whether it is hitpoints, ammo, weapons or routes, everything must be thought through before actual speedrun attempts begin: you don't have time to think about what you should and shouldn't do during a speedrun, you should know it. Planning is often a difficult and tedious process, but there are several common rules that can make it easier.


Hoarding powerups

Be sure to collect only as much HP and ammo powerups as needed for maximum speed. It might be hard to avoid getting a powerup at first, but eventually you should get used to it. Likewise, if you've been granted surplus powerups, be sure to use them effectively (if you can).

If a game gives an additional time-consuming bonus for leftover ammo or HP (like in early Castlevania games), it is advantageous to discard them if it doesn't cost time.


Item collection

Some games, like the Zelda or Metroid series, require items to access formerly inaccessible locations of the game world or increase the player's health or ammunition.

Determining the necessary item set

Not all items are required to finish most games. It's usually easier to go from the bare minimum and see if you can find a place you can't proceed to under any feasible circumstances. At that point, add one item that helps you bypass the obstacle and repeat the process. If several separate items can be used to bypass a given obstacle, see which of them saves more time in other places, and continue planning from there. After you've come up with a bare minimum, you can think of getting additional items to speed the process up.

Additional items

After you've determined the minimum of items required to go through the game, you can see if there are items along your way that can speed the run up further. In this context, pay attention to everything you can pick up without deviating from the general route. Items like these usually have higher ratio of time saved per time spent getting. Do note that an early game item might be skipped in favor of a later one that gives more substantial benefits.

If the game has an item that speeds the rest of the game substantially but requires a large detour to get, make sure to run tests (again, emulators may be helpful in this context).

100% item collection

While 100% item collection alleviates the need to plan which items you have to take and partially covers the problem of power shortage, it brings another problem: what sequence to get the items in.

More often than not the best strategy for 100% item route planning is coming up with a route that eliminates as much backtracking as possible. In other words, every area should ideally be visited 1-2 times (where the second time is usually called cleanup). Even if a game has a powerup that massively speeds up the player, it often takes more time to return to a previous area than to pick up all its items the first time around, even if the process by itself is slower.

See also

Bughunting — a guide to discovering and taking advantage of programming errors in games.

Personal tools