'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!