Released in 1988, the NES port of Ultima III: Exodus features redone graphics and music, and many modifications to the game mechanics. The original version of this game inspired NES rpgs such as Final Fantasy and Dragon Quest, so it's interesting to see this version come out alongside them. Players are tasked with defeating Exodus, the magical computer used by the villains of the first two games to look up cat pictures.
Best time: Single-segment 0:43:37 by Neil 'PresJPolk' Stevens on 2012-11-23.
Get Flash to see this player.
Author's comments:
The hardest thing about running a game that has never been published to SDA, is knowing when to quit. Fortunately in attacking Ultima Exodus I had a friendly and active community of interested people, pointing out improvements, and pushing me to push the game to the limit.
As a result of all that help and moral support, I believe this game has approached the limit of what can be done with currently known glitches. I went into this project hoping to get 1:30:00, as the best known run was in the neighborhood of 2:20:00, so it's amazing to me that i've finished at 0:43:37.
So I'd like to start by thanking all of those who helped me out with this. The TASing trio of Dunnius, Gyth, and FatRatKnight in particular were of great assistance. Dunnius encouraged me to learn fceux, which helped me optimize character creation. Gyth, the current TAS record holder in the game, tipped me off on some glitches, and worked with me to develop others which made a big difference in the run. FatRatKnight suggested the kernel of what became the final, hard-to-believe route. But I also want to thank Emptyeye for helping me get on the right track in researching the game, and all my stream viewers for their constant encouragement and support. Also, without Feasel giving me early moral support and inspiring me to take on this game, it might not have happened at all. And finally, thank you to all who make SDA happen, and to Pony Canyon for coming up with a fairly well-made console port of a DOS classic. And the nice music. Thank you, Pony Canyon, for making Ultima Exodus's music much better than Hydlide's.
As for the route itself, the amazing thing about it is that we found a way to beat this game without grinding. This is a game that envisions the party having maxed out stats, costing (99 * 2 + 74 * 2) * 100 * 4 gold, or 138,400 gold, gotten in increments of 1 to 99. It also expects the party to be at level 25, for 10,000 combined experience gained, gotten in increments of 3 to 12. The easy part was minimizing the leveling: simply choose not to gain levels for any character but one, and give that one only the minimum 400 xp needed to get to level 5, get a ship, and do the end-game tasks. But gold? Everyone needs gold, right? All the good spells cost money!
Nope. It turns out that due to the perfectly consistent and manipulable AI, and the Floors having just low enough HP, they can be killed by magic missiles, in quantities that can be cast without buying stats at all. It takes luck to avoid high-level encounters in the dungeons, but the dungeons can be done early, so the route was actually practical in a live, single-segment run.
Even so, Exodus Castle should have been too hard. But we found a way to avoid having to fight even a single wandering monster in the endgame. Exodus Castle is cruel in that it's loaded with monsters who cannot be frozen with the Sands of Time that work the whole rest of the game, and also cannot be attacked by ordinary weapons, including any form of missile weapon. They are useless. The enemies also cast spells themselves, and have many hit points.
But there is a glitch. The can be frozen in their tracks if we go to the Status screen, press B, then immediately press a direction on the D pad before the menu is cleared. As long as the D pad is never let up on (we can change directions, but can't let it go neutral), the monsters will never move and therefore will never attack. This also works in Ambrosia (important to avoid the Man of War battle there) and in towns (handy to keep that one trollish townsman from blocking the way to and from the Guild shop in Gray).
That just leaves pirates. We need three ships to win the game: one in Sosaria, and two in Ambrosia. One pirate battle of the three needed can be skipped entirely, by taking advantage of how the game does not know how to handle having two sprites on the same map square. By walking back and forth, we can glitch the ship guarded by the northern pirates in Ambrosia, and bring it to the top of the stack, letting us steal the ship without fighting the pirates. The other two pirate battles we have to face in the game, in Sosaria and in southern Ambrosia, we simply try to luck out on. I did in this run, getting only 1 of 8 possible pirates in the first pirate battle, and only 3 of 8 i the second. Of the four Sands of Time I buy to preserve myself through these battles, I only needed one.
That's well and good, but what about those dungeons? Monsters there just show up randomly, right? Well, yes and no. Dungeons are shown in a 3-D view, and you move through them by turning left or right, then moving forward or backward. To go up or down you climb ladders up or down. The only actions that can trigger a monster encounter are forward or backward movements, so we can minimize those. We do that by using the Ascend and Descend spells exclusively to take us between Level 1 and Level 8 of the two dungeons we enter, then use a Gem at Level 8 to see where we landed, to know the minimum path to take. We can cast Ascend and Descend so many times because again, only moving forward and backward will trigger battles. Turning left and right cannot trigger a battle, but it does let us regain MP, so we spin around like a top between Ascend and Descend castings, regaining the MP to cast again.
We even avoid having to move back and forth to gather the Marks for all four party members, by going to the status screen repeatedly, which re-triggers the game offering us a chance to give a Mark to a party member.
The only question left is what party to use. We need to cast 16 missiles per endgame combat, and only Wizards can cast 5 with base stats, so we want all the Wizards we can get. We use three. The fourth character however is a Druid, not a Wizard. We use a Druid because we need one character to be at Level 5, and the only professions that can kill every early-game monster quickly and easily are the Druid and the Ranger. The Druid can cast the two missiles he must cast in Castle Exodus while still having 25 Strength, though I'd have to give a Ranger at most 10 Strength, 20 Intelligence, and 20 Wisdom in order to achieve 10 MP. So ironically, in a speed run the Druid is the superior melee combat profession over the Ranger.
I want to give each party member 25 Strength though, because it is by far the most important stat in melee combat. Dexterity, when maxed at 99, only doubles your expected damage dealt by increasing your hit rate. At only 25 you can get with base stats, the effect is much less pronounced. Strength, even at only 25, increases the damage dealt by a dagger-wielder many times over. It's no contest, and in the late stages of a pirate battle (as seen in the second Pirate battle in this run) melee combat does come into play to finish the battle as soon as possible.
In conclusion: we use the Status screen glitch to avoid most Exodus and Ambrosia battles. We take advantage of the non-random Floor AI to win the two mandatory endgame battles, and use a combination of luck and the Sands to defeat the mandatory Pirate battles. We route carefully and hope for luck to get the required Marks (Snake must be held by by the party member with the Silver Horn, all party members must have Fire and Force, but Kings is not needed at all). We spend so little gold and XP that we get basically all we need on the way from point A to point B, with only a few sought-after battles needed to get one character to Level 5.
And so a game that was meant to be played for perhaps hundreds of hours, is somehow defeated in under 45 minutes.
Theoretical improvements: With perfect luck, one could buy no sands, no food, and just hope we get TAS-like RNG results. We could require getting only 1 pirate for both pirate encounters. We could also demand getting no encounters at all in either dungeon. The ship in Sosaria could also spawn just outside Lord British's castle the first time we leave it, and the whirlpool could spawn next to the ship. With this microscopically low probability combination of events, a few more minutes could be saved. But as we get this close to perfection, the payoff in time saved for time spent goes down fast.
As I said in the beginning, it's hard to know when to stop when there's no clear yardstick to use. In this case, I feel when I've done what I thought was surely impossible, and even got great luck relative to that needed to do the impossible, it's time to move on. When I've demolished every goal I set, and even beat by a minute and a half the stretch goal I was encouraged to try for, it's time to declare victory and submit.
Again, thank you everyone. Enjoy the run.