Submission #9606: stochastique's GB The Bugs Bunny Crazy Castle in 42:16.97

Game Boy
The Bugs Bunny Crazy Castle
Bizhawk Version 2.9.1
151527
59.7275005696058
7852
PowerOn
Bugs Bunny Crazy Castle, The (USA, Europe).gb
USA, Europe
2a3e982e542a849f95b4497025ca5b04db2abe8c
Submitted by stochastique on 3/30/2025 6:02 PM
Submission Comments
This TAS focuses on completing all 80 levels of Bugs Bunny Crazy Castle for Game Boy as fast as possible.

Game objectives

  • Complete all 80 levels

Comments

Bugs Bunny Crazy Castle challenges players to collect all carrots in labyrinth-style levels while avoiding enemies. When I started working on this TAS, over a year ago, I thought the game's grid-based system would be ideal for Travelling Salesman Problem (TSP) optimization, with carrots acting as nodes to visit in the most efficient order.
The Travelling Salesman Problem (TSP) involves finding the shortest route to visit a set of nodes. Levels were translated into graph representations with carrots as nodes and paths as edges, weighted based on movement cost. Using the Concorde TSP Solver, potential optimal routes for each level were calculated. Unfortunately, enemy placements and movements introduce so much complexity to the problem so I tried branch-and-bound to dynamically adjust paths when enemies interfered, with limited success.
On some levels, enemy manipulation was used to finish the level faster. Enemies react to player input when their respective address 0x433, 0x473, 0x493, 0x4b3, 0x4d3, 0x4f3 goes from 0xf to 0x0 (The enemy with address 0x453 can't be manipulated at all). This is used in some levels to make the enemies get out of the way or make them be killed faster. Button can be pressed even when we're waiting for Bugs to climbing stairs. Unfortunately, this can't be done often because most of the frames are lag frames. When there are a lot of enemies, killing them reduce the amount of lag in the game.
Ultimately, I was able to save 6202 frames compared to Aran_Jaeger's unsubmitted test TAS! Yet, for 11 levels, no better routes than those in his TAS could be computed. I've cleaned up and synced those levels and used them as is in the TAS. These levels are mostly at the end where the enemy count is high. Most of the time save comes from better routing. Comparing both TAS, there is less of no inputs periods for enemies to get out of the way.
Sometimes I could shoot a boxing glove without any time loss. This doesn't achieve anything except make things more exciting.

Stage by stage comments

  • Level 1 - This level is pretty straightforward but I was still able to shave 4 frames by pressing left just at the right moment at the stairs on the bottom left. This technique is done multiple times through the TAS. Frames saved: 4
  • Level 2 - Frames saved: 51
  • Level 3 - Enemies are manipulated when Bugs falling at the beginning. That enemy kill looks pretty dope. Frames saved: 220
  • Level 4 - Enemy manipulation in the stairs otherwise Bugs falls on Wile E. Frames saved: 133
  • Level 5 - Optimal solution would be to start with carrot on the bottom but Sylvester is guarding it. Frames saved: 15
  • Level 6 - Frames saved: 10
  • Level 7 - Small stop at the beginning to make Sylvester go up. Inputs are used when dropping on the crate to climb the nearby stairs faster. Frames saved: 20
  • Level 8 - Frames saved: 30
  • Level 9 - A Right input in the first stairs clears up the top path of enemies. Frames saved: 40
  • Level 10 - One enemy that gets in the way is sniped. Frames saved: 207
  • Level 11 - No inputs in the 36 frames to optimally get that lower right carrot guarded by Sam. Impressive "stealth" kill where the boxing glove doesn't even have the time to show. Frames saved: 227
  • Level 12 - Frames saved: 63
  • Level 13 - Frames saved: 13
  • Level 14 - Frames saved: 7
  • Level 15 - There is no input when Sylvester "wakes" up so he goes on the right instead of the left in the beginning like in the previous TAS. Makes the level much smoother. Frames saved: 39
  • Level 16 - First Sylvester killed is manipulated to stay at that position. Frames saved: 118
  • Level 17 - Frames saved: 94
  • Level 18 - Frames saved: 42
  • Level 19 - Frames saved: 356
  • Level 20 - Went to the right at the beginning instead of the left. Frames saved: 227
  • Level 21 - Frames saved: 104
  • Level 22 - Small detour to manipulate Sylvester going left. Couldn't find better solution so we have to wait a little bit for enemies at the end. Frames saved: 96
  • Level 23 - Frames saved: 338
  • Level 24 - Frames saved: 41
  • Level 25 - Solution from previous TAS. Frames saved: 0
  • Level 26 - Frames saved: 146
  • Level 27 - Frames saved: 109
  • Level 28 - Enemies manipulated while in the first tunnel. Frames saved: 60
  • Level 29 - Killed Daffy to reduce the number of lag frames. Frames saved: 213
  • Level 30 - Frames saved: 52
  • Level 31 - Frames saved: 44
  • Level 32 - Wile E Coyote manipulated while in the first fall so he gets crushed in the second fall. Neat! Frames saved: 51
  • Level 33 - Frames saved: 10
  • Level 34 - Enemy manip in one of the stairs. Frames saved: 29
  • Level 35 - Enemy manip in one of the stairs to get that hard to get third kill. Frames saved: 59
  • Level 36 - Enemies manipulated to stay on the right side of the level. Frames saved: 33
  • Level 37 - Frames saved: 12
  • Level 38 - Frames saved: 18
  • Level 39 - Frames saved: 22
  • Level 40 - Frames saved: 154
  • Level 41 - Enemies manipulated before going down the stairs at the beginning. This frees up the path to the right. This is the greatest time saved for a level. Frames saved: 453
  • Level 42 - I love that falling boxing glove kill. Frames saved: 13
  • Level 43 - Frames saved: 94
  • Level 44 - Frames saved: 41
  • Level 45 - Frames saved: 160
  • Level 46 - I liked how the previous TAS achieve to get the leftmost carrot without killing both enemies but this method is faster. Frames saved: 121
  • Level 47 - Solution from previous TAS. Frames saved: 0
  • Level 48 - Solution from previous TAS but improved at the end. Frames saved: 1
  • Level 49 - Minor manipulation to keep Sylvester hugging the right wall. Frames saved: 37
  • Level 50 - Frames saved: 91
  • Level 51 - Enemy manip in the stairs. Frames saved: 18
  • Level 52 - Frames saved: 106
  • Level 53 - Frames saved: 75
  • Level 54 - Frames saved: 93
  • Level 55 - Right is pressed just as bugs exits the stairs without making it move to manipulate enemies. Frames saved: 138
  • Level 56 - Frames saved: 123
  • Level 57 - Frames saved: 186
  • Level 58 - Similar solution to previous TAS but better enemy manip for small time saved. Frames saved: 4
  • Level 59 - Enemy manip in stairs to keep the lower part of the level clear. Frames saved: 39
  • Level 60 - Similar solution to previous TAS but small change at the end for small time saved. Frames saved: 2
  • Level 61 - Frames saved: 365
  • Level 62 - Solution from previous TAS but didn't synchronize at 100%. 1 frame lost.
  • Level 63 - Solution from previous TAS. Frames saved: 0
  • Level 64 - Small detours to get weapons was optimal instead of waiting for path to be clear of enemies. Frames saved: 13
  • Level 65 - By not pressing buttons when he wakes up, Sam goes right instead of left when he wakes up and get killed as soon as Bugs gets out of the pipe. Frames saved: 27
  • Level 66 - That last carrot grab looks cool. Frames saved: 150
  • Level 67 - Solution from previous TAS. Frames saved: 0
  • Level 68 - Last TAS tried to manipulate enemies on the right but it's faster to just go up. Frames saved: 34
  • Level 69 - Enemy killed for less lag. Frames saved: 75
  • Level 70 - Same route as before but enemies killed faster for less lag. Frames saved: 33
  • Level 71 - Solution from previous TAS. Frames saved: 0
  • Level 72 - Solution from previous TAS. Frames saved: 0
  • Level 73 - Solution from previous TAS but didn't synchronize at 100%. 1 frame lost.
  • Level 74 - Frames saved: 31
  • Level 75 - Solution from previous TAS. Frames saved: 0
  • Level 76 - Frames saved: 136
  • Level 77 - Solution from previous TAS. Frames saved: 0
  • Level 78 - Frames saved: 34
  • Level 79 - Frames saved: 4
  • Level 80 - Solution from previous TAS. Frames saved: 0

Other comments

I'm pretty proud of my first finished TAS. Working on that project and those algorithms was much more fun than watching the resulting movie. Still some levels are impressive to watch, with close calls with enemies.
I think this TAS could be improved via better enemy manipulation. The select button slows down the game, maybe it could be used in these situations. In the forum, Aran_Jaeger suggested using select could be used to change lag patterns.
Emulator Used: Bizhawk 2.9.1
Last Edited by stochastique 2 days ago
Page History Latest diff List referrers