Dragon View is an under-appreciated RPG for the SNES, allegedly a prequel to the original Drakkhen though it bears no resemblance in gameplay. You play as Alex on a quest to save your girlfriend Katarina and recover the Prime Orb from the evil Giza. I don't do any of that though, thanks to a glitch that skips you straight to the ending from roughly halfway through.
At least, half of the ending. This glitch is different from the one that has been documented before - and it screws up the cutscene following the credits so you end up stuck. It IS possible to glitch to the credits and have them play to the end, I just didn't get it this time....

Game objectives

  • Emulator used: Bizhawk v1.5.2
  • Aims to achieve the Wrong Warp glitch as quickly as possible

Comments

The Glitch

My original goal was to recreate the wrong warp glitch originally encountered by PJDiCesare (seen here) as quickly as possible. Upon completing my first TAS attempt I found that the glitch did not occur the same way for me as I'd been told it would, and after days of experimentation I was unable to achieve the wrong warp at all.
The glitch occurs whenever you reach the end of Ortah temple without saving and loading your game, since when you defeat Piercia in the Storehouse a “7F” is written to 7E9BAA that isn't restored after loading. This address is accessed as soon as you try to advance past the first text that appears in the cutscene, and when the 7F is there it triggers a series of loops that scramble massive regions of RAM. At this point it will usually crash almost immediately or end up in a seemingly infinite loop of a sound effect that sounds like mocking laughter (at least when you've been hearing it for months). The exact cause of the occasional warp to the ending isn't certain but it seems to occur when the loops complete successfully.
The value at 7EBB37, which is related to the animation of the torches flickering in the background, runs continuously from $00 to $16 at the moment before triggering the glitch and influences its progression, giving 23 possible “endings” for each playthrough up to that point. Based on my personal observation either several of these will lead to the warp or none will.
The most frustrating part of this TAS was doing it on Bizhawk. As much as it's a great emulator in some ways it doesn't take kindly to testing this glitch. To really test it you have to just run the game until it warps or crashes or ends up in a loop, since the warp can look different along the way. Snes9x handles this fine and you just load savestate but Bizhawk crashes entirely when it doesn't work, which also leaves a process running that consumes a whole processor core and has to be ended manually, so it's time-consuming to do that 23 times for every little change.

The Run

This recording is my third complete attempt at a TAS of this glitch (I think), though each attempt involved many different branches at various points to change specific variables. This is also one of the slowest attempts, because it includes several deliberate wastes of time in an attempt to recreate certain conditions from the only run I had observed to warp so far. These include:
  • Shopping in Hujia after getting the dragon scales. The potion isn't needed and taking the warp star back is probably faster.
  • Going down after the boss of the Ice Fortress for the “Crystal”
  • Not fighting the “gold sandworm” on the 7th outside encounter (which is optimal so far as I know) – this consumes a very large amount of time but I have yet to experience a warp after fighting it on the 7th battle. This movie recreates the exact sequence of fights from the last known warp run.
  • Walking down and back up in Miraj. At one point during testing it was determined that 7EBB46 was involved in the glitch and different between a warping and non-warping savestate. I found that it's written as you walk down between two screens of a town, saving your horizontal position. In the warping savestate the value was 48, which corresponds to the right side of the left-most opening in Miraj.
But there's more wasted time throughout, especially toward the end. The run as a whole is certainly not even close to optimal, but given the amount of time it has taken just to get this far I'm opting to submit what I have rather than hope to do better anytime soon. I'd already started my next attempt before accidentally making this one work and I still plan to beat this time with it.

Other comments

In a few places I have some fun with frame-perfect movement when there's time to stand around. It is interesting to note that when alternately holding left and right for three frames each Alex will remain in his turning posture indefinitely, and if you do this while running on ice he will just slide like that and even bounce off walls if you're lucky. You can see this during the downtime in the Ice Fortress boss fight. Also important for saving frames is that it only takes time to turn around if you're moving sideways or down, if you're moving up you flip instantly.
Finally I'd like to thank PJDiCesare and Omnigamer for basically everything I know about this glitch.

Solarplex: Added Temp Encode.
feos: Accepting to Moons.
Fog: Processing...

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14873
Location: 127.0.0.1
This topic is for the purpose of discussing #4355: Khaz's SNES Dragon View "game end glitch" in 1:01:01.92
Patashu
He/Him
Joined: 10/2/2005
Posts: 4016
Nice! I've been waiting for this one!
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Player (53)
Joined: 11/20/2013
Posts: 103
Ffff I just now realize that the title line says NES, not SNES. I have no idea how that happened but I can't edit it. Anybody know if that can be changed? Edit: Whoever that was thank you. <3
Joined: 8/1/2006
Posts: 428
Shouldn't the category be "game end glitch", since you don't actually do the wrong warp?
Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused telnet: Unable to connect to remote host
Player (53)
Joined: 11/20/2013
Posts: 103
I'm not sure what the distinction is? I should also note, I just now let the credits play out to the end for the first time, and the game glitches up a bit afterward. You wind up stuck walking in place in Rysis. EDIT: Okay yeeeah mine is entirely different. I didn't realize there's normally an entire cutscene after the credits end. In my run it's glitched up but you're supposed to go back and talk to some people in town...
Joined: 4/5/2011
Posts: 61
Wrong warp warps you to another place in the game, and you're still playing the game until the end. Glitching to the credits......glitches to the credits.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4016
The glitch was named a wrong warp when it was found, but it's not really one. The category for this run would be "Game end glitch" indeed.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Player (53)
Joined: 11/20/2013
Posts: 103
I see, thanks for the clarification! I didn't get the actual glitch that PJ originally got and that I've seen before though, this one doesn't work right and you get stuck halfway through the ending... Soo, partial credit? New category? Bleh well good thing I was going to keep working on it anyways.
Active player (469)
Joined: 2/1/2014
Posts: 928
Too lazy right now to add it to top page. Will in the morning http://youtu.be/ZeAJBc2koro
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Is it emulator dependent or does it have some subtle ingame cause? Maybe asking someone with SNES debugging knowledge can help find what's going on. :o
Patashu
He/Him
Joined: 10/2/2005
Posts: 4016
jlun2 wrote:
Is it emulator dependent or does it have some subtle ingame cause? Maybe asking someone with SNES debugging knowledge can help find what's going on. :o
The memory corruption glitch has already been analyzed. Read all of this topic: http://tasvideos.org/forum/viewtopic.php?t=2545&postdays=0&postorder=asc&start=0
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Player (33)
Joined: 2/16/2012
Posts: 282
To answer it a bit better, we know what causes the bug, but we don't specifically know what causes the game ending sequence to start. Crashes occur when the counting variables get overwritten/messed up enough such that it starts trying to write to ROM space, while the game ending bug occurs only when the loop exits gracefully.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11267
Location: RU
No votes, huh?
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: 6/4/2009
Posts: 893
feos wrote:
No votes, huh?
with the temp encode and the glitch explanation, yes vote but can't we trigger the ending glitch before ortha temple ? if it that particular text cutscene that trigger everything or can another text cutscene do the trick ?
Player (33)
Joined: 2/16/2012
Posts: 282
There are unconfirmed reports from GFAQs that lockups have occurred at the ice temple and one instance at a chest in the fire cave, but for the most part this is the only situation we can confirm that triggers the ending sequence.
Joined: 6/4/2009
Posts: 893
thanks for the answers !
PJ
He/Him
Joined: 2/1/2011
Posts: 181
Location: Western NY
Sorry for my silence! I was away when this was submitted. This glitch is incredibly finicky and honestly any run that even triggers the game end glitch is worth accepting. There are definitely some sub-optimal moments in the TAS but it is far from sloppy. Our current knowledge is far too limited to create a truly optimal TAS anyways, because whenever we deviate from this exact route we are unable to cause the game end glitch. Therefore, I'm going to give it a "yes" vote, and hope that it encourages others to look into this glitch more. To piggyback on what Omnigamer said, I did encounter a game crash while opening a chest in Lake Cave. It looked graphically identical to other "crashes" that I noticed from the Ortah cutscene glitch, but I was never able to look into it more because it happened to me exactly once and on cartridge. It is very likely it was just a dirty cart or something and not an actual bug in the game. So yea, it is *possible* that the glitch can be done in other places, but it is pretty much impossible to test.
Player (53)
Joined: 11/20/2013
Posts: 103
Interesting that you guys mention glitches only seen on console... I have a cartridge of Dragon View and two SNES consoles - and it works just fine on one and is unplayable on the other. Both consoles work perfectly with every other game I own including ones that use the Super FX chip. On the one that doesn't work, after opening the menu in some dungeons, basically everything in the main part of the screen goes black and stays that way so you can't see anything, and it's totally reproducible. No clue what's up with that but it makes me think maybe this game just plain doesn't work right on certain hardware configurations... If anyone has ideas for troubleshooting I'd be glad to look into it but I got nothin' myself. I've probably played through it at least a dozen times on emulator not counting the TAS attempts but it's never crashed anywhere but Ortah for me.
PJ
He/Him
Joined: 2/1/2011
Posts: 181
Location: Western NY
Khaz wrote:
I've probably played through it at least a dozen times on emulator not counting the TAS attempts but it's never crashed anywhere but Ortah for me.
Same here. I am quite sure that it can only legitimately happen in Ortah. Dirty/crooked carts are probably the causes for the other crashes reported elsewhere.
Ford
He/Him
Joined: 3/5/2013
Posts: 183
Location: California
PJ wrote:
Sorry for my silence! I was away when this was submitted. This glitch is incredibly finicky and honestly any run that even triggers the game end glitch is worth accepting. There are definitely some sub-optimal moments in the TAS but it is far from sloppy. Our current knowledge is far too limited to create a truly optimal TAS anyways, because whenever we deviate from this exact route we are unable to cause the game end glitch. Therefore, I'm going to give it a "yes" vote, and hope that it encourages others to look into this glitch more. To piggyback on what Omnigamer said, I did encounter a game crash while opening a chest in Lake Cave. It looked graphically identical to other "crashes" that I noticed from the Ortah cutscene glitch, but I was never able to look into it more because it happened to me exactly once and on cartridge. It is very likely it was just a dirty cart or something and not an actual bug in the game. So yea, it is *possible* that the glitch can be done in other places, but it is pretty much impossible to test.
Wow, grats Khaz! I watched this late last night while I was half-asleep. I kept nodding off and dreamt of various other RPGs that had scenarios and settings LOOSELY related to what I was watching. (Watching RPGs tends to make me sleepy. I fell asleep while my friends were playing Skyrim and Ni No Kuni.) Overall, I enjoyed it. (If I hadn't enjoyed it, I would have shut it off and gone to bed.) In light of PJ's revelation, I now feel like I witnessed a rare treasure. I'm glad I kept waking myself up.
Joined: 8/3/2004
Posts: 325
As someone who has been waiting for a TAS of this for almost a decade it's an easy yes vote! I'm a little sad it's not the full game and has to end with that damn glitch that haunts this game though but oh well! :( Good job on the run! Now someone do a Der Langrisser TAS and my decade old wish-list will be done :P
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11267
Location: RU
Is this run comparable to Acmlm's times? It is at least similarly long as a possible non-assisted run.
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.
PJ
He/Him
Joined: 2/1/2011
Posts: 181
Location: Western NY
Acmlm's route is not comparable to this for the most part. He collects equipment that would be needed for completion of the entire game (for instance, the hauza and two levels of lightning ring), whereas this route does not need the lightning ring at all because the game ends before it is necessary. For a more appropriate comparison, I beat the first boss 25 seconds earlier in my real time run than his TAS does...and I lost a good bit of time in that split. My post in that thread was back when I *thought* we had a clear understanding of the game end glitch. That is, I thought that all we had to do was get to that cutscene without save/loading and then advance text on the right frame. Since the glitch is MUCH more complicated than that, optimization became more difficult. We had no idea how in-game actions impact this glitch, and sometimes extremely minor things such as transitioning a screen in a different location can make the glitch not possible. Until this is fully understood, complete optimization is more or less out of the question.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11267
Location: RU
Thanks.
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.
Player (33)
Joined: 2/16/2012
Posts: 282
I just want to clarify something on the glitch that occurs here. It is fundamentally a nested loop that looks something like this (going from memory):
for( i=1;i!=0;--i)
    for( j=&memAddr+3;j!=0;j--)
        copy(memAddr+1,memAddr+2);
        memAddr++;
    end
end
So what happens is that the initial i value is assumed to be initialized, but due to a bad branch setup earlier on the value starts off at 0 in 16-bit mode. So when the initial subtraction is performed, it underflows to FFFF, and will go through a huge portion of the memory space. This is why it's so hard to predict how it will execute; every value in memory has the potential to be both the inner loop counter or a "swapped" value. This gets particularly messy when it overwrites the variables themselves over the course of the bug. I believe the full crashes occur when the variables get messed up enough that it starts to write into ROM space. If the loop exits gracefully (that is, after FFFF executions of the main loop have occurred) then the "game end glitch" occurs.