Wizards & Warriors 3 is the next game in the series following Kuros in his quest to defeat Malkil after the events in Ironsword. The current run is a minor improvement over the published run using a well known trick.

Game objectives

  • Emulator used: FCEUX 2.2.2
  • Beats the game as fast as possible.

Comments

Another slight modification to Ferret Warlord's original run. Despite trying a vast variety of different ideas, I was only able to implement a known improvement and fix a slight oversight to save a total of just over 30 frames.
However I was able to work out why the last boss dies, clearing up a bit of the mystery in Dacicus' original submission of this glitch.

Stage by stage comments

The known improvement is building momentum before entering the third wizard's guild after being kicked out as the thief. Dacicus mentioned this in the thread.
As for why Malkil dies in the end. Here is the offending code:
 $B2A8:BD 3C 03  LDA $033C,X @ $033D = #$4F                   A:04 X:01 Y:91 S:FD 
 $B2AB:C9 50     CMP #$50                                     A:4F X:01 Y:91 S:FD 
 $B2AD:B0 AD     BCS $B25C                                    A:4F X:01 Y:91 S:FD 
 $B2AF:AD 0C 04  LDA $040C = #$00                             A:4F X:01 Y:91 S:FD 
 $B2B2:D0 A8     BNE $B25C                                    A:00 X:01 Y:91 S:FD 
 $B2B4:A9 01     LDA #$01                                     A:00 X:01 Y:91 S:FD 
 $B2B6:8D 0C 04  STA $040C = #$00                             A:01 X:01 Y:91 S:FD 
 $B2B9:A9 C0     LDA #$C0                                     A:01 X:01 Y:91 S:FD 
 $B2BB:99 A4 03  STA $03A4,Y @ $0435 = #$02                   A:C0 X:01 Y:91 S:FD
Register Y was given Kuros' X subpixel position at a previous point. This block of code only occurs when the room designator (stored in $00B6) is 5 (the last bosses room.) The game performed this check just before this code is called. $033D contains the Y coordinate of Kuros' fireball. The check it performs comparing it to #$50 only fails when you launch a fireball behind you (by holding B and pressing the direction opposite to which you are standing.) Why is a fireball programmed to travel higher this way? I do not know. Anyway this skips the jump to $B25C, the normal exit point. Instead, we get a strange piece of code that tells #$C0 to be stored in $03A4,Y = $0435. $0435 happens to be Malkil's attack pattern, which ranges from 0-5. The game checks what pattern he is currently in, but ends the fight when it finds no match (being $#C0)
As mentioned, this code is specific to this boss fight. I do not know what the original intention was. Other boss fights do not have similar checks.

Other comments

There are several jumps in this run that are not performed optimally. If Kuros jumps and lands in just the right way, he does so without crouching and therefore recovers his max speed slightly quicker. However despite my best efforts, I was never actually able to save frames due to these small improvements, due to subpixels and boss patterns being thrown off. The best example of this is the beehive trick. I had thought I saved a frame with an improved jump only to lose it once I reached the area where the beehive is ordinarily glitched away only to jump right into it. So perhaps there is a slim chance ~5 more frames could be saved in this run, if somehow these jumps could actually save time.

Tompa: Judgy!
Tompa: It's really impressive how optimal the almost 10 years old run is! But frames were saved, and it's all good. Accepting as an improvement to the published run.
fsvgm777: Processing.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15629
Location: 127.0.0.1
Skilled player (1417)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
I take it you had no luck skipping the monster in the pit? Sheesh, this run is 10 years old, and my only tools were frame advancing and an input display. I'm honestly surprised our run has held up so well this whole time.
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3828)
Joined: 11/30/2014
Posts: 2834
Location: US
Ferret Warlord wrote:
I take it you had no luck skipping the monster in the pit? Sheesh, this run is 10 years old, and my only tools were frame advancing and an input display. I'm honestly surprised our run has held up so well this whole time.
none. I tried many locations and many angles. I was only able to get a clip in the stair type sections of the dungeon, but not very far into the wall. Well, you are very good at frame advance : )
Player (108)
Joined: 8/4/2013
Posts: 84
Location: Japan
FDSとなってますがNESの間違いでしょうか?
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2227
Location: Georgia, USA
AmaizumiUni: I don't understand your whole question, but I'm guessing you wonder why this is being treated as an FDS submission. You're right; it should be NES. For some reason, Alyosha's last few NES movies have all been treated as FDS by TASVideos automatic parsing if I recall correctly. Anyway, about the run itself, I am sort of underwhelmed that the improvement is so small. It's a great testament to how well the old runs were run though. In the submission text, you ask why a backwards fireball should go higher. I bet that was meant to make the worm fights a little easier. Generally, a really cautious player stays put in a defensive position and launches fireballs occasionally, so a backwards shot is a good thing to use when the worm passes overhead. (For the final Malkil battle, the game is of course expecting you to use the Shooting Sword of the third-level Knight.)
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
This movie has FDS flag on.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Noxxa
They/Them
Moderator, Expert player (4128)
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
I'm guessing it's something that has to do with converting .fcm files to .fm2. Alyosha seems to build his runs on top of older submissions.
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Happened to xipo too, and most likely due to that, but I'll check later. EDIT: fixed in SVN.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Joined: 2/25/2006
Posts: 407
mklip2001 wrote:
(For the final Malkil battle, the game is of course expecting you to use the Shooting Sword of the third-level Knight.)
Lol! I usually just hax through his attacks when I play this game. I stand against the left edge of the screen and shoot the sword bullets at him from that position, about 50% of his attacks will miss you in this position and for those attacks that would hit you, you can change character at the last moment for a burst of invulnerability frames (The projectiles will pass through you harmlessly while you're poofing in to the other character costume) and then change back to the Knight costume to resume attacking. Edit: Also, for those (destructible) barriers that are meant to prevent you from reaching certain areas? If you die you respawn where you died with an extra long invulnerability period, this lets you access the entire underground area as soon as you gain the Thief transformation and you can also access upper Piedup straight away as the regular knight guy (You can then sword slash the glowy beehive to make it a permanent route you can take whenever you want). I don't think these death tricks are useful for a TAS as it takes forever to kill yourself at the start of the game, their mostly interesting to those that want to play through the game and complete stuff in a diferent order (Entering the main underground area early will trap you though without a level 2 Thief costume).
Ryzen 3700X, ASUS Crosshair VIII Hero (WiFi) Motherboard, 32GB 3600MHz RAM, MSI Geforce 1070Ti 8GB, Windows 10 Pro x64 http://tasvideos.org/Nach/FranpaAlert.html
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15629
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. ---- [2867] NES Wizards & Warriors III: Kuros: Visions of Power by Ferret_Warlord, Dacicus & Alyosha in 17:25.61
Joined: 6/27/2017
Posts: 2
Has anyone made any progress? I looked at some of your previous discussions and you were talking about skipping the knights guild. Am I missing something or is it useless to clip past the flashing head with levitation as you would have already needed to get past it to get the 3rd level wizard. I found out that you can actually clip through the wall next to lvl1 wizards guild and skip the need to kill the flashing head, but it's pretty tricky and RNG heavy. The upside is that it can be done at least with regular Kuros and the lvl1 thief. I also found a slight improvement to the Malkil glitch. Detailed explanations below: Undergrounds wall clip The clip is done by getting yourself stuck between the wall and one of those flying green head monsters. I think the monsters are not supposed to spawn on this area before passing the flashing head, but if you hug the wall next to the wizards guild they will spawn. I'm still not sure what exactly has to happen that the clip succeeds but jumping seems to raise the odds. Also it looks like the monster needs to attack you from a slight angle below you so you get pushed slightly upwards. Malkil glitch I found a tiny improvement to the Malkil glitch. I played around with a debugger, but this was a long time ago so I can't remember the exact technical details. Basicly the game keeps track of your projectiles x and y coordinates. There are four (or whatever is the max projectile count) entries. The first entry is the important one, which is the first projectile you fire when there are no projectiles on screen. When the projectile gets destroyed, the game remembers the last x and y values for the projectile, and to activate the Malkil glitch I believe the first projectile's y value needs to be in a certain range (this part is probably related to the CMP #$50/BCS $B25C instructions in the description). What this means is that you can actually fire the upwards shot after the dragon fight, which avoids the need to switch to lvl1 wizard in the Malkil fight. Firing the projectile somewhere else might not work as the y value might not land on the needed range, but firing the projectile somewhere else than after the dragon fight would negate the time improvement anyway, so it doesn't matter.
Editor, Player (69)
Joined: 6/22/2005
Posts: 1050
QoNe wrote:
Undergrounds wall clip The clip is done by getting yourself stuck between the wall and one of those flying green head monsters. I think the monsters are not supposed to spawn on this area before passing the flashing head, but if you hug the wall next to the wizards guild they will spawn. I'm still not sure what exactly has to happen that the clip succeeds but jumping seems to raise the odds. Also it looks like the monster needs to attack you from a slight angle below you so you get pushed slightly upwards.
Welcome to the board and nice find! Here's a quick movie that demonstrates the glitch and can be used for further analysis.
QoNe wrote:
Malkil glitch ... What this means is that you can actually fire the upwards shot after the dragon fight
I think the best time to do this is while waiting on the ledge for the fourth crown jewel to drop onto you after the dragon dies. This will bring $33D to a value of 0x0F and can be used to trigger the glitch.
Current Projects: TAS: Wizards & Warriors III.
Joined: 6/27/2017
Posts: 2
Thanks! The Malkil glitch just got a bit weirder. It seems like the bad code uses only the first projectiles y coordinate, if you just fired a projectile. But it also uses the second projectiles y coordinate and this seems to always work no matter what is on the screen. This means that you need to get the $33E value to the correct range (0x00-0x4F). So you need to fire two projectiles after the dragon fight. I was just lucky during my tests that my $33E was in the range. Also it's quite easy to crash the game if you do something wrong (e.g. levitate at the wrong spot). The best possible outcome would probably be if you could finish the dragon fight so that the last projectiles fired would be on the correct height. But I'm not sure how much the fight can be manipulated. It might also be best to just fire the projectiles on the ground.
Skilled player (1417)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
Oh sweet! Skipping that monster in the underground had always been a thorn in my side these past dozen years, good to know someone found a way. I tried many many many different positions to clip into the sloped floor right beneath it but the geometry just wouldn't allow it. Is there a way to employ the Malkil glitch on the dragon itself? I remember Dacicus mentioning he was able to get a few effects, but nothing useful.
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.