This is my improvement to Walker Boh's NES "warp glitch" Rygar; I save 3279 frames (65.58s), for a time of 5:23.14, again using the European (PAL) ROM.
Most time was saved by finding a faster way to gain tone; the route is exactly the same. Also, I discovered that side-scroller horizontal speed increases by about 4% when the player is jumping/falling, so this run is a bit "bouncier."
Game objectives
- Emulator used: FCEU 0.98.16 (PAL Emulation)
- Aims for fastest time
- Takes damage to save time
- Uses warps
- Abuses programming errors in the game
- Manipulates luck
Game Notes
Rygar was one of my favorite games growing up; it's fast paced, with cool if repetitive music and with its overhead view was very early in providing rudimentary "3D" gameplay. Alas, lack of any password or save mechanism likely kept it from gaining more popularity.
Ok, it's well known that Rygar is really glitchy. It's possible to wander for hours in empty, glitched landscapes by floating/climbing off the screen in ways the game didn't plan for. The player can walk in mid-air. That said, it's not quite true that anything is possible. For instance, no current glitch allows the player to fly upwards or do extra damage.
Rom Choice
In the end, I used PAL because it was faster, period. PAL's advantages include more time-saving glitches and longer jumps. NTSC has faster realtime screen transitions, climbing, and boss fights (due to shorter invincibility). Running speed is almost exactly the same in the two ROMs.
I first TAS'd this run using the NTSC ROM. This NTSC run would have been faster if powering up was accomplished by killing robots, but my new technique made it inarguably faster to use PAL. Also, the NTSC run included a death after getting the grappling hook. For my run, the shortcuts in the overhead map in PAL outweighed NTSC's advantages by about 12s.
Improvements Summary
Stage | Frame/Tone Diff | Frame/Tone Cumulative |
---|---|---|
Beginning | -11/+0 | -11/+0 |
Gran Mtn | -15/+1 | -26/+1 |
Garloz | -3/+2 | -29/+2 |
Lapis 1 | -65/+1 | -94/+3 |
Lapis 2 | -2559/+121 | -2563/+124 |
Belzar/Ligar | -626/+0 | -3279/+124 |
Note: In case it's confusing, the above table means that on stage Lapis 1, I got 1 more tone point, with a time 65 frames shorter. For every 8 tone points, the damage of Rygar's hits goes up by 1.
Route Comments
Beginning/Gran Mtn (1st & 2nd sidescroll stages)
Not much new here, just a little more bouncing for higher speed and I manipulate the ostrich creature so I can kill it while falling down the pit, getting 1 free tone point.
Garloz (Overhead)
Same route as Walker Boh's run, just better luck with monsters and slightly tighter running. The shortcuts taken (walking over ledges and across the grass) do not appear to be possible in NTSC.
Lapis 1 (Dr Seuss Flying Creatures)
I do my best to be quick here while getting to 40+ tone. I leave a star behind because I'll get all I need later and I couldn't get this one without costing time. It takes about 24 frames from the time a star appears to when it can be grabbed. I save some time by combining a bunch of previously known glitches in a new way at the end of this screen:
- Get caught in the floor of the first step
- Wait for turtle to "bounce" me
- Get caught in the wall so it thinks I'm on solid ground
- Air walk to the right
- Throw the grapple while falling to climb through the ceiling.
This is my favorite improvement due to the wide variety of bizarre brokenness it takes advantage of all just to skip climbing one rope. :)
Lapis 2 (Ice platforms)
The early part is similar to Walker Boh's run, though I kill 3 extra wyverns because they give 4 tone apiece.
Anyone who has seen prior runs will probably think it odd that I run right by where the robots are. I found a place below the robots where a "rolling ball" enemy spawns that gives 7 tone. Moreover, by "wiggling" back and forth 1 pixel, up to 4 balls will spawn! You can't see all 4, though, because they're on top of each other. Although the balls have about half the hp as the robots, they can be killed much more quickly due to their shorter invincibility times. The result is much quicker powering up, making it worthwhile to get even more tone for the Ligar battle. The major drawback is that this method is less exciting than fighting the robots, but it is also MUCH shorter -- by the end, I'm earning over 14 tone per second. I am very confident that no optimization of robot bashing would be as fast as, ahem, busting balls.
This section contains a big, hidden advantage to PAL over NTSC. In NTSC, having 4 balls on the screen causes significant lag, but almost none in PAL. I'm guessing (wildly) that the longer frames in PAL (50/s rather than 60/s) allows more computations to occur without lag?
I save a little time right before the bosses by starting the "Attack and Assail" spell to finish off the 2 robots as I run by. Attack & Assail gives 10 hits that harm everything on the screen; I only need 7 hits to save time while closing in on Ligar.
Belzar/Ligar (Bosses)
My approach is very similar to Walker Boh's; most time is saved because my higher tone means fewer hits required to kill Ligar. However, the fight is also more optimized; Ligar's invincibility is 30-32 frames (I don't know why it varies, lag or what) and I deliver each hit at the earliest possible frame. If it is possible to hit Ligar exactly every 30 frames it would save almost exactly 1 second, but I suspect it is not possible because any manipulation would likely itself take time.
Thanks
Walker Boh, Bisqwit, Cardboard -- for the existing Rygar runs!
Bisqwit: Accepting for publication. And taking for encoding.