TASVideos

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

Game Resources / NES / Wizards And Warriors 3

Horizontal Movement

The X sub-pixel position 02D4 does not reset to zero or any other value. It changes only via changes in the X sub-speed value.

Walking

Kuros is walking when status address 03D8 has value 0x01. When accelerating on level ground, the X sub-speed address 0370 increases by 0x10 each frame. The X speed address 038A increases by 1 after 0370 reaches its maximum. This continues up to maximum values based on the costume worn, as per the following table:

Costume Max Speed Max Sub-speed
Any Knight 2 0x00
Thief 1 2 0x40
Thief 2 2 0x80
Thief 3 3 0x00
Any Wizard 1 0x80

Jumping does not interfere with the pattern of the increasing values, but the actual speed while jumping is slower; see below.

If you press and hold the direction button opposite to the direction Kuros is facing, sub-speed decreases by 0x3C each frame until speed and sub-speed reach 0. Then Kuros turns around and begins to accelerate in the forward direction as explained above.

If speed or sub-speed are non-zero and neither left nor right are pressed, sub-speed decreases by 0x1E each frame until the speed and sub-speed reach 0.

When entering a new area or when pressing B while moving, the speed and sub-speed are set to 0.

Crouching

Kuros is crouching when status address 03D8 has value 0x08. When moving horizontally while crouching, speed has a constant value of 1 and sub-speed a constant value of 0. No deceleration occurs when changing direction while crouch-moving; Kuros turns to face the opposite direction immediately and maintains speed 1 and sub-speed 0.

When you start to crouch by pressing down, the speed and sub-speed values are set depending on which other directional buttons are pressed:

Other Buttons Speed Sub-speed
None 0 0
Forward 1 0
Backward 1 0

Any acceleration or deceleration related to those buttons continues until the new values are set.

When you leave the crouching state, speed and sub-speed are set to 0, with the following exceptions:

  • If you do a crouch attack by pressing down and B while moving, speed and sub-speed are maintained at the walking values, except for one frame of sub-speed deceleration by 0x1E. This can be used to resume walking without losing much speed. Release down and B and press forward on the same frame to continue walking after attacking. This does not work for the thief 3 and wizard 2 costumes.
  • If you jump by pressing A and forward/backward while holding down, speed and sub-speed are set to the crouch-movement values of 1 and 0, respectively, before the jump starts. The speed and sub-speed values then increase from this point as per the walking acceleration process. Though jumping is slower than walking, this allows you to get to maximum horizontal speed more quickly when turning around than the standard walking acceleration process.

Jumping and Falling

Kuros is jumping when status address 03D8 has value 0x02. He is falling when status address 03D8 has value 0x06. The speed and sub-speed values change as per the walking process, but the horizontal position actually changes by only 75% of those values each frame while jumping or falling. Thus, jumping and falling are slower than walking. After landing, the horizontal position changes by the full speed and sub-speed values.

Because crouch-jumping sets the speed to 1 right away and continues to increase it from there to the maximum, it is faster than walking up until the frame at which walking would reach 75% of the maximum speed.

After prolonged falling, status address 03D8 changes to value 0x07. Specifically, this occurs when the counter at address 008E reaches a value of 0x46. Continuing to fall for too long past this point causes damage upon landing. While in status 0x07, the sub-speed value changes each frame by amounts that depend on which directional buttons are pressed:

Button Pressed Change in Sub-speed
None Decrease by 0x0A
Forward Increase by 0x06
Backward Decrease by 0x46

This is still a falling state, so horizontal position only changes by 75% of the speed and sub-speed values.

Damage

When taking damage from an enemy, the speed is set to 0xFD, the sub-speed to 0, and the status address 03D8 to 0x02. Changes then proceed according to the jumping and falling process.

Slopes

Kuros is sliding down a slope when status address 03D8 has value 0x0C. The speed is set to a constant value of 1 or 2, depending on the type of slope. The sub-speed is set to 0. This applies to all costumes, so the wizards can move faster than maximum speed on certain slopes. After reaching the end of the slope, speed and sub-speed change according to the walking process. Horizontal position changes by the full speed and sub-speed values.

Vertical Movement

When not standing on solid ground, Kuros's vertical position changes by the Y speed (03BE) and Y sub-speed (03A4) values each frame. Unlike the X sub-pixel position, the Y sub-pixel position 0322 resets to zero frequently, such as when landing on solid ground.

Jumping

When Kuros begins to jump, the Y speed address 03BE and Y sub-speed address 03A4 are set to values that depend on the costume worn:

Costume Speed Sub-speed
Starting Knight 3 0x80
Any Guild Knight 3 0xA0
Any Thief 3 0x60
Wizard 1 3 0xC0
Wizard 2 3 0xE0
Wizard 3 4 0x00

While in the jumping state (03D8 = 0x02), the sub-speed decreases depending on whether or not the jump button A is pressed. If A is not pressed, the sub-speed decreases by 0x3F per frame. If A is pressed, the sub-speed decreases by 0x15 for seven frames and by 0x2A every eighth frame. Specifically, the decrease is 0x2A when the three lowest bits of address 0091 are clear and 0x15 when any of them is set. When speed and sub-speed both reach zero, Kuros enters the falling state.

Falling

While in the falling state (03D8 = 0x06 or 0x07), the sub-speed 03A4 increases by 0x1A every frame until reaching a maximum speed and sub-speed of 4 and 0, respectively.

Damage

When taking damage from an enemy, the speed is set to 2, the sub-speed to 0, and the status address 03D8 to 0x02. Changes then proceed according to the jumping and falling process.


Combined RSS Feed
GameResources/NES/WizardsAndWarriors3 last edited by Dacicus on 2017-08-10 08:41:25
Page info and history | Latest diff | List referrers | View Source