TASVideos

Tool-assisted game movies
When human skills are just not enough

Game Resources / G Bx / Zook Man ZX4

Movement

Horizontal Move Speeds

  • 3 pixels/frame - Ground dash, Flame Charge
  • 2 pixels/frame - Walking, jumping
  • 1 pixel/frame - During hitstun from taking damage

Vertical jump heights

Your jump height depends on how long you hold the jump button, nothing unusual. There are however two oddities.
  • 9 frames or less all result in the same jump height.
  • There is a big gap in jump height between 14 frames and more, giving you 20 extra pixels.
Frames held Jump height
<10 25
10 28
11 32
12 36
13 40
14 44
>14 64

Landing lag

An effect where the player is unable to move for a frame upon landing. This is due to the fact the game moved the camera too far, and did not shift the player out of the floor on that frame, stopping movement when the feet are momentarily inside the floor.

To avoid landing lag:

  • Land while the camera isn't moving vertically, either by being near the top or the bottom of the segment.
  • Land toward the end of the current platform you're aiming for
  • Land on a slope
  • Land on an object platform, of the sort seen in intro and volcano stages.

Ground dash

The leg upgrade is needed, found in Stage 7. After tapping left or right, a Dash Ready timer lasts for 20 frames, and a second tap in the same direction will trigger a dash. The dash will last 40 frames at a time.

Ladder dash

After starting Dash Ready from the ground, get to a ladder, catch on to it, and then press and hold left or right. You may need to hold up or down for a few frames so the dash keeps going. This dash will have the character speed across in mid-air, and can also jump out of this dash in mid-air.

Variant: on ladders going down, you can start a dash on the ground above it, and hold down as you pass it. After the first 20 frames of fixed downwards ladder movement you will shoot off the ladder to the side at dash speed. Turning around will stop the mid-air dash, which can be used to get off ladders quicker than jumping off them.

Turnaround

The important pixel for vertical movement and ladders is slightly behind the character's apparent center. Turning around in the air requires two frames of holding left or right.

Early ladder catch

While approaching a ladder from the side, turn around. Up or down can then let you grab on the ladder a few frames early.

Early ledge land

Once in a while, you just barely miss landing on the next ledge. Turning around to face away from it might be just enough to make the landing. It is also sometimes possible to use a lower jump but land sooner, leading to a longer dash distance compared to jumping for a longer time.

Ledge clip

Sometimes, you want to fall past the floor instead. Turning to face toward it will let you fall past it from a few pixels closer than facing away from it.

Additionally, some parts of the terrain has its floor below stop at the ledge, rather than slightly past it. It's these sorts of floors that allows the player to fall through, by turning once more, so that the important pixel, always slightly behind the player's center, is now inside the wall you're falling past. If the floor does not extend there, you will fall through.

Camera

Important. It's what loads segments and allows any sort of progress.

Ghost Fall

Get the player down far enough so that the feet is touching or below the camera's bottom edge, just as you load the next segment. This disables vertical terrain collision, so the player will fall endlessly, and if the next segment travels downward, allowing the player to skip by most obstacles on the way.

Without terrain, there are rather few ways to end a Ghost Fall:

  • Lose a life
  • Land on an object platform
  • Use a Flame Charge

Weapons

Table

Stage Upgrade Reg weapon Reg DMG Reg ammo Chrg weapon Chrg DMG Chrg Ammo
Buster 1 - Charge buster 2 -
Upgraded buster 3 -
Factory Fireblast 3 1 Firedash 5 2
Sky Whirlwind 4 2 Double whirlwind 4 3
Volcano Drill 4 2 Meteor shower 10 4
Ocean Bubbles 3 1 Bubble shield 3
Space Helmet Missile 4 2 Large missile 6 3
Forest Armor 3 stars 3 1 2 boomerangs 6 2
Castle Leg Bouncing spikeball 4 2 2 circling spikeballs 8 4
Broadcast Arm Laser 4 2 Large laser 10 4

The time to charge any weapon is 60 frames, except upgraded Buster, which is 140 frames.

There is no boss weakness. All bosses and enemies take the same damage from all weapons.

All weapons which do 3 damage take 1 ammo. All weapons which do 4 damage takes 2 ammo. The full ammo bar is 11 units.

Helmet upgrade gives the option to exit a stage in the Start Menu. Armor upgrade does nothing, all hits do 1 damage with or without it. Leg upgrade unlocks dash. Arm upgrade unlocks charged boss weapons and upgraded buster.

Charged fire (fire dash)

Moves you at 3 pixels per frame, like a dash, but makes you (mostly) invulnerable and can be performed in the air. For this reason it's faster to dire dash across gaps than jumping, which is 2 pixels per frame.

If you were jumping and going upwards before the fire dash was started, the jump will continue once the fire dash is over. Additionally, your ground state is set, meaning you can make another jump once the fire dash is completed.

Bubble shield

The shield has 6 hitpoints. Every time you take a hit a 48 frame countdown is started, during which the shild can't take another hit. After the countdown ends the shield loses one hitpoint. When the shield has 0 hitpoints it disappears.

The delay between hits and the shield's disappearance makes it possible to lose the shield without taking damage.

While the shield is active you can move around like normal but you cannot attack or change weapons. (Unless you use a glitch such as Charge Swap.)

The shield does not protect against spikes, which still do 1 damage.

Charged laser

Makes player stationary and invulnerable while it is fired and does a lot of other stuff to player state described below.

Boss damage

Bosses have 11 full hitpoints. Every hitpoint has 5 subhitpoints. Damage is applied to the subhitpoints. When they reach 0 or below, full hitpoints are reduced by 1 and subhitpoints are increased by (not set to) 5. Because subhitpoints are increased rather than reset, it is possible to buffer damage from a powerful weapon (such as charged laser) and still have the next hit deal a full damagepoint.

When dealing damage to a boss, no more than one full hitpoint can be reduced per attack, no matter how low subhitpoints are. The minimum number of hits needed to defeat a boss is always 11.

Boss invincibility between hits is 96 frames.

Hero state

It seems the hero's state is determined by the value stored at 0x15f0 in IWRAM. A 0 means he's free to be controlled by the player. Any event that temporarily disables player control (like taking damage, entering an ability capsule or touching a boss room door) changes this to some other value.

Glitched charged shot

If you have a charged shot ready, you can release the shot button to fire it at the same frame the action lock is released. You can then press it again on the next frame and you won't lose the charge.

Note that while the charge status is preserved, the charge counter is not. It is not possible to charge a level 3 buster shot any quicker off a glitched charge.

Charge Swap

Pause at the same frame you release a charge. Select a different weapon, and unpause. The original weapon will fire, although the effects of changing the original shot to another weapon's animation functions do unexpected effects.

Note that pausing is disabled for specifically the basic weapon when it is charged. The Glitched charged shot is required to swap from the basic weapon to another.

Basic Flame Whirlwind Dirt spike Bubble Missile Star Spike ball Laser
Basic Charge1 Normal
Basic Charge2 Normal
Flame Normal
Whirlwind Normal
Dirt spike Sticky Meteors Game reset Normal
Bubble Normal Fragile Barrier Fragile Barrier Gone Barrier Normal Gone Barrier Fragile Barrier Gone Barrier MurderBarrier
Missile Normal
Star Normal
Spike ball Normal
Laser Frozen Laser Normal

Game reset

Actually calls the BIOS to do a full reset of the game, complete with the GameBoy Advance logo showing up. If it does something else, the complete reset generally makes these other effects frivolous.

Sticky Meteors

These meteors will exist indefinitely, even after landing, and even after scrolling them offscreen. Phantom duplicates of these meteors will show up if scrolled off-screen far enough, but these don't do anything. There are no known speed uses as of this time.

Fragile Barrier

The barrier gains a hitbox, will deal 1 damage to an enemy once, then disappears after hitting an enemy. The barrier still has the full 6 HP, and will protect you even after the barrier sprite vanishes. The advantage is that, once the barrier sprite is gone, weapon swaps are fully available. Hitbox size depends on target weapon.

Gone Barrier

After a rather short time, the barrier just disappears. It still has the full 6 HP, and will protect you even after the barrier sprite vanishes. Without the sprite, weapon swaps are fully available.

MurderBarrier

A strange barrier that, upon contact with enemies, will instantly erase these enemies. It's not a destruction, as the enemy will not fly apart in shrapnel, will not drop items, and also prevents that specific enemy from respawning when coming back to the area. This also erases the weakpoint of the miniboss, and even bosses will be instantly erased, though this also denies triggers that would advance the game.

Another drawback is 15DC is decremented every time MurderBarrier erases an enemy. If this value is not exactly zero, you can't switch weapons or pause the game. This, and the fact we can't complete the stage by erasing a boss, means there are no known speed uses as of this time.

Frozen Laser

The massive laser does not complete its animation. It will remain solid in place, and never releases the player (though Zook can regain control through other reasons, such as clearing dialog). The player is also immune to objects, as part of the laser attack.

For runs that ends input early, this can be used as a finisher, as the projectile remains indefinitely and the boss will eventually kill itself on this hitbox block. Other than that one spot, there are no other known speed uses.

Action lock release

Sometimes two events that lock the controls can overlap, forcing one of them to override the other. This can happen:

1. with the charged laser: The hero will move for 1 frame after firing it, allowing him to enter capsules (laser ends sooner, forcefully unlocking control) or touch spikes (damage animation ends sooner, unlocking control and retaining invulnerability to objects)

2. being damaged during boss dialogue: this is usually only possible after bypassing the boss door action lock with a charged laser. By standing very close to a boss and then jumping right when his dialogue starts, the hero will be stuck in a jump animation loop, with his hit box changing size as well. This will make he touch the boss' hitbox and take damage and the damage animation will restore control while the dialogue is still on screen.

Tricks

Miniboss Skip

On the same frame the miniboss would load, destroy an enemy. The game assumes that what you destroyed is the miniboss (as there shouldn't be other enemies when fighting a miniboss), and will shortly load the next segment.

  • Intro - Maybe. There is a flying enemy, but it takes long enough that destroying the miniboss is faster. An alternative is to game over at the miniboss, then kill an enemy with the right position (.bk2) to skip the miniboss, but the game over process takes too long as well.
  • Stage 1 - Maybe. There is an enemy off to the left of the miniboss. Close enough to be around until the miniboss segment. It can be reached with the charged star weapon, but routing suggests Stage 1 should be picked much earlier than Stage 6. Other weapons we'd have in the route by then will not reach.
  • Stage 2 - Yes. There are flying enemies very close to the miniboss. Let them come in, flame charge through them on time with the miniboss segment.
  • Stage 3 - Yes. (Review the method)
  • Stage 4 - Not likely. The nearest enemy is a submarine, who doesn't travel horizontally and is too far away. Any that would travel to the right are all very far away.
  • Stage 5 - Yes. (Review the method)
  • Stage 6 - Maybe. An enemy spawns at the top of Segment 1, but by the time you'd get there, Segment 2 will have already loaded, and it doesn't spawn that enemy there. The Segment Skip will be needed to bypass the load trigger and spawn the enemy, but the setup for Segment Skip takes too long.
  • Stage 7 - Yes. A flying enemy from the breakable pillar can be lured to the miniboss, and this process is fast enough to save several frames.
  • Stage 8 - Not likely. No enemy loads in the short segment before the miniboss, and none are in range from the segment before that.

Boss Skip

Same concept as the Miniboss Skip -- Destroy a regular enemy when the boss spawns. However, most bosses are behind doors, and this erases all active enemies immediately.

This trick requires that enemies can spawn in the immediate segment the door exists in, which only happens in the final stage.

  • Break the action lock of the door animation with a charged laser so you regain control.
  • Move left for one frame when an enemy is within spawning range of the left border.
  • Destroy that enemy, most likely with charged star, after the boss spawns.

In the end stages, the 2nd, 6th, 7th, and 8th bosses can be skipped this way.

Of note, the intro boss can also be skipped. Without a door, enemies will not disappear. Luring a flying enemy to the intro boss will allow a skip in a way similar to the Miniboss Skip.

Segment Skip

Leave the stage after encountering a miniboss, before destroying it. The next enemy you destroy will be treated as though you won against a miniboss, and the current segment is skipped, preserving camera's position in the new segment relative to the top-left corner. An example in Stage 6 means one can skip the first segment, appear at the top of the second segment which requires a lot of climbing, then almost instantly reach the third segment from there.

The two known ways to leave a stage is to either get the head upgrade and use that, or get a game over against the miniboss. However, the time it takes to get to the miniboss from the start of the stage generally takes a while, and while the game over can be done starting from the save platform, there's no known way to fall to your death in the six stages where a save platform is present. As the known set-ups for the skip takes longer than the skip itself, there's no use for this skip as of this time.

Frame Rules

  • 2 - Player invincibility time after being hit
  • 4 - Animations
  • 8 - Boss dialog
  • 32 - Item drop cycle

The frame rule is an effect where an event will last a variable amount of time simply depending on when it is triggered. There are no significant factors other than the game's internal frame counter. Clearing the boss dialog might end up taking exactly the same amount of time even though you got there 7 frames earlier, but save just one more frame, and that one frame is worth eight, as the frame rule is met.

Note that lag will delay the internal frame counter, so if one non-lag frame needed to be saved to beat the frame rule, but the action to save that non-lag frame causes 2 frames of lag, the frames saved will be the entire size of the frame rule, minus the lag gained. Also note that removing lag without losing pace are savings that will stick.

Objects

There's an array of 60 structures starting at 0x1DE4 in IWRAM, they represent all the objects in the game that are on screen. Including the HUD. These object structures are 0x74 bytes each.

0-9: Zook and HUD
10-29: Projectiles
30-59: Enemies and collectibles. (Also minibosses and bosses are stored here)

The structure can be broken down as follows:

Offset Name Size (bytes)
0x0000 offset x 4
0x0004 offset y 4
0x0008 sprite index 2
0x000A sprite map 2
0x000C (bool) is facing left 2
0x000E sprite related index 2
0x0010 animation frame 2
0x0012 state 2
0x0014 entity 2
0x0016 action timer 2
0x0018 action id 2
0x001A something sprite data index 2
0x001C field_1C 2
0x001E field_1E 2
0x0020 field_20 4
0x0024 field_24 4
0x0028 enemy number 2
0x002A field_2A 2
0x002C hp 4
0x0030 field_30 4
0x0034 field_34 4
0x0038 field_38 4
0x003C field_3C 4
0x0040 sprite related count 4
0x0044 field_44 4
0x0048 damage enemy will take 4
0x004C friend object 1 4
0x0050 friend object 2 4
0x0054 friend object 3 4
0x0058 invulnerable timer 4
0x005C field_5C 4
0x0060 field_60 4
0x0064 field_64 4
0x0068 field_68 4
0x006C field_6C 4
0x0070 (pointer) some iwram address 4

Item drops

Item drops in this game are predetermined, based on the current active frame. This active frame counter is read from IWRAM Address 0x17A0, with that value then bitwise AND operated with 0x1F (31 in decimal). This leads to a total of 32 possible values that can be read by the drop array (0-31).

The drop array is stored in ROM at address 0x3E8880. This array contains 32 indexes, with values ranging from 0-7. The array can be broken down into the following table:

Value Indexes Item Probability Notes
0 0,2,4,8,10,15,20,23,25,28,30 Nothing 11/32 (34.375%) Fewer objects might mean less lag
1 1,14,19 Small Health Refill 3/32 (9.375%) +2 HP
2 3,9,18,22 Medium Health Refill 4/32 (12.5%) +5 HP
3 6,13,29 Health Tank 3/32 (9.375%) Stored in pause screen, caps out at 9, +11 HP
4 5,12,17,31 Small Energy Refill 4/32 (12.5%) +2 Ammo
5 7,11,21,26 Medium Energy Refill 4/32 (12.5%) +5 Ammo
6 24,27 Energy Tank 2/32 (6.25%) Stored in pause screen, caps out at 9, +11 Ammo
7 16 Extra Life 1/32 (3.125%) Your usual extra life thing, caps out at 9

Useful tools

Team 1's main script - hitboxes, HP, drops, positions, and field of view.
Team 4's terrain script
Team 4's hitboxes script
Team 4's general script- RAM watch alternative, object stats, positions, drops
Team 4's externalized display script - Terrain and hitboxes in wide field of view

Pre-contest banter

This game was featured in the Dream Team Contest 6. Before each of these competitions teams usually tease each other or make up discoveries they have made. This is preserved below until someone finds a better place for it.

[01:23:10] <pirate> zookman
[01:23:12] <pirate> wut


(Link to video)

Advanced tech

Tricks

Death

Life

avoid dying

ACE

see Advanced tech - Select

SRAM glitch

Zip leak

<Masterjun> rip secret strat

Trace logging

what do you mean you can't trace log with mGBA

ACE logging

see Tricks - ACE

Race logging

GOGOGO

Race logging

no I didn't mean race as in ethnic group

Mace logging

a game without mace obstacles !?

Face logging

Links to skips

Plot (spoiler alert)

Undumped "English" edition

no thunder axes were harmed during the translation of this game

Explaination

Cannot unsee the Sky Clown

Non-best ending



Combined RSS Feed
GameResources/GBx/ZookManZX4 last edited by FatRatKnight on 2017-05-23 08:24:21
Page info and history | Latest diff | List referrers | View Source