Submission #9541: x0r's GBC Astérix & Obélix in 15:50.09

Game Boy Color
Astérix & Obélix
BizHawk 2.9.1
56745
59.72574250991096
2121956
PowerOn
x0r
Obelix (E) (M4) [C][!].gbc
5f36071df7be289c169768b1683947e972d26996
Submitted by x0r on 2/22/2025 4:03 PM
Submission Comments
'Astérix & Obélix' is a platforming game originally released for Game Boy in 1995 and re-released on Game Boy Color in 1999, based on the French comic book series of the same name. In this game, Caesar tries to teach a lesson to the indomitable Gauls by constructing a palisade around their village; in response, Astérix and Obélix travel the entire Roman empire to bring back souvenirs for Caesar from four different countries in record time, without even needing a single drop of magic potion!

Game objectives

  • Emulator used: BizHawk 2.9.1
  • Aims for fastest completion
  • Takes damage to save time
  • Heavy luck manipulation

Comments

  • ROM filename: Obelix (E) (M4) [C][!].gbc
  • ROM SHA1: 5f36071df7be289c169768b1683947e972d26996
  • Sync settings:
    • Core: GBHawk
    • CGB in GBA: False
    • Console mode: Auto
    • RTC Initial Time: 0
    • RTC Offset: 0
    • Use Existing SaveRAM: True
I am TASing the Game Boy Color version. It’s the version I played during my childhood, borrowing the cartridge from my younger sister. And the game looks much better in color. The GBC version runs in GBC mode at double the Game Boy’s CPU speed; because of how the RNG works in the game, this movie will not sync with the original version.
Both versions feature fantastic music composed by Alberto José Gonzalez. I hope you’ll appreciate it as much as I did throughout the years.

Difficulty

We pick easy difficulty because it spawns slightly fewer enemies and shortens some of the levels, although it slows down Greece Act 4 slightly. We pick Obélix over Astérix because the only difference between both characters are their hitboxes (Obélix’s is slightly bigger), which dictates the reach of their attacks.

Tricks

This TAS implements a handful of tricks. Mainly:
  • Tapping the D-pad during jumps with a specific pattern increases the character’s horizontal speed to 1.66 px/frame on average, instead of the 1.33 px/frame the developers intended.
  • Tapping the D-pad while pushing powder kegs around in Helvetia Act 4 doubles the character’s horizontal speed compared to what the developers intended.
  • If an attack is launched during a jump, then tapping the D-pad when the character hits the ground increases its horizontal speed slightly for a few frames.
  • Consecutive jumping, to keep momentum.
  • Pressing ↑ and ↓ simultaneously at a specific frame while climbing a ladder will warp the character instantly to the top of the ladder and the floor above.
  • Not taking any wild boar (the equivalent of magic potion, when playing Obélix). Despite the advantages, it’s just too slow.
  • RNG manipulation, ranging from simple brute-forcing by hand to automated searches with custom scripts.

Stage by stage comments

Britania Act 1

There are many enemies on the ground, so the best route is to just go the high way, breaking a few blocks in the process.

Britania Act 2

The big green enemies take four hits to dispose of.
As for the red spear-throwing Romans… well, the spears they throw can be a real nuisance. Fortunately, I’m able to manipulate two of them so that they don’t attack me: by jumping over him while already being on the upper ledge, I am not in their sight for long enough to attack me.
The third and fourth ones are manipulated to throw their spears in the wrong direction right as I run past them. I do need to sacrifice some speed, but it’s fun to watch, avoids damage and avoids dealing with the projectile until the game decides to despawn it.
The level ends with a few jumps that can’t use the D-pad tapping trick.

Britania Act 3 – Street

One tricky part is towards the beginning, where an enemy walks towards Obélix while standing almost under a block. Taking damage intentionally works well, but I found a better way: use the attack to get rid of the block (and slap the bandit around a bit), then jump over the enemy. It saves about 3 or 4 frames.
Right after the first barrel thrower, there is a spot with two blocks and an enemy that is difficult to avoid. The right block is a power-up, and as discussed before, we don’t want it, so the jump is intentionally suboptimal.
At the very last frame before I complete this section, a jump is performed to manipulate RNG for the next section.

Britania Act 3 – Prison

The objective is to free London’s rugbymen who were locked up in the London tower by the Romans. Six players are to be freed; one is hidden on each floor, behind one of three cell doors picked at random when the player enters the level. Breaking the wrong door frees a bandit that attacks the player.
The RNG manipulation I mentioned is mostly to manipulate the last prisoner to be as close to the ladder as possible, so that input can be ended as early as possible. The other prisoners’ location’s do not really matter, but the middle doors are the nicest.
The yellow roaming Roman guards used to be annoying and required suboptimal movement to keep the far enough from me, until I discovered a few tricks: pressing ↑ and ↓ simultaneously near the top of each ladder, and timing my charged attacks right. Now, each floor is completed fast enough, so they don’t really pose a threat anymore.
Another annoyance is that the cell doors require charged punches to be breached. Fortunately, I found the fastest way to breach them: charge each punch while jumping over an enemy, and unleash the attack right as the character hits the ground.
How does the prisoner placement work? It’s determined by six bytes of the eight-byte region starting at WRAM address C0BC. The third byte determines the right cell for the first floor, the fourth byte the right cell for the second floor, and so on. Each of those bytes has three possible values: 8 means the rugbyman is locked up in the left door (relative to the screen); 14 means middle door and 20 means right door.

Britania Act 4

We are playing for the London team in a rugby match and the objective is to help them win against Rome. Obélix has the bladder and he needs to run across the pitch to score a try while avoiding Roman players.
A try is worth 3 points; converting it gives us 2 extra points, which is enough to clear the level on easy difficulty. Normal difficulty will require us to do two cycles; hard difficulty requires completing three cycles.
The opposing players will either dive at the player, or jump over them. I’m almost 100% sure that their behavior is based on RNG. Here, we manipulate them into always jumping over Obélix by sacrificing a teeny tiny bit of speed here and there where necessary. What works best is to let go of the D-pad for one frame, repress it for one frame, let it go for another, then hold it normally, just as an opposing team member is entering the screen from the right (when he’s about 4 to 8 pixels or so into the screen).
In order to convert the try successfully, the B button needs to be held down for at least 33 frames.

Helvetia Act 1

This level contains lots of jumping.
And lots of enemies too. The powerup is very tempting, also because the block is in my way, and at first my route took it. I found out later that it’s faster not to take it, and even taking intentional damage three times is faster (about 20 frames) than taking the wild boar. I later managed to complete the level while taking damage only once.

Helvetia Act 2

A level in three parts: one autoscroller, one section that isn’t, and another autoscroller.
Routing the middle section was harder than it looks. There is a Roman under a block, where for a long time I took intentional damage; I later found a way to avoid that. At the end of that section, a block is blocking my way and requires 10 hits to break.
After that, it’s just a matter of fooling around a bit and jump off the log as early as possible to end the level.

Helvetia Act 3

Just hitting the rightmost end of the level is sufficient. That means that I don’t have to climb the whole lot of platforms at the end in order to pass the level. Good for us.
I hate the crows with a passion. Their positioning is based on a global cycle, and therefore depends on how fast I’ve been in previous levels.
The uphill slopes slow down the character significantly: walking or running uphill halves the character’s speed compared to flat ground. Bunny hopping is essential to get up these slopes.
Of note are two jumps across large voids. They require the player to gain momentum by running down a slope for long enough to be running faster than the normal running speed, at 3 pixels per frame instead of 2. That higher-than-normal speed is also retained during the jump, so it’s important to jump as late as possible.

Helvetia Act 4

We need to rescue a banker that has been locked up in one of the bank’s safes.
Thing is, the bank is swarming with Romans that continuously spawn on the first floor. And there are 10 safes to blow up in the basement.
The banker is always in the last safe to be blown open, so all of the safes need to be dealt with.
There are three powder kegs in the basement (which I’ll call 1, 2 and 3 from left to right), which don’t respawn. The ground floor has two kegs (which I’ll call A and B from left to right) that do, and you have to go back there a few times to drop kegs into the basement.
Also, you have to use the kegs in the basement to reach safes you cannot reach with kegs from the ground floor. After you light a keg, you only have enough time to place it before the safe right next to the candle or a safe adjacent to it.
This means:
  • keg 1 must be used on safe 3
  • keg 2 must be used on safe 4
  • keg 3 must be used on safe 10
If you don’t, the game will penalize you by resetting the entire level to the beginning. If the game didn’t do this, you would softlock.
Once the last safe is blown up, the game won’t process any inputs and will force the character to walk towards the last safe with the banker. There isn’t much fooling around I can do during the wait, except maybe for a “cool Gauls don’t look at explosions” kind of thing. If you walk too far away from the explosion, the game will walk you back, wasting time in the process. And if you walk 'really' far away as I tried to do once (normally the keg will blow the safe open at exactly the right moment, but my movements speed things up and buy me time to almost run to the ladder), you can glitch the banker’s graphics a little bit, causing him to be drawn with a red palette instead of gray. He becomes very mad at you if you just leave him inside there, I suppose.
Keg movement can be optimized using two tricks. Firstly, kegs can be ejected from the character if you land as close as their centerline as possible, then push the direction you want, even for just a frame. Secondly, tapping the D-pad in a 2-on/1-off pattern starting at the right moment increases the speed when pushing them around.

Greece Act 1

The game wants you to jump from boat to boat by climing their masts, but we can take a shortcut at the beginning of the level. That shortcut is easily doable in RTA runs.

Greece Act 2

Nothing really special here.

Greece Act 3

Here, the routing was fairly straightforward, though there are many enemies and the projectiles make it rather difficult.
At some point, my character is in a dire situation: there’s a flying disc behind him, a Roman ahead of him, and a block above him. Since there is no choice but to get hurt, I try to take damage from the disc so that I get damage-boosted forward.
Fun fact: the developers didn’t bother animating the jars when they break on the ground; instead, the game displays some garbage sprites. The effect is convincing though: I didn’t notice it until I made this TAS! Just try to watch the video frame by frame to see what I mean.

Greece Act 4

Ah, the Olympics. Even when TASing this game, we are safe from any accusations of doping. Were there even doping tests in 52 B.C.? I mean, our character fell into a cauldron of magic potion when he was little, so he should be setting some crazy world records.
We are competing against a Roman athlete in three sports: 100-meter dash, 100-meter hurdles and javelin throw (which the developers forgot to translate, so it’s “lancer du javelot” /en français dans le texte/). For each sport, you get three attempts and the best of your three performances is compared with the opponent’s best. You need to get first place for at least two sports out of three to pass the level.
Thing is: the opponent’s performance is randomized. While this has little influence on javelin throws, it is a much bigger an issue with the 100-meter dashes and hurdles because the game will only proceed to the next sport or attempt if both contestants reach the finish line. We therefore have to show good sportmanship, and give our opponent a boost as well by means of luck manipulation.
In 100-meter dashes, the opponent’s in-game times without luck manipulation usually range from 15.1 to 16.0 seconds, but luck manipulation gets this down to 13.8 or 13.9 seconds, which is the absolute best time that can be manipulated.
100-meter hurdles are more difficult to optimize because we have less control over the RNG during those races. The opponent’s in-game times range from 20.5 to 21.8 seconds without luck manipulation, but I was able to manipulate his times down to between 18.4 and 18.6 seconds.
For javelin throws, I only manipulate the third attempt so that the opponent’s and the player’s javelins land on the same pixel. This can be bruteforced by hand.
In general, I’ve tried the following for each sport: the first attempt tries to reach the absolute best possible time or score; the second attempt tries to do as bad as possible without wasting time (or only a little bit); and the third attempt tries to do the minimum effort possible to win. Hope you’ll enjoy.
As an exception to the rule, I also do a bit of a playaround in the third attempt for 100 meter hurdles because I couldn’t find a way to run at the same speed as the opponent without incurring a significant slowdown.

Hispania Act 1

This level is in three parts: first you climb up from a boat, board another ship, then descend, before facing a mini-boss.
There isn’t much to say about the climb itself, except that there is a circling crow that has been the source of many headaches when optimizing this movie, exactly as those in Helvetia Act 3.
After boarding the other ship, though, it’s a matter of getting down as fast as possible without getting killed by fall damage. There are spikes on the mast that deal two damage points when hit, but whose hitboxes are very badly programmed, and we need to touch some platforms on the way down too. The lowest platform right before the mini-boss also has an incorrect hitbox, and so we can just fall through that platform and start the boss fight.
The way I descend is as follows: I have the first set of spikes damage boost me on a platform, which makes me fall for 68 frames out of a maximum allowable of 78 frames (the character is still stunned by the damage, so there isn’t much else I could do). Then I fall for 62 frames on another platform, then 68, and finally 67. I don’t think it’s possible to touch fewer platforms than that on the way down.
The mini-boss at the end of the level is dumb. This guy takes 11 damage to be defeated. Charged punches deal 4 damage instead of 1 and can be charged during a jump which also provides lateral movement, so three charged punches take out the boss in no time.

Hispania Act 2

The routing at the beginning was tough. The idea is to minimize airtime and maximize time spent running on the ground.
The long jump at the end of the beginning section is pixel-perfect and the fall is exactly 78 frames long: press A one frame too late and the character will miss the jump and fall to his death; but press A one frame too early and the game kills you for falling from too high.
The middle section of the level continuously spawns enemies that take three hits to kill. For those I can’t jump over, it’s faster to hit them three times than to use a charged punch.

Hispania Act 3

The game despawns one of the two spears, but not the second one, after using the catapult. So one of those spears comes back to haunt me right when I am faced with a Roman ahead and a block above. The intentional damage I take also buys me time and lets me jump over that same spear right when my invincibility ends.

Hispania Act 4

We somehow end up in a bullfight. A Roman runs in a certain direction (left or right) picked at random, which is the only early warning you get before a rampaging bull chases you, determined to kill you. He will one-shot Obélix if he gets hit.
You just need to outrun the bull for long enough three times, until he’s knocked out. After that, you get a trophy to celebrate this gratuitous act of animal abuse. The dialog box still needs to be dismissed with one press of a button, which is how the TAS ends.
And that’s it for this game. Thanks for watching and I hope you enjoyed it!
Last Edited by x0r 7 hours ago
Page History Latest diff List referrers