• Recorded with FCEU
  • Uses death as shortcut
  • Luck manipulation
  • Fastest time to reach the ending
About a week later, here comes another run, with an even bigger improvement!
Here's what changed:
  • Picked "!" as a name instead of nothing
  • Got to Level 8 instead of 7
  • Beat one more Goldman
  • Bought 5 keys instead of 3, got the Wings at Rimuldar
  • Bought 2 herbs at Garinham (but didn't get the chest in the dungeon)
That added about 1 minute, but allowed to do this:
  • Got to the Dragonlord's castle with 6 herbs (max), more HP and MP
  • Beat the Dragonlord's human form in 8 hits instead of 12
  • Beat the dragon form with mostly Hurt, saving a lot of time and making the fight much less boring and repetitive
  • Used the wings to return to the castle instantly
So it ended up 4:32 shorter.
The character's stats aren't random, but determined only by the name. Using "!" gave me the best overall stats (mostly higher strength and agility), saving a few turns in some fights ... having a short name to scroll through only took away a small fraction of that saved time.
Using Hurt against the Dragonlord only has a 1/16 chance to work, 1/8 chance to do max damage (12), and all monsters have a 1/3 chance to wake up (which must be avoided). That made the odds quite low and resulted in some 3 second waits and non constant damage (10-12), but that was the best I could get. I actually went as far as figuring out the game's randomization and how it determined things so that I could make a program that simulates it and shows the results for each frame, allowing me to plan the whole fight in advance and saving a lot of re-records and trouble.

Bisqwit: processing...


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15585
Location: 127.0.0.1
This topic is for the purpose of discussing #453: Acmlm's NES Dragon Warrior in 19:31.13
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Acmlm got a Guru Level Up!
Ambassador, Experienced player (709)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
May the light shine on thee, Acmlm! This feat is simply godly, you really have this game down. By the way, does anyone else agree that the ending is much better without rescuing the princess? "Take me with you" >>no [there's plenty of princesses waiting for me out there] "But you must" "Take me with you" >>no [you'll weaken my bloodline for the sequel] "But you must" "Take me with you" ... What an annoying bitch!
Editor, Reviewer, Experienced player (979)
Joined: 4/17/2004
Posts: 3109
Location: Sweden
>I actually went as far as figuring out the game's randomization and how it determined things so that I could make a program that simulates it and shows the results for each frame, allowing me to plan the whole fight in advance and saving a lot of re-records and trouble. You did WHAT? Is it possible to do something like this for the name too, to get all the best stats?
Joined: 4/11/2004
Posts: 155
Location: Fairfax, VA, USA
Acmlm wrote:
I actually went as far as figuring out the game's randomization and how it determined things so that I could make a program that simulates it and shows the results for each frame
Would you mind telling the details of how you did this? It sounds really interesting.
Former player
Joined: 8/12/2004
Posts: 651
Location: Alberta, Canada
Truncated wrote:
Is it possible to do something like this for the name too, to get all the best stats?
He already has the best name possible, there is a chart on GameFAQs which will explain it to you, although it's slightly wrong.... Also i'm glad getting those extra keys worked out for you Acmlm, this really is very good. Although the real question is: Are you REALLY done this time?
Active player (493)
Joined: 11/14/2004
Posts: 169
Location: Mirabel, Québec, Canada
I used FCEU's memory viewer and FCEUd's debugger, found the code that generated random values (simple subroutine doing calculations on 2 bytes, one is kept as the random value), checked how those values were used and what they needed to be. Then I made a small program that took the 2 bytes used in the calculation (I got them from the memory viewer as soon as Hurt was selected) and generated random numbers the same way, repeating until it gets the values I'm looking for ... then it showed the results like this: Frame 44: 5 damage Frame 67: 8 damage Frame 118: 9 damage Frame 123: 9 damage, wake up Frame 142: 10 damage So I had all the exact timings and their effects without having to test them all manually, which helped a lot and even showed the fastest way to beat the Dragonlord. I only did this for the Dragonlord fight where I really needed it (wasted about 1000 re-records last night without it), but this could be useful in many other situations that involve heavy luck manipulation ... As for the starting name, I tried quite a few (using a cheat to jump to Level 8) and "!" turned out to be the best, but some like "I" (and many with more letters) are also the same, there's only 16 different possibilities. (edited, just saw the above post) There's a few minor details, mostly involving luck manipulation, where I could possibly have saved a few more seconds: - Going first against more Metal Slimes and needing only one herb instead of 2 to get Erdrick's Token - Beating the first Goldman in 2 hits, no need to heal after - Dying faster after getting the harp But I actually tried and that was nearly impossible to get for what it's worth. Going up to Level 9 could be worth a try too, as I wouldn't need to use any normal attacks against the Dragonlord (used 18 in this new one), but I don't think it'd help enough to be really worth it, only close. So yeah, I'm probably done this time.
Joined: 11/26/2004
Posts: 7
This movie is definatly a winner. When I first saw that movie that beat DW in 27 minutes... then saw the movie... I went, yeah, I remembered you could mess up the random algorithim in Enix games. But I never knew the Dragonlord could be sent to sleep though... that's incredible. Now I see this movie done in 19 1/2 minutes with an incredible knowledge of the program's algorithims... (already mentioned) this is just amazing. Well done!
Joined: 11/11/2004
Posts: 400
Location: ::1
*Very* cool, Acmlm! ^^
Skilled player (1652)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
All hail !, ! is the greatest dragon warrior of all time. That video was great, brings back memories without having to play a game for 18 hours straight. As a side note, I remember having the biggest problem trying to save the princess. I finally managed to save that hoe, right before I went to dragonlord's castle. My friends mocked me constantly.... This has my vote of YES!!! I forgot to mention, mixing up the hurt spells and the attacking made dragonlord much much much more bearable.
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3573)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
this is jaw-dropping the techniques give life to the possibility of DW2 and DW4 speed runs.
It's hard to look this good. My TAS projects
Joined: 5/3/2004
Posts: 1203
Very impressive. This is a stunning accomplishment.
Former player
Joined: 3/13/2004
Posts: 1118
Location: Kansai, JAPAN
If entering a name affects your stats, shouldn't the name be left blank? Ohterwise, isn't that like entering a code? I'm reminded of other games where entering a certain name earned extra lives, bonus weapons, etc.
Do Not Talk About Feitclub http://www.feitclub.com
Ambassador, Experienced player (709)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
isn't that like entering a code?
In this case I would say it's more like luck manipulation, but whatever. You could say it doesn't look like anything special, like ICARUS FIGHTS MEDUSA ANGELS, etc.
Joined: 5/3/2004
Posts: 1203
Except it's not hard coded. The name is just used as a seed for a pseudo random process that determines your stats.
Joined: 11/15/2004
Posts: 804
Location: Canada
Excellent improvement! Obviously the Dragonlord is the biggest hurdle in a DW1 speedrun, but how sure are you that levelling up a bit more would take more time than it would save? In addition to being able to cast Hurt more often, less healing would be necessary. I'm extremely impressed with the lengths you've gone to in order to understand this game, so please consider this an honest question rather than a criticism. This movie is really looking great! As for the suggestion that DW2 and 4 runs might be possible... I remember spending every waking hour playing DW4 for days when I got that game for Christmas. You could get to Chapter 5 in a reasonable amount of time, but that last chapter would take a long time. Also, since there are so many more characters, types of items and equipment, deciding an optimum strategy would be a monumental task. Anyone who tries a speedrun on those games would have my deepest respect and sympathy. As for the name, I don't agree with it being a code. You have to pick something as a name, and even using a blank name is going to have an effect. Having to use blank seems rather arbitrary. Since any name is going to have an effect, you should be able to choose the best one. It's not like unlocking a cheat, like removing Samus' armor or having full weapons. I vote yes without hesitation.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15585
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [253] NES Dragon Warrior by Acmlm in 19:31.13
Joined: 4/6/2004
Posts: 74
Location: California
Haven't seen it yet, but I already know it's awesome stuff. =) Had to comment about the randomness, though. From what you described about the randomness code, I thought it might be enough like DW2, since I have been recently looking at the same code in that game. On a hunch, I checked for a certain instruction (EOR #$21) and found it in DW1 immediately (subroutine start at $FC2A). =) The memory locations are different, but the technique (it's a custom CRC-16 function, btw) is exactly the same (but with different input values, etc.). You can even get Hex Workshop to generate the value using a custom CRC checksum. =) Anyway, knowing this may help with DW2, if you ever decide to take it on. Of course, with a more complicated battle system and multiple party members/enemies, it's likely to be much more tricky to get all (or most) of the desired results in a battle round. If your tool could be adapted to DW2 somehow (or possibly other DW games), it would be a huge advantage.
Joined: 12/5/2004
Posts: 60
I do have one question about this movie (Hope Acmlm reads this. :P). In the Dragonlord fight, you cast Hurt, then will sometimes attack several times in a row before casting Hurt again. Was this merely a stylistic choice--so we don't have to watch 1HP attack after 1HP attack after 1HP attack at the end of the fight when you run out of MP--or was there a more practical reason for this--IE there were no frames in that span (As if I'm reading correctly, the randomization is based on what frame you decide to input your command on) that would yield (Hurt works AND does decent damage AND Dragonlord stays asleep)? And yeah, it's a pretty cool video. Using Hurt on the Dragonlord helps A LOT. Oh, that was what I wanted to ask too: You manipulate luck to always Critical Hit the Metal Slimes; can you do this on the Dragonlord as well (I know it's possible to Critical Hit him), to perhaps speed the battle up further?
Emptyeye.com- Come for the music, stay for the blog.
Joined: 8/3/2004
Posts: 380
Location: Finland
Emptyeye wrote:
Oh, that was what I wanted to ask too: You manipulate luck to always Critical Hit the Metal Slimes; can you do this on the Dragonlord as well (I know it's possible to Critical Hit him), to perhaps speed the battle up further?
My uneducated guess is that the Dragonlord has some kind of damage reduction and you cannot do more damage than 1 (even with a critical) to him at such a low level. Feel free to correct me, I have never played this game.
"Kids! Bringing about Armageddon can be dangerous. Do not attempt it in your home." ( Pratchett & Gaiman: Good Omens )
Joined: 12/5/2004
Posts: 60
Tombad wrote:
My uneducated guess is that the Dragonlord has some kind of damage reduction and you cannot do more damage than 1 (even with a critical) to him at such a low level. Feel free to correct me, I have never played this game.
No, this is actualy possible; these are things you tend not to think about when playing through the game the more traditional way. As I said, it's possible to Critical Hit him, though I seem to remember the damage not being as spectacular as it should have been (This was with levels in the low 20s), maybe twice a normal attack.
Emptyeye.com- Come for the music, stay for the blog.
Active player (493)
Joined: 11/14/2004
Posts: 169
Location: Mirabel, Québec, Canada
Out of several hundred hits on the Dragonlord, I haven't seen any critical ... so if it's really possible, it must be something like 1/256, I'd have to look at the code again to confirm it. I just used normal attacks to lower the longest waits (for Hurt) a bit, also because I had to fit them somewhere anyway ... they really don't do much to the randomization, because the routine is only called a few times (once per frame before selecting, and to determine the damage, not while the text is scrolling). And about the randomization, the one I found was at $C55B and did some shifting and additions on $94 and $95 (using $95 for random), it did look like a 16bit calculation but there was no EOR (ADC #$81 instead).
Joined: 12/5/2004
Posts: 60
The chances of a critical hit are certainly not very good--I think I've done it once in all my plays (Which makes it possible that I'm imagining it...if you look at the code and find it's impossible to critical hit him, I'll take your word for it, given that I know jack and (*U(* about NES ASM [Though it's something I'd love to learn, the one tutorial I found upon searching quickly assumed a knowledge of some other forms of ASM, which in turn assumed a knowledge of C++ or some other language presumably beyond what I know])--but I could swear it's possible. Whether it would be worth it (Particularly since you'd have to manipulate it such that you score a Critical AND the Dragonlord stays asleep) is another matter. And I figured there was a reason for the normal attacks intersperced (sic) between the Hurts, I just wasn't sure what it was. Thanks for clearing that up.
Emptyeye.com- Come for the music, stay for the blog.
Joined: 4/6/2004
Posts: 74
Location: California
Aha, thanks for clearing that up.. I saw that it was also working with 16 bits and I just assumed it was the same, since it was used to similar effect in DW2. I think the crc16 routine must only be used for battery-save checksumming in this game.
Joined: 1/1/2022
Posts: 1716
This video was absolutely jaw dropping. I had to find the ROM so I could check it to make sure what I was seeing was real. I remember spending hours upon hours for several days to beat this game. Running into and only killing metal slimes to level up, finding goldmen to get gold, dying excatly when needed, etc. Anyway, the point is, how come this video does not have a star? I bet many people are familiar with this game, and it clearly shows what a tool-assisted speed run can make possible.