F-Zero X is the 3D sequel to the popular SNES hovercraft racing title. It offers a wide array of cars, tracks and play options, and has had an active speed-running community since its release in 1998.
This TAS completes the 6 tracks of the Jack Cup in time trial mode, where you choose any track to drive solo aiming for fastest possible completion of 3 laps according to the in-game timer, accurate to the millisecond. A special input sequence is used to unlock all cars (you normally unlock cars by playing in grand prix mode). I used Mupen64 0.5 re-recording v8, with "Memory Hacking Software" to find and view memory addresses.
This TAS improves the "cup-time" by 19.088 seconds over the awe-inspiring unassisted world records. In addition, each track beats all known individual-track TAS's - specifically those by Jimmy K Thai (JKT), a ground-breaking player and long-time world champ.
The table below lists the times for each track with links to videos.
|Course||Unassisted World Record||Lord Tom TAS||Difference||JKT TAS|
Why not do all 4 cups/24 tracks? That was my original intention. However, as the authors of prior efforts (going back to 2007) discovered, each track takes a huge amount of effort (a low of about 20 hours TAS'ing for Devils Forest to way over 50 for Sand Ocean and Mute City). Apart from likely never getting a 24-tracks run in the first place, the task to obsolete such a run would be similarly massive and unlikely to happen. IMO a well-done F-Zero X TAS is too good to just have on YouTube and some competition on this site could create some really amazing content. Further, the game's 4 cups of 6 tracks each provide a logical division which (at about 10 minutes) is a good duration for watching, and there are no credits or acknowledgement for completing all 24 tracks, so nothing is missed in terms of finality or game experience. Having worked on this project and seen what they do at SDA, I actually think an individual-levels table would best suit the game, though I know that's strongly against the culture here. I raised this discussion in the forums and people seemed to agree that a per-cup approach was a good compromise between individual-level tables, as utilized by SDA, and the usual "must complete entire game" standard of tasvideos.
Why do time trial rather than grand prix (where you race against other cars)? This was hashed out somewhat on the forum before I started this project, and basically it's because that allows for focus on the fastest possible times without random interference, and allows for easy comparison with realtime world records and TAS's which have all used time trial. I do think there is entertainment possibility for a playaround in grand prix mode, or a speed-oriented "death race" run (a special track where you try to kill other cars as quickly as possible), though for me the time trial mode remains the most compelling challenge.
Those are the reasons, for better or worse; now we just need the watchers to watch, commenters to comment and the judges to judge! :)
PAL vs NTSC
The PAL version of F-Zero X is very similar to the NTSC version running at 5/6 speed. At some point it was decided, however, that only one set of speed-running records be kept, using a simple conversion formula to reconcile the time differences. F-Zero X is a challenge of coordination and reflexes, so playing at a slower speed is a substantial advantage, as evidenced by the fact that all current world records were set in PAL.
The TAS uses NTSC as it's the site standard and is faster/more impressive in realtime. To avoid confusion I report all World Record times converted to NTSC, though arguably no one could (today) actually duplicate them in NTSC. This is not at all to take away from the PAL World Records - they are still just incredible - but it's important context in comparing TAS vs human efforts.
Each car has a weight and 3 ratings, A/best through E/worst, that determine its characteristics:
- Grip: How well the hovercraft can take turns without sliding. Lower grip makes sliding (see below) much more effective; since Double-Taps can be used to take turns, lower grip is best.
- Boost: The relative benefit a car gets from boosting.
- Body: How many hit points a car has; E gives 142, then each upgrade increases by 12 up to 190 for a body of A.
- The balance between acceleration and maximum speed can also be tweaked; because choosing max acceleration dramatically improves sliding, most world records use max acceleration (aka slider settings).
- Weight: Heavier cars turn significantly more slowly, and lighter cars accelerate and boost slightly better. There may be other minor effects, but these two are well established.
Your basic power bar. Max energy is determined only by a car's Body. Energy is depleted by crashing and using boost. It is replenished by refillers. Getting the most possible speed out of one's energy supply, and maximizing it using refillers, is very important on every track.
Boost makes the car go faster for a time. It can be obtained on any lap by driving over a yellow "zipper", or on the 2nd and 3rd laps by pressing B. Both methods give 100 frames of boost, but pressing B to boost causes the car to take a bit of damage (lose energy) each frame. Thus one must choose carefully whether to use energy on boost or on other techniques such as railslides that cause damage but increase speed. Generally, railslides and boost-railslides are not worth it after the first lap. For all cars, using 667 frames of boost will completely deplete energy. Boost has no effect whatsoever during a DT/DTD or when speed is >2000 kmh. This speed limit applies for both PAL and NTSC, despite the timing difference, giving PAL an advantage since boost is effective at higher speeds.
Each track has one or more areas of colored flooring which will replenish energy. For all cars it takes 125 frames to fully replenish, meaning that 1 frame spent in a refiller enables 667/125 or 5.3 frames of additional boost. It's very important on most tracks to soak the refillers for all they're worth!
To complete each lap, you need to pass through a number of invisible check-points in order. Sometimes it is possible to choose a path such that a significant portion of the track is skipped, notably in the Mute City "loop skip" and Big Blue. However, if you try to proceed having missed a checkpoint, you'll end up falling off the map. Hence there are many times when it looks like more of the track could have been cut off, when the checkpoint enforcement actually makes it impossible.
Getting the best times in F-Zero X requires mastery of a number of techniques. Apart from the Air-Ground-Glitch, it is fairly ambiguous to what extent most of these are bugs vs features.
Double-Tap Dive (DTD)
Floating and Air Control
This track was redone after the discovery of a way to use the Air-Ground Glitch (AGG) the skip the vertical loop on the 2nd lap. The original effort relied on optimized sliding strats to beat the existing record by just under a second.
The redo uses the same strat for most of the first lap. The AGG float path was as good as I could get it to still gain height and hit all the check-points. The big break in this track is the DTD to skip the loop - I actually land on the rail after the loop and start another flat AGG float at very high speed to cut the whole first turn off the final lap, re-entering the track in a boost-slide.
Very simple track, the only one where I use "jumper" settings, favoring max speed over acceleration due to the absence of sliding. As it's so simple, the times are very tight - I beat JKT's TAS by less than a tenth of a second! The keys here are the tiny hops (actually small DTD's) after the refiller in each lap, and the big DTD at the end of lap 2.
Man. This track sidetracked my efforts for over a year as I just couldn't figure out how to duplicate JKT's TAS's DTD's off the sides of the pipes in the first lap. After a cooldown, though, I came back a bit more methodical and also worked in elements of a demo TAS by FunStyle - the technique of DTD'ing into the end of the first tunnel, and popping out into a float to cut a big corner. Whereas his TAS floated back onto the rail to start a new AGG, however, I found it even faster to (at WMJ's suggestion) float out of the first tunnel, turn, and DTD into the 2nd tunnel.
At the end of the 1st lap I show a TAS-only technique of floating onto the rail to start an AGG, and continuously just nicking the edge of the rail as a way of adjusting where I start the AGG while taking only minimal damage (driving on the rail kills energy EXTREMELY quickly).
This track has no practical DTD opportunities, so it's all about perfect slides and railslides, as well as very careful usage of energy. I take long paths and/or intentionally slow down for the first two refillers to maximize later boost. I hit the top of the ramp with the boost-railslide before the finish line at the maximum speed that doesn't throw the car off the track.
Twin Noritta is chosen (as opposed to Blood Hawk used by JKT) due to advantages in floating and high-speed boosting. The major innovation here is carefully managing energy to skip most of the big horizontal loop before the refillers in laps 2 and 3 using an air boostslide. JKT's TAS had done this only for lap 3. I have to assume the air boostslide is next to impossible on console, since JKT's TAS has been around for a while, it is a much faster technique, and the current world record does not use it.
I chose Crazy Bear (very heavy, Boost rating of B) mostly for the entertainment purpose of seeing a world-record-beating time on a course with both floating and tight slides done by one of the heaviest cars. Having completed the track, though, I honestly don't think the Blood Hawk could get it much faster. The big key on this track is landing the DTD with as high a cruising speed as possible while still being able to take the coming turn. This led to the discovery that tapping R/Z during a DT turn makes the car turn tighter.
The world record skips the zipper in between the refillers on lap 2; in testing I found that grabbing it loses only trivial time and saves over 1/3 of a boost.
For entertainment, I choose a very careful path through the refiller on lap 3 to get just enough energy to avoid losing boost, but still be almost dead, allowing me to crash across the finish line without losing time.
Finally, I'd like to note that the unassisted world record for this course is very, very impressive - so I feel ok about only besting it by a second and change.
Memory Addresses (float except where noted)
- 00BB0520 -- y
- 00BB0524 -- z
- 00BB0528 -- x
- 00BB052C -- dy
- 00BB0530 -- dz
- 00BB0534 -- dx
- 00BB0590 -- Car weight
- 00BB05B8 -- Boost counter (byte)
- 00BB05C8 -- Energy
- 00BB05CC -- Max Energy
- 00BB061D -- Double-tap Counter (byte)
- 00BB066B -- Car Id (byte)
- Comicalflop - for kickstarting this project over 5 years ago and getting JKT into TAS'ing.
- Jimmy K Thai (JKT) - for early work figuring out the techniques above and for helpful TAS's of several tracks. Though I often cursed the fact that a former world champion had made TAS's that I now had to try and beat, there's no question that his work made mine much better.
- FZeroCentral.org - formerly MrFixItOnline.com, and all forum-goers & staff for support as well as helpful articles and videos. The cumulative effort they've put into taming this game over almost 15 years is staggering.
- FunStyle - for support/advice and his TAS showing an earlier version of the float strat for Sand Ocean.
- Daniel - the current #1 player, for his truly amazing world-record strats and videos. Daniel also discovered the Air-Ground Glitch.
- WMJ - the current #2 player, for much patient help explaining the basics during my early efforts, and later for very astute and pointed advice on tackling each course. I never even would have finished Mute City without his help!