Tool-assisted game movies
When human skills are just not enough

Submission #3625: nanogyth's NES Ultima: Exodus in 21:22.8

Console: Nintendo Entertainment System
Game name: Ultima: Exodus
Game version: USA
ROM filename: Ultima - Exodus (U) [!].nes
Emulator: (unknown)
Movie length: 21:22.8
FrameCount: 77095
Re-record count: 16533
Author's real name: John Stout
Author's nickname: nanogyth
Submitter: nanogyth
Submitted at: 2012-06-10 17:32:06
Text last edited at: 2012-06-13 20:20:37
Text last edited by: natt
Download: Download (8738 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:
Ultima Exodus has a straight forward plot; Exodus is bad, kill him. What sets this game apart is the open world you are given to explore, rather than a railroaded script.

Game objectives

  • Emulator used: FCEUX 2.1.6-interim svn0
  • Aims for fastest time
  • Manipulates luck
  • Takes damage to save time


Ultima Exodus is a game I played for hours as a kid. The basic plot is straight forward; Exodus is bad, kill him. What sets this game apart is the open world you are given to explore, rather than a railroaded script. Character customization is immense and a 20 person bench can be made to pull your 4 member party from.

Stage by stage comments

(Link to video)
  • 0:17 Here I make a save file, start to make a premade party and immediately reset. This sets a flag that I've already seen the opening cutscene, which is longer than sitting through the intro again.
  • 0:34 I make a party of 1 cleric and 3 wizards. Magic is needed for moving around the dungeon and to make quick work of the few battles I fight. I'm using a premade party rather than custom because the only stat that matters for this run is the wis/int/max mp, which is maxed on the premade characters. The character select RNG is frame based.
  • 0:36 I named the party VOU1 "we". It made a little bit of sense and didn't waste any frames to input.
  • 0:44 I'm surprised that mob didn't attack me. Usually if any of your characters are within the 8 surrounding squares of a mob after it moves a battle will start.
  • 0:48 Starting with a dungeon crawl. Ascend/descend change floors. The destination on the new floor is based on the frame the spell was cast. No RNG, it just cycles through the 256 cells of the dungeon map, dropping the party at the first empty tile. Sometimes it is faster to walk a bit, rather than wait to be placed at the absolute closest point. By alternating descends and ladders, the bottom 8th floor can be reached in 4 spells. This is good since my characters only have enough mp to cast the spells once each.
  • 1:00 Dropped in next to the mark of fire. This will let me walk unharmed over lava. The whole party takes 50 damage and that won't fully heal by the end of the run.
  • 1:05 I do some walking around to regen mp and pick up some treasure chests that are lying around. Some of the chests are trapped. I either cast OPEN, take the damage or advance the RNG. In the dungeon the chest RNG is advanced by steps, spinning in place works. This run doesn't need much gold, so I don't bother min-maxing drops here since spinning is relatively slow (~12 frames).
  • 1:40 One chest was left unopened so that I could make it back for this descend cycle. Technically, only the wizard that will have 50mp needs the mark of force, but I'm boxed by an ascend cycle later anyway. Giving it to everyone now saves me the time of death notifications later. There is a spin in there that prevents a random battle.
  • 2:02 Before going to the castle to level up I need 400xp. Undead give 4xp each and come at max 8 in a battle, so 13 battles. I need 2500gold and I have ~1400 now. Number of enemies and gold drops can be controlled by spamming B. Type of enemy is based on the frame the fight starts.
  • 2:11 Ghouls and skeletons are both hit by the clerics undead spell, which one shots about half of the enemies at a time. I haven't figured out anything to advance the RNG that controls the number hit. The spell can miss if it is started at the wrong time. When your chars right foot is down and 2 frames before, it will work. There are also situations where the spell will be cast but it hits noone. In those cases I don't bother casting it and wait for the next turn.
  • 3:50 13 fights of 8 each would be four more kills than needed. There are 2 fights with only 7 mobs and the last only has 6.
  • 5:57 Walking on lava is faster than through the forest.
  • 6:02 Pray is needed to get cards and use them later.
  • 6:11 Advancing the RNG will affect mob placement when exiting a city/cave.
  • 9:41 Level UP. Now more challenging enemies will appear; most importantly, the pirate!
  • 10:24 Sailing into the whirlpool takes me to the second overworld, Ambrosia.
  • 11:08 The boat looks glitchy, but I have to fight it.
  • 11:25 Speed of the ship is affected by wind, so some directions are faster than others.
  • 11:38 Shrine of intelligence. Time to pay for power. At 50 int the wizard will have poison, which can hit everything on the screen and works great for killing particular low hp, invisible mobs at the end of the game. Int starts at 25 and costs 100gold per point, so that is why I collected 2500gold. I need to collect a card by praying at each of the shrines as well.
  • 15:12 Manipulating the RNG here, to affect placement of mobs...
  • 16:40 HERE. Also a glitch, I walk on the water and my boat appears underneath me. Need to dodge the whirlpool. It isn't aggressive, but it can get in the way. Which frame you move can affect which way it goes.
  • 16:53 Really nice RNG here. Don't even see the man-o-war on the way in.
  • 17:35 My movement here is chosen to keep the whirlpool in a blocking position, so the man-o-war can't charge me.
  • 17:47 Back in Sosaria. With 30 int I got the spell trans. This teleports the party somewhere on the world map. It is on a 256 frame cycle. 26 of the cycles end up in the upper NW corner, which is a nice entry point to the moongate system.
  • 17:53 Moongates allow transport to places that are difficult or impossible to reach otherwise.
  • 17:56 I need to pick up the connecting flight.
  • 18:00 Cave of Moon, home of the most secret secret. I hang out here a bit because I'm waiting for an ascend cycle, I was hoping to RNG a certain mob placement in this time frame, but it didn't pan out.
  • 18:05 The cave has a ladder that runs from top to bottom, but its in the opposite corner of the floor. I descend then ascend to get to it. It is a single tile on lower levels, so I can't descend directly to it.
  • 18:16 The time lord doesn't just give information, he freezes the mobs in Exodus Castle for you. No bow tie. :(
  • 18:28 I'm ducking in and out of the cave because otherwise there isn't enough time before the next moongate to pimp my ride.
  • 18:40 Normally I'd need to pray for a horn, dungeon dive for a mark of snake and pilot a ship to this island. It was nice that someone left one parked in the moat.
  • 19:00 I RNG to get the first dragon to start on the left. It is the only one that moves/attacks. I briefly open the status menu to bring the party together. Otherwise the dragon will attack the last member.
  • 19:27 Someone said they could dodge all these mobs, but I find that highly unlikely without the time lord's help.
  • 19:29 Lining up the RNG to 8 shot the floor.
  • 19:53 RNG, and regening mana.
  • 20:50 It seems like it should be over at this point and all the effects are just for show. But I actually got trapped inside on my first two runs out. Where the volcanoes pop up is affected by when you move and which direction. But it is hard to tell which of those moves caused the particular volcanoes that are blocking the path.
  • 21:23 End of input

Other comments

kamikaze9699 has some non-TAS speedruns on youtube. He takes 2.5 hours starting with a new party, and an hour starting from a glitched maxed stat party. (The glitch is effectively a new game+, as it starts a game with a previously used party)

My run completes in under 22 minutes from a fresh party. FCEUX always saving party data made this tricky starting out. I was always having to delete that data. (is there an option for that?) I ended up making a blank save and setting it read-only.

The RNG manipulation could be improved if I understood it better, but I'm not at a point I can follow what is going on in the assembly.

turska: Judging.
turska: Good audience response, solid run. Accepting for publication.
natt: processing

Similar submissions (by title and categories where applicable):