Submission #4434: Vykan12's DS Fire Emblem: Shadow Dragon in 12:05.84

Nintendo DS
baseline
DeSmuME 0.9.9
43424
59.82609828808082
6657
Unknown
Submitted by Vykan12 on 9/11/2014 6:19:40 AM
Submission Comments
This run completes Fire Emblem: Shadow Dragon in 12:05.84 on normal mode, roughly 1 minute and 45 seconds faster than Molotov’s segmented RTA run. Due to the ability to skip enemy phases and acquire an infinite-range warp staff very early on in the game, it’s possible to beat Shadow Dragon dramatically faster than any other Fire Emblem game in the series. For perspective, this run is 17% as long as my Sacred Stones TAS and 7% as long as the current Radiant Dawn RTA WR of 2:47:26.

Game Objectives

  • Emulator: Desmume 0.9.9 64-bit
  • Aims for lowest frame count (as opposed to lowest turn count)
  • Sacrifices playable characters to save time

Differences From Other Fire Emblem Games

Since Shadow Dragon is a remake of FE1/3, the gameplay mechanics unfortunately got dumbed down in a variety of ways. To name a few:
  • No rescuing
  • No shoves/smites
  • No skills
  • No supports
  • No dancer
  • Dodging enemy attacks is very unreliable (based on how hit & avoid are calculated)
The lack of rescuing is especially painful because it means the most efficient way to beat a map before the existence of the warp staff is ALWAYS to move Marth as far towards the throne as possible, with every other character basically being inconsequential. As long as Marth has strong enough stats to clear the enemies he faces, he can solo maps with ease.
The warp staff is also quite different from the other games in the series in that it shows up remarkably early (chapter 3 of a 27 chapter-long game) and has infinite range. In contrast, the warp staves in FE6-8 have range bound by the warper’s mag stat divided by 2, and the warp staff doesn’t even exist in FE9-10. In fact, the only game that has a warp staff remotely as broken as Shadow Dragon is Thracia 776 (FE5).
Putting these factors together, the strategy for the TAS boils down as follows:
  • Prologue to Chapter 3: Marth solo with some minor assistance from Jagen
  • Chapter 4 base: Forge Marth an overpowered rapier forge that will one-hit KO just about every boss in the game (since most bosses are armors/generals, in which case the rapier does 3x as much damage as its weapon might)
  • Chapter 4 onwards: Lena or Boah warps Marth next to the boss, wait a turn, Marth kills the boss on enemy phase, seizes next player phase
  • If in a chapter where a thief drops a warp staff, have a cavalier injure the thief and Jagen (with a full inventory) finish off the thief, sending the acquired warp staff directly to the convoy. Lena or Boah will then retrieve the warp staff from the convoy (by moving adjacent to Marth).
Granted, that sounds quite simplistic and you might wonder why I would even bother to TAS a game I’m being so critical of. The thing is, what Shadow Dragon lacks in terms of strategic depth it makes up for in raw gameplay speed. With the ability to skip enemy phases, what remains gameplay-wise is unbelievably fast and relentless cursor movement, with the only breaks in action being level-up screens and cutscene skips between chapters. The menus themselves are faster and more fluid than in previous games. Enemies can be targeted by placing the cursor directly on them, and weapons can be switched dynamically when targeting an enemy. And of course every little animation is now skippable, whether it be the actual enemy attack, the exp bar afterwards, the animation for using a stat booster, the message that pops up for acquiring an item, all of it can be skipped to some degree, leading to an utterly frantic gameplay pace throughout.

General Techniques

Attack Strategy
Since enemy phase is skipped, it’s often faster to place Marth beside a boss and wait a turn than to engage the boss on player phase. This avoids boss dialogue, potential level-up screens and item drops (unless Marth’s inventory is full).
Item Drops
A lot of the hard-to-follow menuing that occurs the turn before Marth seizes is him dropping unnecessary items in his inventory. This is to avoid being interrupted on enemy phase with a prompt to drop an item due to Marth’s full inventory.

RNG

The RNG is found at addresses 02196E08 to 02196E0B (credit to Nitrodon). Unlike previous games, cursor movement does NOT affect the RNG, although dialogue between characters does. Also, setting the DS’ internal game clock affects the beginning RNG seed. Unfortunately that’s about all I know about the game’s RNG, and it is the main source of known improvements for this run.
To manipulate the RNG, I choose a DS clock time of “January 1, 2009, 12:00:10 AM” since I found this would give Marth 3 points of defence on 4 level-ups in my RTA runs. I’m sure there’s a better starting RNG seed that could be chosen, but without knowing the formula for generating RNs, I would have to brute force through countless initial clock times for what would amount to probably weeks, if not months of tedious testing to save a few seconds.
Beyond that, I am forced to occasionally visit villages and let some percentage of dialogue play out to manipulate certain outcomes, usually landing a crit or forcing Marth to gain defence on his next level-up. The most egregious example of this is having to play out roughly 7 seconds of dialogue in Endgame in order to get Marth a 7% critical on Medeus (the final boss).
Keep in mind that even if you could interpret the game’s RNG with the same precision and power as the lua scripts used for FE6-8, you’re still limited to clumsily waiting through dialogue in villages to burn an RN every few frames, meaning very little RNG manipulation is possible no matter how well you understood it. In particular, I don’t see any way that a DS clock time could be deterministically chosen to ensure an unmanipulated crit on Medeus.
I do have to admit that I goofed up a bit and left the Message Speed on Norm instead of Fast. The fastest setting (Max) essentially presents chunks of dialogue at once, which burns less RNs than letting one character appear on the screen at a time. However, Fast still writes the text on screen character-by-character while doing so faster than Norm. I only realized this at Endgame and tried to edit the movie file to implement this change, but immediately ran into problems when the RNG in Prologue-III changed unexpectedly. This mistake probably cost about 5 seconds over the course of the run, which I didn't deem significant enough to restart the run from scratch.

Sacrificing Characters

Apparently Marth is some kind of huge asshole that likes to callously sacrifice half his army in the glorious pursuit of saving frames.
In all seriousness, Shadow Dragon has this oddity whereby even the death quote of a fallen ally is skipped if you skip enemy phase, meaning you lose absolutely no time by letting non-essential characters die. So unlike other games, it’s generally better to leave vulnerable characters in danger than to move them into safety.
This does present its own complication, however. Namely, you want to optimize who does and doesn’t die because it affects the unit slot order in your army, and therefore the starting position of your characters on each map. If you see me doing odd things such as having Abel attack a mage in chapter 15, that’s the reason why.

Clone Glitch

In Chapter 20 you’ll see what appears to be Lena warping an empty slot 1 space up, only to have Marth appear on that very space. Basically when you warp a character and skip the warp animation quickly enough, an invisible clone of the character you just warped remains on that square. Now if you attempt to warp that invisible clone, the original character will be sent to the location that the clone is being warped to.
Essentially, I am warping Marth to a hammerne village, then warping Marth back to the starting area so I can re-warp him to the throne on the next turn.

Chapter-by-Chapter Comments

Note: Some chapters are so straightforward that I’ll forego commenting about them.
Prologue-I
In options, I set Animations Off, Game Speed Fast, Skip Enemy Act. All and Help Captions Off, then have Marth equip the iron sword.
Prologue-II
Frey trades with Marth, gives him an iron sword & vulnerary, then unequips his iron lance. The unequip is important for sacrificing Frey in Chapter 1.
Prologue-III
On turn 4 I move Marth below a house when I could’ve potentially moved him 2 spaces further. This is based on an RTA strat that assumed Marth had lower def and therefore had to space out how many enemies would be exposed to him per turn. Fixing this would save a turn, although it would ruin the outcome achieved by the RNG seed I chose.
Prologue-IV
I have to bring Jagen along to kill Gordon, as this triggers a cutscene that opens the gate to the north. He also serves to dispatch of an archer with irregularly high def that’s blocking Marth’s path.
Chapter 1
Marth visits the village, as this gives him the necessary funds to make the overpowered rapier forge in Chapter 4. On turn 4, I move Jagen in position to intercept pirates that would otherwise attack Cain and potentially kill him. I’m forced to attack the boss again on player phase since I couldn’t manipulate a crit with a village fast enough for it to be worthwhile.
Chapter 2
Jagen moves north to prevent a group of enemies from attacking my group, and Ogma gives Marth his steel sword.
Chapter 3
Draug moves up to protect Lena from the horde of enemies to the north.
Chapter 4
As mentioned earlier, I forge Marth a +8 Mt rapier forge. This gives the rapier a total might of 13, meaning Marth does 39 + (his str stat) – (boss def) damage to bosses that are armors/generals or cavaliers/paladins, which is basically always a one-hit KO.
An extra turn is taken to kill the boss since Marth initially has the steel sword equipped. This is done entirely to preserve rapier usage, and similar strategies are used throughout the run.
Chapter 5
The warp staff isn’t used here because I have to conserve warp usage until the next warp staff appears in Chapter 12, and this happens to be the shortest chapter that can be beaten without it. The reason Marth moves to the left of the boss is to save a rapier use, as it puts him out of the range of another armor.
Chapter 7
Both village visits were used to manipulate defence level-ups for Marth.
Chapter 11
You can’t really see it, but Marth uses a speedwing that he acquired from the Chapter 10 boss before he gets warped.
Chapter 12
Turn 1: Marth equips the silver sword & uses an energy drop, Ogma gives Jagen a vulnerary (to fill his inventory), Hardin gives Marth a steel sword, Abel & Jagen team up to kill the warp staff thief, and Boah is moved to safety.
Turn 2: Hardin attacks a thief in front of him purely to manipulate Marth’s survival on enemy phase.
Chapter 13
Boah trades with Lena for the warp staff, rest is straightforward. Note that Astram drops a wyrmslayer on enemy phase even though you can’t see it.
Chapter 14
I take Lena out of the lineup to keep her safe from a ballista attack on turn 1. Again, this is based on following my RTA strat where Lena dying would actually be a problem, although the unit slot order simply works out better by doing this anyway.
Chapter 15
Abel attacks a mage in order to ensure he dies on enemy phase. Again, it’s a unit sacrifice based on maintaining an ideal unit slot order. Marth is forced to attack the boss on player phase since he carries a swarm tome (3-10 range).
Chapter 16
I can’t actually warp Marth directly beside the boss because that causes him to die. Instead, I warp him onto the closest terrain (gives a slight def & avo boost), and pursue the boss next turn. I would have to do this anyway to preserve the rapier, so the only loss in time is having to move Marth 4 squares.
Chapter 17
Marth uses a dracoshield on turn 1, and Jagen & Wolf move into position to take out a warp thief on turn 3.
Chapter 18
Marth uses a speedwing and Tomas visits a village to manipulate defence on Marth’s level-ups.
Chapter 19
Marth equips the wyrmslayer before being warped. I suppose I should’ve had him equip the wyrmslayer before seizing at the end of Chapter 18, oh well.
Chapter 20
Turn 1: Boah warps Marth to the hammerne village, Vyland moves up to make room for a turn 2 action, Jagen trades with Boah for his warp staff, and Lena trades with Jagen for the warp & warps Marth clone 1 space up.
Turn 2: Lena retrieves the hammerne from the convoy & repairs Marth’s rapier, Hardin trades with Lena for the warp, and Boah trades with Hardin for the warp & sends Marth next to Lorenz, who is then recruited.
Chapter 22
Wolf moves down a space to make room for Lena on turn 2. This allows Lena to repair Boah’s warp staff.
Chapter 24
Lena actually has to visit a village to ensure Marth lands all his wyrmslayer hits.
Endgame
I had to go through about 60 RNs before I could get the 7% crit on Medeus, which is why I have to go through so much dialogue in the cutscene (~7 seconds). This goes to show how the extreme limitations of RNG manipulation compared to FE6-8, where 60 RNs could be burned in about 10 frames through optimized cursor movement.

Closing Thoughts

I recommend re-watching the following portions of the run:
  • 24542-24930 (Chapter 12 turn 1)
  • 34195-34702 (Chapter 20 turn 1)
These sequences contain a series of trades executed in quick succession that look and even sound ridiculously cool.
Well, hope you enjoy my 1st submission in 3 years ;)

Noxxa: Judging.
Noxxa: The run is a reasonable watch, but gets repetitive fairly quickly. The votes also seem to reflect this. Accepting for the Vault.
Note that a run on Hard 1 difficulty would be able to obsolete this run, as per the Guidelines, even if it would end up slower than this run. (Hard 1 is selected for being available from the start without prior SRAM being needed).
Spikestuff: Switching with feos. Publishing...
Last Edited by adelikat on 10/12/2023 12:49 AM
Page History Latest diff List referrers