View Page Source

Revision (current)
Last Updated by MESHUGGAH on 10/27/2013 10:37 PM
Back to Page

%%TOC%%

!! Game aspects
! Object handling in the game
* There's maximum 16 objects in the memory
* 4 of these are always reserved, 1 reserved for player = 11 objects free
* Each level has specific objects that spawn either before the 1st ingame frame (after the last cutscene/level during the lag frames) or timed (by an object that loaded earlier and it's timer reaches 0) or player reached an X position or an event flag changed (flags @ 0xE0~0xEF) )
* Whenever the game tries to spawn an object, it checks is there a free place in the object list. __There's no "else"__. This means that if you avoid a crucial checkpoint (not spawning the boss) you stuck forever in an unwinnable state.

! Avoiding an object to be spawned
* You need to make lag to make it happen. The more objects are there, the easier to pull it off. There's 11 free object slots maximum which filled in with level objects (health, enemies, 2x rotating sprite for level 1 cinema), so you don't eventully need to fire 11 times to cover all object slots.

! "Removing" a sound effect being played
* If you fire on the same frame as the sound effect plays (health picked up), you won't have to wait until they are finished, so you can pick up health before ending a level without waiting the sound being played.

! Lag mechanism
* There are hidden lag frames in the game.
* There's also a "favored" frame parity (even or odd), sometimes you need to use the "unfavored" to remove an enemy (for example when you don't have fists)
* __TODO: there's 3 different "lag level", elaborate plz__
* __TODO: debug more around $EA01 subroutine since sometimes you can't abuse "+1 extra shoot"__

! Movement specific techniques

;Movement pattern: The next boost you will get for your next frame is depends on the frame count. Generally the pattern is 1,0,1,1. So placement of lag frames are also important.

;Damage boosting from objects:If you are on the ground, you can boost to the same direction where you are facing and where the other object goes.

;Avoiding movement effects:If you are being hit in air, your movement pattern won't be changed (no slowdown / boost).

;Longer horizontal jumping:If the game lags, you can optimize your movement pattern by changing lag frame positions (see lag mechanism above). This way your jump can be longer to skip the first level's basic route (going all to the right and trace back on the stairs/blocks.

;Jumping before using ladders:Your "ladder" speed movement pattern depends on your previous "jumping speed" pattern.

! Enemy "state" manipulation in order of "possibility" / good chances
For example, manipulating the X-ray "skeletons"
* You need to be out of distance (X pos)
* You need a specific RNG (non lagged frames count) = You need to position lag frames carefully
* You need a specific Y position
* However, sometimes you just can't manipulate it if their spawn is depends on player's actual position (like X-ray skeletons), but you won't even need to manipulate the "walking toward player" action everytime.

!! Weapons

! Power of fist (5 dmg)
* You can punch "infinite" times (if there's free place in objects)
* Everytime you punch, a hitbox object will be spawned for 13 frames

! Handgun (15 dmg)
* You can shoot only 1 bullet at a time, but if you fire on a __specific__ lag frame, you can make an extra shoot on the next lag frame. Only 1.

! Machine gun (15 dmg)
* You can shoot only 3 bullet at a time, but if you fire on a __specific__ lag frame, you can make an extra shoot on the next lag frame. Only 1.

! Laser gun (20 dmg)
* You can shoot only 3 bullet at a time, but if you fire on a __specific__ lag frame, you can make an extra shoot on the next lag frame. Only 1.

!! Level checkpoints
;Level 1 (streets):no checkpoints
;Level 2 (apartman):both "Spandex Lady" and "door really open" are timed and unimprovable
;Level 3 (X-ray):there's a remaining kills counter (4) and the "jump off X-ray" checkpoint is instant after counter is 0 (and Xpos = 586~587)
;Level 4 (subway):there are "cam scroll locker" guards, all of them are avoidable except the first one (loads in at start of the level)
;Level 5 (hobos):you need to kill the boss and pick up the case to leave the level
;Level 6 (mars rooms):the "open door" object spawns at end of each scene if the UFO isn't alive at that point (so all of them are avoidable except the first one). But don't remove the "open door" object!
;Level 7 (mars driving):nothing
;Level 8 (walking):nothing
;Level 9 (dungeon):kill boss (impossible to avoid)
;Level 10 (lightning bridge):3x cam scroll locker guards (1st one unavoidable) and boss (impossible to avoid)

!! Miscellaneous
;0 health point trick:If you end a level with 0 HP but finish it within 4 frames, you won't die. However, if the player will be replaced (for example a tank in mars driving), he will instantly die.

;Enemy invulnerability:Different enemies have different type of invulnerability. This isn't because they coded this way, this is mostly a bug. The only "common" invulnerability is when they land after a jump (1 frame)

;Removing enemies from the screen:You can shoot them away from the screen, but most of the times you will also need to go to the border of the screen to "block" their way. Note that doesn't "kills" them (X-ray skeletons won't work) but removes it (which actually logical since they have more than 0 HP).