This page uses the term "input frame" often. This is because the game on average lags every other frame. Action only happens on input frames.
Movement
Walking:
- 4 px/input frame, no acceleration
Going by unicycle (Indra)
- Acceleration 1 px/input frame^2 when pressing in the direction you are already going.
- Deceleration 1 px/input frame^2 when not pressing forward.
- Deceleration 3 px/input frame^2 when pressing the the opposite direction of where you are going.
- Max speed 7 px/input frame.
Flying:
- 2 px/input frame^2 acceleration when pressing a direction
- 0.5 px/input frame^2 deceleration when not pressing a direction
- Max speed oscillates between S and S-2.
- When going right, S is 8.5, so mean speed is 7.5.
- When going left, S is 8.0, so mean speed is 7.0.
- If you want to switch the oscillation from 8-6-8-6 to 6-8-6-8, release the forward button on 8, and let the speed drop to 6 by 0.5 per frame. Then continue holding forward.
Falling
- Pressing up accelerates you up 0.5 px/input frame^2.
- Pressing down accelerates you down 0.5 px/input frame^2.
- Gravity pulls you down 0.25 px/input frame^2 unless a button is pressed.
- Max upwards speed is 8.0 and does not oscillate.
- Max downwards speed is 12.75. It usually oscillates between 12.0 and 12.5, but you can get it to go 12.0 (press down), 12.5 (release down), 12.75 (press down or release doesn't matter).
Take-off
When crouching for a frame on the ground, you get instant max upwards speed 8.0 and 13.0 sideways speed.
- When landing, have max speed two frames before landing, release the button so you get max speed-0.5 one frame before landing. For example when going to the right, 8.5 (release), 8.0 (press down), 0. Use the switch oscillation trick above if necessary.
- When taking off to the right, the best pattern is 13.0 (press forward), 11.0 (press forward), 9.0 (release), 8.5 (continue holding forward). Correctly performed, it saves 4.5 pixels.
- When taking off to the left, the best pattern is 13.0 (press forward), 11.0 (press forward), 9.0 (hold), 7.0 (release), 6.5 (release), 6.0 (press forward). Correctly performed, it saves 5 pixels.
- In steep slopes, it is possible to fool the collision checking and do many take-offs in quick succession.
- The game doesn't properly reset the ducking flag between levels. Because of this you can start every level but the first with a take-off, even if you start in the air.
Turning around
Turning around does not seem to affect speed or hitbox at all. It only affects which direction you fire (obviously), if you kick an enemy or not (only those in front of you) and what part of the screen is shown.
Collision detection is only made for objects shown on the screen. Because of this, you can drop a bomb which travels along the ground, and turn around so it passes an enemy without hurting it.
Other boosts
The game has a separate velocity to keep track of boosts that are caused by the environment. This velocity goes down 1 px/input frame^2.
- Many projectiles give a big boosts. For example the targets in the first stage give an initial boost of 13 px/input frame! Small projectiles give 0-3 px/input frame.
- Ending up inside some enemies and targets pushes you out of them. The targets in stage 3 for example, give you a boost of 6 px/frame until you are outside them.
- Kicking an enemy pushes you back. By turning your back towards the flying direction, you can get a boost in the direction your going. The enemy rangers in stage 5 give the biggest kick boost.
Weapons
There are 8 weapons you can wield. Your unicycle and airship fire separately, only the unicycle can be controlled.
Weapon | Damage per shot | Energy per shot | Rate of fire | Damage per input frame
|
---|
Pulse rifle | 1 | N/A | every 5 frames | 0.2
|
Flame | 1 | 16 | every 2 frames | 0.5
|
Bomb | 12+1[1] | 256 | every 32 frames | 0.406
|
Blue laser | 1+1 | 32 or 64 [2] | every 4 frames | 0.5
|
Falcon | [3] | [3] | [3] | erratic
|
Green laser | 100 | 3968 (all of it) | energy limitation | 2 or 0.88[4]
|
Plasma (spread shot) | 10 | 256 | every 24 frames | 0.417
|
Shield | 1 | 16? | [5] | 0.5[5]
|
Indra (unicycle) | 1 | N/A | every 5 frames | 0.2
|
Indra while joined | 1 | N/A | every 3 frames | 0.333
|
Eos (airship) | 4 | N/A | erratic | erratic
|
[
1]: The bomb does 1 damage, the blue cream does 12. So only a direct hit scores 13.
[
2]: The blue laser autoaims if you hold the button. The energy usage is then 32/4 input frames. If you tap the button it doesn't autoaim. The energy usage is then 32/8 frames.
[
3]: The falcon is a bit weird. Energy usage is 64 to release the bird, 2 per input frame after that, 64 every time it does damage. Every other frame the bird creates a shadow which has the damage of the latest projectile fired (so you can fire the rifle to set this value to 1, best is if the airship fires so it turns to 4). There are max 3 shadows. The damage is 2 every other input frame, plus the value of all shadows, which are then removed.
[
4]: The green laser (also called Proton Cannon) takes 64 input frames to start up, and then fires for 50 input frames, with 2 damage every input frame. If the start-up is included, it is 0.88 per input frame.
[
5]: This weapon does damage in a repeating pattern: 2, 2, 0, 0. The shield takes 144 energy to activate, and 16 energy per input frame after that, regardless of where in the pattern it is.
RNG
The RNG (random number generator) is a 4-byte number at 0xFFC118. It affects the behavior of most enemies onscreen, initializes the drop time for the targets in stage 3, the timers for the targets in stage 4, etc.
There are three ways the RNG can be manipulated by the player.
- Move the bike Indra
- Fire the flame weapon
- Use the jetpack to fly up
- Get hit by an enemy so sparks appear
Indirectly, it's possible to manipulate it in other ways, such as getting the second boss to fire its laser (third form). This advances the RNG around 500 steps.