Submission #7572: M1D's GBA Bruce Lee: Return of the Legend in 20:50.40

Console Game Boy Advance Emulator BizHawk-2.8-win-x64
Game Version USA Frame Count 74683
ROM Filename Bruce Lee - Return of the Legend (U) Frame Rate 59.7275005696058
Branch Rerecord Count 105763
PowerOn Authors M1D
Game Bruce Lee: Return of the Legend
Submitted by M1D on 7/4/2022 3:07:10 PM

Submission Comments

Apology & Explanation

I thought the project has been missed because of its low popularity. But I woke up and saw some changes today. A brief of today's work, and I promise not to do any more changes before the completion of judgement.
  1. To see if there exists any possible distinction, I compared the first 2 complete ACTs of Two different mode, Director's Cut Mode and Time Challenge Mode.
And the answer proves to be positive.
Different hitboxDifferent pixel deviation with the same enemy at the same location
Different method of enemies-attackFor instance, different movement route & motivation
Time Challenge Mode has 1 lag frame more than Director's Cut Mode, after the end of each divided ACT.
  1. Malignant Bug: If you kill an enemy from behind his back and then jump and get in contact with his "dead" body. Then he will be resurrected with 1 HP left. You will get an instant failure if in a infiltration mission.
  2. Attention: The same terrain doesn't always be the same even if they look the same.
Optimization:
Frame 10457 to 10544Actually this is a spin-off of a comparison between 2 Different Mode.
Frame 10845 to 10915I ever thought the Platform could never be reached
Frame 10948 to 11033Lag frame avoided; The reason is the gunshot.
Frame 11072Minor optimization; 0.5~1 frame saved
Frame 11238Similar as above
Frame 11309Similar as above
Frame 11399Minor optimization; 1 frame saved
Frame 11523 to 11531I Forgot to optimize it, before.
Frame 11678 to 11698Similar as above
Frame 11911 to 11917Minor optimization; 1 frame saved

Branch Name

  1. Time Challenge: An optional difficulty, with Time limited, based on "Director's Cut Mode".
  2. Take 0 Damage: Except for the performance and illustration of Game Story, the Player Character doesn't get injured.
  3. Speedrun: exactly as you commonly know it, rush through the game as fast as possible.

BIOS

SizeHashStandard File NameDescription
16384sha1:300C20DF6731A33952DED8C436F7F186D25D3492GBA_bios.romBios (World)

Rom Hash

CRC32B2A45A4C
SHA1EBF28BFBF6932E386C261B28555294F183A08435

Bugs or Tricks I Used

  1. Be noticed by an enemy and then run away or get disappeared in the enemy's sight, which will urge the enemy to turn back and go aside.
  2. In addition to the item above, each sort of enemies has a different period (usually 20 frames approximately) before their finally catch sight of the Player Character.
  3. It will take several frames for Searchlight Beam to locate its snipher at the Player Character.
  4. Searchlight Beam has a pixel deviation, and so does enemies.
  5. To grab a slightly higher platform while jumping upwards, perform a Punch (B) or Kick (r). Sometimes It may cause a delay of several frames to Grab a Cliff.
  6. Most utilized solution in combat: Attack from behind the enemies.
  7. I use game embedded cheat to unlock "Time Challenge Mode".

Optimization

  1. Falling Position Adjustment (distribution of Key (←) & Key (→) ), to reach the farthest distance when falling downwards from a higher platform.
  2. Calculate the maximum falling height, to grab the grid, vertical bars or ladders and then drop.
  3. Perform a punch (B) or kick (r) at former 2 or 3 frames ahead of Player Character landing on the ground, in which case, the Player's able to run through behind the enemy. But more significantly, ensure that the punch or kick touches the enemy walking ahead of you but doesn't cause damage, only showing the Health Bar (HP) of the enemy. On the contrary, should the method be taken advantage of in mission of infiltration, you will fail the mission.
  4. →→+B (Punch while running) 16 frames before dropping from a platform, and the Player will reach the farthest distance.
  5. Add or substract the number of Key (A, Jump), to shrink the period of Player being retained in the air. The less retention time of being in the air, the more frames will be saved.
  6. Velocity: running > jumping while running > moving with a grid, vertical bar or ladder.
  7. I use →→↓+B/r to give the Boss a final attack to finish him.
  8. (Stick) →→+B/r to knock away enimes and destroy the box that contains a key (🔑).
  9. I use ←+B/r in the air when confronted with an enemy that cannot be evaded in a common way.
  10. Kill more enemies at the same time as many as possible.

Details

StageOptimization
For All ACTFalling Down location adjusted; Shrink unnecessary time of staying in the air: manipulate the extent of jump to just right reach a higher platform; Short jump; Mostly Use Backward Punch (l+B) to attack from behind the enemies; Use Backward Punch (l+B) 2 times to destroy the Stone Pile or Wooden Door in a short distance
ACT 1-1Rolling at 2 frames ahead of Landing
1-2Trick.1: Jump ahead of the enemy and rush to the hideaway, then press Key (↑) lasting for 1 frame, then run away
1-3Rolling Kick location adjusted; Running Punch at 16 frames ahead of starting to drop; Dash-against-the-wall jump instead of 2 times of Platform Jump
1-4Leftward Kick; Only grab the Vertical Bar once
1-5Enemies Prediction: Fininsh them before they landing on the ground as soon as possible; Rolling
ACT 2-1Adjust the time of jumping to seduce the enemy into jumping; Pick the Stick after turning back; Backward Attack in the air for those enemies in the way
2-2Use Running Kick instead of Long Jump as much as possible
2-3Directly Drop and adjust the Falling-down location; Landing as soon as possible; Running Kick and run across the enemy; Dash-against-the-wall Jump; Grab less Vertical Bars
2-4B, l+B; ↑+r from beneath the enemies; Running Kick; Seduction; Running Punch (→→+B) and Walking Punch (→+B) to finish the 2 Thugs
ACT 3-1Running Kick; Running Punch
3-2Grab the Vertical Bar
3-3Dash-against-the-wall Jump Adjusted; Knife Saving
ACT 4-1Backward Punch
4-2Finish more enemies at the same time
4-3Jump to deceive enemies; One-time Finish All
4-4Combine ACT 4-2 with ACT 4-3
4-5Backward Punch; Rolling Kick as the final attack
ACT 5-1Jump and grab the ladders; Running Punch
5-2Optimization.3
5-3Not Pick the Knife; Optimization.3; Kick the Box while jumping up to the Platform
5-4Backward Punch; Rolling Kick as the final attack
ACT 6-1Trick.3; Trick.4; Backward Punch; Running Punch; Attack the enemies in the way while in the air
6-2Trick.4; Arranged Route; Backward Punch and Rolling Kick to finish the Jamal; Maximum Safe Jumping Height Calculated
6-3Trick.5; Leftward Dash-against-the-wall Jump; Backward Punch to get the Key(🔑); Dash-against-the-wall Jump and wait for the Searchlight to go aside
ACT 7-1Optimization.9; Deceive enemies; Running Kick instead of jump; Short Jump
7-2Optimization.9; Deceive enemies; Running Punch; Backward Punch to finish the Thug and destroy the Box, then use Running Punch (→→+B) to run away
7-3Optimization.10; Rolling Kick; Backward Punch; Attack the enemy in the way while in the air; B, l+B
ACT 8-1Trick.1; Trick.3; Trick.4; Trick.5; Running Punch; Rolling; Jump and Grab the Grid several times
8-2Optimization.9; Running Punch
8-3Trick.3; Trick.4; Optimization.9; Arranged Route; Backward Punch and Rolling Kick to finish the Jamal and Texas; Running Punch; Running Kick
8-4Rolling and Backward Punch
ACT 9-1Trick.1; Trick.3; Trick.4; Running Punch; Short Jump
9-2Trick.5; Optimization.9; Arranged Route; Pick the Knife to banish all enemies in the way
9-3Trick.3; Trick.4; Trick.5; Arranged Route; Seduce enemies into attacking
9-4Backward Punch; B, l+B; Running Punch; 2 Knives Arranged Route; Jumping Direction Deception
9-5Seduction; Jumping Direction Deception; Backward Punch; Enemy Movement Prediction; Leftward run away

Notes

  1. r: Kick
  2. B: Punch
  3. l: Defence
  4. A: Jump
  5. ← / L: Left Arrow; Backward
  6. → / R: Right Arrow; Walk
  7. ↑ / U: Up Arrow
  8. ↓ / D: Down Arrow; Crouch
  9. →→: running (Running Direction counts as the Positive Direction, No telling left from right)
16 framesJump from a Ladder towards a cliff
33 framesJump up to a Platform while hanging from a cliff and just right begin to run (1 blank frame before starting to run)
41 frames(Stick) →→r: Kick while running using a stick
15 frames(Stick: rr / rrr) between r and next (Stick) r
18 frames(Stick: rrr) between the 2nd r and the 3rd r
34 frames(Stick: rrr) the 3rd r
25 frames(Stick: r) r
6 framesbetween B and ←+B
31 frames←+B
8 framesbetween B and l+B
16 framesl+B
12 framesbetween r and next r
21 frames(→rrB) r between B
37 frames(→rrB) B
1 frames(←+r in the AIR) between ← and R
17 frames(←+r in the AIR) r
30 framesbetween →→+↓ and start of running
30 frames→→r
-2 frames(hanging from a Cliff) A
33 frames(→→↓+r) r
16 frames(→→BB) between B and B
31 frames(→→BB) the Last B
47 frames→BB
12 frames(→rr+B) between r and r
21 frames(→rr+B) between r and B
69 frames(→rr+B) B
102 frames→rr+B
30 frames→→r (In the Air +B)
11 framesr causes damage
9 framesB causes damage
6 frames(BBr) between B and B
8 frames(BBr) between B and r
27 frames(BBr) r
41 framesBBr
37 frames(BBB) the Last B
51 framesBBB
57 framesBBB Slow but Powerful
10 frames(BBB Slow but Powerful) between B and B
37 frames(BBB Slow but Powerful) the Last B
49 framesBB→B
9 frames(BB→B) between the 1st B and the 2nd B
8 frames(BB→B) between the 2nd B and →B
32 frames(BB→B) →B
16 framesr
-1 framesbetween Landing Frame ("_", Blank frame) and Start of running; →_→→
-2 framesGrab the edge of Cliff when dropping
23 frames?Grid Jump
34 frames↑r
11 frames↓+A
32 frames2 times l+B
-3 framesbetween (→→)↓ and Start of Dropping from the edge of a Cliff
-2 frames↓: Roll while running
-16 frames→→B: Running Punch, reach the farthest. Use it at 16 frames ahead of the Start of Dropping from the edge of a Cliff
-3 framesRunning Jump before the Start of Dropping from a Cliff
6 frames↓: After Crouching to pick a weapon, begin to run
5 frames↑ (Hideaway)
5 frames↓: Crouch
0 framesbetween ↓: Crouch and Jump
-1 frames↑/↓: Grab the Grid at the frame when reaching the maximum height (Dash-against-the-wall Jump)
13 framesbetween A(Jump up to a Platform from the edge of a Cliff) and ←/→ to change direction & trajectory
-4/-3 framesbetween (→→) r/B and Landing Frame ("_", Blank frame); -2/-3 frames
-1 framesbetween (→) ↓:Crouch and Landing Frame ("_", Blank frame)
-15 ~ -1 framesbetween r/B: Trick.5 and A (-2 frames before Jump up to a Platform from a Cliff)
13 framesbetween (In the Air) B/r and A (-2 frames before Jump up to a Platform from a Cliff)
-5/-4 framesbetween (In the Air) B/r between Landing Frame ("_", Blank frame, 1 frame before the feet touch the ground)
-4/-3 framesbetween (In the Air) (-1 frame: ←) B/r and Landing Frame ("_", Blank frame)
  1. Jump at 2 or more frames after starting to run and the Player Character reachs the farthest.
  2. Long Jump: A*7; Short Jump: A*[1,3]∩N; Middle Jump: A*4, A*5, A*6
  3. Give priority to breaking the Box
  4. Game complies with the principle of projectile motion; Y-X paracurve: $Y = \frac{v_y}{v_x} X - \frac{g}{2v_x^2} X^2$
  5. Using Long Jump (A*7) may have a accessibility of flying over an enemy
  6. Use a Knife when jumping from an edge of a Cliff →)A +14 frames), which will lead to a maximum displacement

feos: Claiming for judging.
feos: Replacing with an improvement per author's request.
feos: Cleaned up the branch. Speedrun is the default goal so it doesn't need to be mentioned. And "no damage" is the canonical wording we use over here.
feos: Replacing the file with a 792 frame improvement.
feos: After watching this side-by-side with the normal mode run, I can confirm that Time Challenge Mode is not different enough from regular gameplay to warrant a separate branch, but rather it's a difficulty setting, which we don't put into branch labels.
Regarding "no damage", we only put it into branches if taking damage is faster but was avoided for entertainment purposes. If taking damage just stuns you for a while and it's optimal to avid it, this doesn't go to branch label either.

Last Edited by feos 16 minutes ago
Page History Latest diff