It's disappointing nobody picked this game in 16 years. Well, let's see what I can do.
The whole game looks relatively easy. Just movement optimization and occasional shooting distinct enemies.
Movement nuances
- You switch weapons by holding Select and pressing L and R bar keys. While you do this, you can't strafe. Select, Select + L - that's two render cycles needed to change the weapon.
- You can't jump over stairs railings or over enemies.
- To activate switches or doors, you just have to be close to them. You don't have to face them. Alien switches have kinda weird hitboxes and may not get activated that easily.
- To grab an item, you must be at the same height or above it. You can't bump into items using your momentum, like in Doom.
- When you turn, you increase the camera speed. If you hold Left, then switch it to Right, you turn in the opposite direction at the same speed.
- The framerate doesn't affect the speed.
Speed units
RAM addresses work only in scope of the current level. You have to perform a new search again.
Run forward (RF) = 1568
Run backward (RB) = 874 (55.7%)
Strafe Left (SL) = 868
Strafe Right (SR) = 875
RF-strafing (either left or right) = 1793
RB-SL = 1231
RB-SR = 1237
To have a perfect angle for RF-strafing, you need to turn left/right by 21 degrees away from the direction you want to run towards.
For RB-strafing - by 32 degrees.
Optimization
The framerate is uncapped, which makes it harder to optimize the movement because you have to redo the input every time you try a different way of movement and luck manipulation. You can't just copy or delete unnecessary frames. You gotta follow for how many non-lagged frames you kept each button pressed before doing progress in a different way, and it still doesn't guarantee you will do the same what you used to do.
The enemies often stand dead on their tracks when you see them. I think it has something to do with performance optimization to spend less time on AI logic.
Enemies
The following list is determined by doing RAW Search. GBAHawk, WRAM memory domain, unsigned int. HP cannot be negative (if an enemy is dead, its HP is zero)
Enemy | Health (HP) |
Assault General (Trooper) | 40 |
Pig Cop | 60 |
Hybrid Gray Alien | 50 |
Spiderlord (boss 1, 02BF18, 2 bytes) | 1100 |
Octabrain | 100 |
Enforcer | 120 |
Cyber Alien (boss 3, 0194C8, 2 bytes) | 2000 |
Alien Egg | 50 |
Alien Crab | 80 |
Alien Lord (boss 4, 027D78, 2 bytes) | 5000 |
It's not clear how much health does Boss 2 actually have. First, you need to hit it 9 times to get a call from the general. Then, you must make the boss walk under the crusher and it dies instantly. The crusher deals 4 damage. One smash cycle takes 64 hp away.
Weapons
Weapon | Damage |
Mighty Foot | 40 |
Desert Eagle (Pistol) | 12 |
Shotgun | 50 (5 pallets, each one deals 10 damage) |
Lead Cannon | 147 (7 pallets, each one deals 21 damage) |
MP5 | 10 |
RPG | 200 (80 = direct hit, 0...120 = splash damage) |
Pipe Bombs | 0...255 = splash damage |
Freezethrower | 0 |
Shrink Ray | 0 |
Boss 1 rocket | 0...40 = splash damage |
Shrink Ray and Freezethrower cannot do anything to bosses.
Here is a
TAS test which passes first 2 levels (1A and 1B). The encode is included there.