1 2 3 4 5 6 7
adelikat
He/Him
Emulator Coder, Expert player, Site Developer, Site Owner (3594)
Joined: 11/3/2004
Posts: 4705
Location: Tennessee
TASer of 2010NES TASer of 2010DS TASer of 2010Arcade TAS of 2010NES TASer of 2008NES TAS of 2008Funny TAS of 2008TASer of 2007NES TASer of 2007Funny TAS of 2007
Well, I managed to get 2 green orbs using cheats, and I tried using them in the shrine and unfortunately the 2nd green orb didn't work. Perhaps you can manipulate it 1 lower to get another orb too?
It's hard to look this good. My TAS projects
Dwedit
He/Him
Experienced Forum User
Joined: 3/24/2006
Posts: 690
Location: Chicago
Yeah, this is VERY abusable, and would warrant both a bugs exploited run, and a pure run. On my test, I was lucky enough to get these effects with each step: Decrease Spells #3 Decrease item slot in second party inventory The "Decrease Spells" effect subtracts 2 from the spells known byte, teaching spells like healall, defeat, infermost, sacrifice, vivify, revive on a pilgrim.
Experienced Forum User, Player (230)
Joined: 7/30/2006
Posts: 207
Location: Alefgard, USA
Yikes... I leave this thread for a day and it's full of bizarro item-transforming glitches!! Hmm.... who knows, maybe this game could be like the Legend of Zelda -- The Adventures of Link. The site could host a glitched and non-glitched movie. On another note, I have dicked around and found that the lottery occasionally gives a fight that consists of two healers and two metal slimes. If a healer wins, you'll win approximately 49,000 gold on level 22. This can easily fully equip your party. I did this, and was able to defeat baramos. (No movie of this, it was played very sloppily). The fight basically consisted of me putting him to sleep, and then doing status spells. The fight is doable if both pilgrims have a zombie slasher, the hero has the thunder sword, and all three are bikilled. Also, a successful blazemore spell doesn't hurt either.
Dwedit
He/Him
Experienced Forum User
Joined: 3/24/2006
Posts: 690
Location: Chicago
I've disassembled the game to find out HOW the bug works, so I'll be editing this post shortly... How the bug works: It's stuck in a loop somewhere. It's incrementing a variable (let's call it Y), then checking if it is equal to the max value. Unfortunately, the max value is ZERO, and it's comparing after incrementing. So it's stuck chugging away in the loop way beyond the loop's max value. In normal circumstances, Y will never be greater than 3, but this is a crazy wacko out of bounds loop. RAM involved: address 93+ (Contained 55 49 49 49 when I looked, probably 4 bytes large) address 68+ (Party member numbers, 01 02 03 03 when I looked)
The bug algorithm:
Y=Y+1
If mem[93+Y]&1F == 1  //this is the swamp tile check, fortune telling room has swamp as tile #1
	X=mem[68+Y]  //normally, X is between 0 and 3, but in this case it's way off!
	Deal Swamp Damage to party member #X
Repeat until Y overflows 255 back to zero

Swamp Damage:
	hp=mem[71C+X*2]  //16 bit value
	hp=hp-2
	If hp went below zero, set it to zero
	mem[71C+X*2]=hp
What happens is that this gets called with some invalid X that came from nowhere, so it messes up your stats. The exact effects are only predictable if you look at the entire Zero Page memory contents. For example, I took a memory dump, and ran a program to calculate X*2 for each Y where it would deal swamp damage:
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
.. .. 0E F4 .. .. .. .. .. .. .. .. .. 92 .. .. 
.. .. .. AC .. 06 .. .. .. .. .. .. .. .. .. .. 
.. .. .. .. .. .. .. .. .. .. 00 .. .. .. .. .. 
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
.. .. .. .. .. .. 16 .. .. .. .. .. .. 30 .. .. 
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
.. .. .. .. .. .. .. .. .. .. .. .. 12 .. .. .. 
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
.. .. 00 .. .. .. 0C .. .. .. .. .. .. .. .. .. 
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
.. .. 00 .. .. 68 .. .. .. .. 4E .. .. .. 00 .. 
00 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 
Depending on the value of X*2, it will decrease one of these by 2:
Current HP	0
Current MP	8
Maximum HP	10
Maximum MP	18
Status		20
Experience	29
Name		40
Items		60
Wizard's Battle Magic	80
Wizard's Field Magic	83
Pilgrim's Battle Magic	84
Pilgrim's Field Magic	87
The 68 on the table is key, that modifies the second party member's first item. That value isn't always going to appear on the table, I was just really lucky to get it.
Experienced Forum User
Joined: 11/17/2005
Posts: 278
Location: Massachusetts, USA
Seeing as how you started your run without use of the Dream Ruby glitch you might as well finish it that way. I didn't know that Metal Babbles were easier to manipulate in dungeons. I guess that takes care of everything then. I'm glad you're using the monster arena in your run. That was one of my favorite parts of DW3.
Dwedit wrote:
I've disassembled the game to find out HOW the bug works, so I'll be editing this post shortly...
You had me at "a big memory corruption bug targeted at the area around your stats"
Dwedit
He/Him
Experienced Forum User
Joined: 3/24/2006
Posts: 690
Location: Chicago
I just sent a demonstration of turning a wing of the wyvern into a final key to youtube... Yeah, I ran the TAS until it reached assaram, then stopped it and played from there. I hex-edited the inventory to add the dream ruby and wing of the wyvern. Youtube says the video isn't up yet. http://www.youtube.com/watch?v=38bEtt6Bxv8
Experienced Forum User, Player (230)
Joined: 7/30/2006
Posts: 207
Location: Alefgard, USA
That's some pretty crazy stuff, Dwedit. Sorry if I missed something, but why did you take the extra two steps after your fortune was told? I assume that it was necessary because it takes so long to do. Is Assaram the earliest you can do this glitch? Could something weird be done with the party members at Louisa's place? I'll restate my opinion again -- in light of this quality glitch, I think there is room for two movies of this game. I'll do my best to finish the one I'm working on right now. ===More information for the pure run===
    Healing and Medical herbs do the same thing to the RNG. Wizard's Ring and healing are identical effects in dungeons except the Wizard's Ring will make you fight the next fight one step sooner. Seeds appear to do have the same effect as chanting heal 2 or 3 times. Outdoor fights can be manipulated using items and time. The Boss troll is considered an outdoor (non-dungeon) fight. Dungeon fights can be manipulated by items, but NOT time. However, your timing on entering the dungeon does have an effect. I use this when I enter the pyramid.
On a side note, I had an incredibly easy time with the Orochi. Sleep works extremely well on him, as well as snowblast. I can kill him without him even touching me. As I mentioned last night, Baramos is doable on level 22 - 23, but full equipment is required, which is why I needed the huge casino fight payoff. I'll try to post a screenshot of that tonight. As I said in my earlier post, I'm not posting a movie of that because I played the necrogond cave, the last 4 orbs, gambling, and baramos at about 400% speed just to see if it was possible. I now know that it is. I definitely think I'll be able to get this run under 3 hours. I know that I can do Baramos. Sleep is an awesome spell to manipulate, and I think is absolutely necessary to use. The first round of any boss fight should have the hero use this spell, since it is worthless for him to attack due to enemy health regen. In the future, Zoma may cause troubles due to his finger wave attack that nullifies all status spells. ------------------------------------------------------- Other thoughts..... After much thought and consideration, I really believe this is the optimal party choice. A soldier would be nice to have so I could use the demon axe or even the Orochi sword, but he can do almost nothing to manipulate enemies in fights. Pilgrims are cheaper until Samanao and can use a multitude of RNG manipulating spells in battle. Also, they are fairly strong with the Zombie Slasher. With DW3 being the only NES Dragon Warrior game without a video on this site, I'm strongly hoping for a publication of this when I get finished. However, even if it does get published, I may soon start working on another video. I don't know if I'll be able to improve it, but I still want to try. Things I may try.....
    Ledauphinbenoit's original suggestion of not getting a party until after the gold claw. Using herbs takes much more time than healing, but I think that may be countered if I don't have to revive 3 dead party members. Tactical changes such as one more or less level here or there. A different route after the ship. It would be worth it to try, but I can't think of a way at the moment to improve time by a route change alone.
I'll definitely keep working on this and keep updates coming periodically. Keep up the good work on the glitched version!
Experienced Forum User
Joined: 8/17/2004
Posts: 377
I don't think I've posted about Dave's run yet, but I've been following his posted movies with great interest. I was worried that we might never see a Dragon Warrior 3 run on this site, but now it looks like it'll happen, so I'm quite happy. I wish I could offer something in the way of advice, but it's been too long since I've played the game and everyone else who has been posting seems to know the game inside and out. But the run certainly has my support.
Dwedit
He/Him
Experienced Forum User
Joined: 3/24/2006
Posts: 690
Location: Chicago
First look at the item chart: http://www.datacrystal.org/wiki/Dragon_Warrior_III:RAM_map Each step decreases the item number by 2. You can only take an odd number of steps, minimum 5. For example, if you want a Final Key, you can get it from an Acorns of Life in 5 steps, or a Wing of the Wyvern in 7 steps. Guess which source item is easier to get. Or you can get black pepper with 11 steps from Medical Herb. You can get orbs in 5 steps from these weapons: 01 Club 02 Copper sword 03 Magic Knife 04 Iron Spear 05 Battle Axe 06 Broad Sword Problem basically is that each item transformation takes about 1:30 of real time.
adelikat
He/Him
Emulator Coder, Expert player, Site Developer, Site Owner (3594)
Joined: 11/3/2004
Posts: 4705
Location: Tennessee
TASer of 2010NES TASer of 2010DS TASer of 2010Arcade TAS of 2010NES TASer of 2008NES TAS of 2008Funny TAS of 2008TASer of 2007NES TASer of 2007Funny TAS of 2007
Honestly I don't think there will be 2 versions of this run published. Should a "no glitch" run be published, it will quite likely be obsoleted by a glitched run. The glitched run will mean less repetition, something novel (the manipulation of this glitch), less leveling, sequence breaking, and a much more manageable in the way of movie length. As for a glitched run, the best method would be to do this glitch 5 times and get the silver orb, yellow orb, purple orb, black pepper, and the final key. Ok course it needs to be confirmed that it is possible to get these items. This would allow skipping the registering of the merchant, the orochi fight, the boss troll fight, and a load of other items including both the final key & magic key. The route would be: get to assaram a.s.a.p mostly likely with just 1 extra player to reduce the usage of the dream ruby. Use the glitch to get these items. Immediately go to portoga and get the ship. Sail to the red, green, and blue orbs. Then go the shrine and get the phoenix at level 1 and without doing a single battle! Then head to some choice level up spots and prepare for the baramos battle. You also said something about the wizard spell list. If it were posslbe to get blazemost, chance, or bedragon in the spell list, this would greatly reduce the levels necessary for the baramos fight.
It's hard to look this good. My TAS projects
Experienced Forum User
Joined: 10/12/2004
Posts: 19
Location: Montreal beach, baby!
As for a glitched run, the best method would be to do this glitch 5 times and get the silver orb, yellow orb, purple orb, black pepper, and the final key.
And don't forget about glitching the Rainbow Drop as well to save a lot of time in Alefgard! :) And once there, you may want to consider the Silver Harp & Arena glitch in order to fully equip your party members properly for the Zoma fight.
Karma can be vengeful, don't screw around wit it!
Experienced Forum User
Joined: 8/29/2005
Posts: 148
Location: Dayton, OH
Hmmm. So many factors to be considered! Great job so far dave_dwfm. Your run is shaping up quite nicely so far. Some thoughts: adelikat suggested a list of 5 items to get using the glitch. Another was suggested afterward. At 1:30 each, that's between 7:30 and 9:00 of real time. That's quite a bit. Are there any other movies on this site that have 7-9 minutes of absolute exact repetitiveness? None that I know of. I love the glitch idea, but it will need to be used sparingly to avoid putting the unfamiliar audience to sleep. Using dave_dwfm's run, we should be able to gauge the amount of time things take. The cave west of Noaniels would take the place of the Pyramid. Go in, get the ruby, die, pick up party member #2, warp to Romaly. This is almost sad, because the Pyramid is the one "truly unique" dungeon in the whole game. Oh well.
Dwedit
He/Him
Experienced Forum User
Joined: 3/24/2006
Posts: 690
Location: Chicago
Note that the bug is also decreasing party member #2 and #4's max hp in that example. Also note that you will almost never see consistent behavior from the bug, it all varies depending on the current contents of zero page ram. Random trivia: game genie code EPOUIZEI fixes the bug :)
Experienced Forum User
Joined: 4/6/2004
Posts: 74
Location: California
I think Spoony_Bard's recent comment sums up my feelings on this exactly. Good work so far and I'm looking forward to the finished run. For what it's worth, I support a glitched and non-glitched run, but we'll see how it turns out. Also, nice work on figuring out the bug and a fix, dwedit. It's always interesting to see how such things are supposed to work and where they go wrong.
Experienced Forum User, Player (230)
Joined: 7/30/2006
Posts: 207
Location: Alefgard, USA
Remember guys, even in your glitched run, it may be a good thing to rig the monster arena fights.....
I support a glitched and non-glitched run
Me too !!!
Experienced Forum User
Joined: 11/17/2005
Posts: 278
Location: Massachusetts, USA
I think I understand what is happening. Normally, each time you take a step, the game loops through Y of your party members to check for any of them sitting on damage tiles. Y = the number of alive, walking characters in your party. If someone is dead or numb then they don't count. The odd situation of everyone being numb and dead can't happen since that is a game over condition. But the Dream Ruby allows you to incapacitate your last ally without a game over check. If your entire party is dead/numb then Y = 0. I would've expected the loop to test the condition first then run. But then again Y is supposed to be the number of characters in your party who are able to walk, and this code is called when a step is taken. If Y does somehow equal 0 then you shouldn't be able to walk and reach this code! But scripted scenes are exception. So then the game loops through all 255 of your party members (oh no), checks to see if any of them are standing on swamps/barrier (uh oh), and then decrements their HP an appropriate amount! So if the "13th member" of my party has 1HP, and the bad math is done, then he will end up with 250HP. But really, having 250HP on party member #13 is actually having a Purple Orb equipped on party member #2? What memory address are the Ramia/Boat and "Return locations activated" flags stored at? Could those important bits of data ever line up with party member #140's HP? (For example.) I imagine that if you decremented the right byte you could just Return to Rimuldar without touching an Orb or Baramos. :) Oh heck, which flag is the "Zoma is dead" flag? Imagine jumping down the pit of Gaia, landing in Alefgard, and immediately being given the title of Erdrick! :) Roll the credits! I'm going to test Louisa's, the Navel of the Earth, and becoming the king at Romaly to see if they do anything with the Dream Ruby glitch. I don't think the king can use the Dream Ruby, but maybe I can set the glitch up and then talk to the king. Or is there something about swamp tiles existing in the fortune teller's house that makes this glitch unique to that room? EDIT: First try in Assaram I used Hiram instead of the hero to do the glitch. I hit all of the following values: Hiram's spells, dwfm's spells, the MSB of dwfm's experience, and my inventory in at least 4 spaces. Sweet. EDIT2: Lancel always works and I get different results depending on who was dead and replaced. Romaly also works, and the king dies! However, the hero must be the dead person for Romaly to work. EDIT3: This is interesting. Each party member has their own return locations list. Just in case you swap party members I guess! For party member #1 the addresses are 750-752. The towns go in order: Aliahan, Reeve, Romaly, ... Kol, Rimuldar, 4 unused bits. This is definitely in the range of the Dream Ruby glitch! While testing the DRG don't forget to check your allies' memories of where they have been! Maybe they'll remember a trip to Alefgard that they've never had! EDIT4: Two interesting posts below mine! I started watching the video but then I stopped it at Portoga when I realized that I could use that chance to figure out where the event flags are. They are at 60B8, a few bytes before and many after. I'll finish watching the video tomorrow. So no, we can't hit those flags. Too bad.
Experienced Forum User, Player (230)
Joined: 7/30/2006
Posts: 207
Location: Alefgard, USA
Oh heck, which flag is the "Zoma is dead" flag? Imagine jumping down the pit of Gaia, landing in Alefgard, and immediately being given the title of Erdrick! :) Roll the credits!
Precisely. Don't just glitch part of the game when you can glitch it all away! I think it'd be pretty sweet to see a TAS that won DW3 in about 16 minutes using that glitch. That'd be pretty crazy. By the way, here is another WIP. Baramos slept for 2 whole rounds!!! http://www-personal.ksu.edu/~dbrown3/DW3Baramos.zip Notes about this WIP. I earn just over 50,000 Gold from a single monster arena fight. I had to chant heal just once to manip a great Baramos fight. The orochi gets owned twice. I made the weapon and armor salesman in Samanao rich. I'll kill a couple of babbles in Alefgard to learn Healall for the pilgrims, most likely.
Dwedit
He/Him
Experienced Forum User
Joined: 3/24/2006
Posts: 690
Location: Chicago
Now that I've actually looked deeper, mem[93...96] is the tile number the character is standing on, and mem[68...6B] is the party's order after taking out the dead people. There's also a table at 6DE0 (32 bytes large) that says what each tile counts as. 05 is swamp, 06 is barrier. Normally the code runs 4 times in the loop, then it's over, but here we have the boundary condition bug causing it to execute 255 times. Reads out of bounds for both tile number under players, and character numbers. So the code looks at table 93 to check what tile the character is standing on. It ands it with 1F because there is a 32 tile limit, higher bits indicate which roof number the tile is under. Then it uses that as an index into table 6DE0 to see what tile type the player has stepped on. It checks if it's Swamp (tile 05) or Barrier (tile 06). If so, it damages the player. To pick which player it assigns damage to, it looks at table 68, usually containing 00 01 02 03. If the second party member was dead, it would contain 00 02 03 XX. In the fortune telling room, tile number 1 is a swamp tile, and there are no barrier tiles. That's where the comparison with 1 came from in my above post. But if you were in a room with barrier tiles, then your items/stats would go down by 15 each step. So now the algorithm kinds looks more like this C psuedocode:
Y=0
do
{
	tile = tileUnder[Y] % 32
	tileAction = tileActions[tile]
	if (tileAction==5) //swamp
	{
		character=LivingParty[Y]
		damage_character(character,2)
	}
	if (tileAction==6)
	{
		character=LivingParty[Y]
		damage_character(character,15)
	}
	Y++
} while (Y != numLivingPartyMembers)
And it fails very badly if numLivingPartyMembers == 0.
Experienced Forum User, Player (230)
Joined: 7/30/2006
Posts: 207
Location: Alefgard, USA
Well, I ran into some troubles here, and was looking for some advice. I did the whole "play at 200% speed just to hurry and see how far you can get" thing, I was able to get past Zoma's three henchmen without collecting SOK, AOR, or SOH. However, Zoma annihilated me and there wasn't really much I could do about it. I was thinking that the Zoma fight would have to be different -- since his attacks are so powerful and I can't put him to sleep, I may have to just rely on attack and not on status spells. Weakend Zoma has zero lightning resistance, so Zap might work well, or the Hero could chant Healmore if I get him to level 29. My pilgrims could each chant Healall, which does anywhere from 90 - 110 damage. The wizard could try some attack spells, or use the sage stone, but would most likely be my "manip" character to make Zoma just use his freeze wave twice. If I can do this, the game is done. I'm considering giving the meteorite armband to the wizard for this fight. (Although there might be a 1/2048 chance that Baramos Gonus will drop another one. :-P) However, would you guys suggest getting the Sword of Kings? It seems a bit far out of the way, and if I'm not attacking Zoma with a sword, it may not be worth it. The Armor of Radiance isn't too far out of the way, and adds 20 more defense points to the hero, so it may be worth it. I'll keep messing around some more tonight and see what happens. EDIT: Strangely enough, it also seems like the game treats Alefgard as a dungeon. I can't seem to "wait out" enemy fights.
Experienced Forum User
Joined: 8/29/2005
Posts: 148
Location: Dayton, OH
The most recent WIP looks pretty good. I only have one major question. Why didn't you just get the yellow orb after dropping off the merchant? IIRC you had killed the boss troll, gotten the purple orb, and possessed the purple, blue, green, and silver orbs. Why not just exit and enter to avoid having to make 2 trips? Other than that, everything looked great. The Baramos fight was excellent. I thought it would be much closer than it was. Not even a single death.
Experienced Forum User, Player (230)
Joined: 7/30/2006
Posts: 207
Location: Alefgard, USA
The town didn't grow fully until I chanted Return. I figured that would be a good time to regroup and gamble. On a completely unrelated note, I just discovered that I can get a Magic Bikini for a cost of about 8 seconds. Should I do it for the entertainment value?
Experienced Forum User
Joined: 8/29/2005
Posts: 148
Location: Dayton, OH
ok, the route makes perfect sense if you did indeed have to cast return. As for the magic bikini, I'm not so sure. It doesn't really contribute anything (except 8 seconds). Shoes of happiness would be great though. Also, what level did you attempt Zoma? Did he cream you because you couldn't manipulate him very well or because even with manipulation he killed you? Just curious as I may experiment some ideas.
Experienced Forum User, Player (230)
Joined: 7/30/2006
Posts: 207
Location: Alefgard, USA
Well, I submitted the run today. Please watch and vote! Thanks for your help and input.
Dwedit
He/Him
Experienced Forum User
Joined: 3/24/2006
Posts: 690
Location: Chicago
Dave_dfwm found a new route. Basically, you can do the "dream ruby bug" without the dream ruby. Here's a screenshot tour! First, let a Killer Bee paralyze one character in the party, then kill two other party members. Return to Allihan. Use luck manipulation with each step to ensure that the paralysis does not wear off. Drop off the non-paralyzed living guy at Luisa's Place. Then you can drop off the paralzyed party member there too! Normally, the game checks to see if removing a party member would cause your party consist entirely of dead people, and displays a funny message if you try it. However, there is a BUG in the game that lets you remove the character if your entire party is either paralyzed or dead. It's also a bug that it let a paralyzed character lead the party in the first place. Yep, now you have a dead party. Now whenever you walk around in any area which contains a Poison Swamp tile loaded into the tileset, you get the magical stats corrupting bug. It doesn't matter whether the swamp tile actually appears on the map or not, it just has to be loaded into the map's tileset. One such place that loads the swamp tile is the Prison area in Allihan castle. For each step you take, you trigger the stats corrupting bug. And that's basically the new stuff. ----------------------------------------- But wait... there's more. Sometimes it will add characters into the party. Here it added in a null character with zeroes for all stats, including a lovely inventory. You can revive the character, then give it a Wing of the Wyvern. The glitch character has an empty list of return destinations, and using the wing takes you to the black area in Alefgard. It's not known if this is manipulable.
Experienced Forum User, Player (170)
Joined: 7/7/2006
Posts: 797
Location: US
Very cool find, hopefully there's some new glitches to be found. The teleport to Alefgard is a point of high interest. Good luck breaking the game further, and I await the future run.
1 2 3 4 5 6 7