Movement system
- Running: holding left/right (without charge, maximum speed is 1.5px/f, speed gain +0.16h/f)
- Charging: holding down B you gain 0.32h charge unit / frame (as JaJaMaru):
- 1.0 (8 frames) = higher jump (from 9th frame: holding A and pressing U for 1 frame)
- 2.0 (16 frames) - maximum speed 2.5px/f, instant movement speed change
- 3.0 (24 frames) - maximum speed 3
- 3.0 (80 frames) - maximum speed 3, each jump resets charge, partial invincibility!
The maximum character speed is 3.0px/f however a specific platform can give you an additional 1.0px/f (World 6 is the first one) which is applied to the camera X speed (and leads to a 4.0px/f).
Charging detailed
Charging only possible on solid floor (and specific moving platforms with that property) and 8 frames after landing and having 0.0 horizontal speed beforehand.
After charging you get 64 charge unit (frames) before speed reduction begins that also decreases your maximum speed.
Holding B holds your speed in air and reduces speed on ground. However your charging units can be holded by holding B. This way, you can run infinitely as long as you have 1 charge unit and you hold B. Don't forget to jump each time you land to ignore ground friction.
Jump detailed
You can only jump the minimum height from an enemy if you press A once killing it.
Jump height depends on initial movement speed. Otherwise you make a small bounce once hitting an enemy or a fast (2px/f) and very high bounce when hitting bosses.
This also means that jumping on an upward slope/ramp, your maximum jump height is small due to the 1.0px/f maxspeed, so you need to start from charge jump on this specific scenario.
Wall skipping
To get inside a wall, you need a moving platform or the camera to sidescroll. It takes subposition in account, but generally all you need to do is pressing the opposite direction. The movement speed is always 16px/f and you can jump depending on what kind of wall you are inside. However, the game doesn't loads new map segments on non sidescrolling levels while travelling inside the wall.
Fun fact: On one of the later level with the 4.0px/f enabler conveyor belt in a tight gap can be abused by pressing D and A to get inside the wall. But as mentioned, no new map segment will be loaded, leaving you in an unwinnable state.
Various tricks
- Avoid instant death
- Trigger firing happens 1 frame later after you land on a "character affecting" trigger (lasers, end of level objects, objects, probably enemies too), abusing this 1 frame window to jump avoids these.
- End of stage optimizing
- Some levels has different script sequences that sometimes relies on previous Y position which only manipulatable before touching the "target" thingy.
- Manipulating enemy/platform spawn
- Most of the enemies and objects are spawned at a specific X/Y position, they always act the same way, so you should always reach that point as fast as possible.
- Manipulating enemies
- Cam X and Y speed affects enemies' speed, so changing movement speed helps to reduce lag frames or overcome obstacles more efficiently.
- Hitting disappearing at bottom screen enemy hit bug
- If an enemy is about to visually disappear on the bottom of the screen, you can hit it to bounce off at the center of the screen (near to his X position). Doesn't works with projectiles.
- Jumping on next level
- If you exit a level on the ground, you can jump in the next level.
Fun fact: this way you can leave only one level, but it goes into a huge wall, and it doesn't loads up garbled memory values to manipulate, because it's uses existing map data.
Boss strategies
- Boost from boss to ceiling at specific Y position
- Can be used at World 1 and World 2 bosses. Fastest method since simple boost off doesn't gives enough jump height and normal enemy boost gives too much jump height.
Note that most of the bosses has different subroutines and acts differently. Some bosses don't have "bounce off high and fast" movement but can have "invincibility" glitch or kill you after you killed them.
Probably one-time tricks
- World 1 Boss & World 6 cutscene timer trick
- For whatever reason, pressing A/B/S after you gain control, you can start his spawn timer 0x61A from 48 to 20 (instant at World 6), letting you to avoid waiting to fall down to floor for triggering the timer.
- Skipping "World 1" cutscene
- After selecting character, the next non-lag frame can be used to press start. This is the only possible place to skip the "world" cutscene 1 frame faster because you need to press start which pauses the game in-game. The very same trick (I always call this as "Early input process abuse") applied to press start after levels at a 1 frame window between long lag frame series.