FractalFusion's Azure Dreams in 10:32. My quest to TAS a random dungeon RPG led me here.
Thanks to Aktan for an encode using Eternal SPU. It took him a while to resync due to the game itself. You can download MP4 or MKV, or watch online.
The TAS was made in PCSX rerecording v0.0.7, but will work in v0.0.9 . For sound plugin, Pete's MIDAS Audio Driver 1.7 is the best known one that syncs, as TAS Sound Plugin doesn't work well (although it syncs). It is also recommended to play it right away, without opening a ROM beforehand, though I haven't run into desyncs lately.
Also note that fast-forwarding may cause the names of the characters to be messed up, and other graphical glitches.

Aims

  • Best ending
  • Aims for fastest time
  • Abuses programming errors in the game
  • Manipulates luck

Programming errors abused

Only one. On floor 31, rarely but possibly Beldo doesn't show up (and there are no enemies on that floor).

About the game and the run

Azure Dreams is a random dungeon RPG (roguelike) where the floors are randomly generated. You control the main character, Koh, who trains monsters while obtaining riches while in the Monster Tower, and builds buildings and gets girlfriends while in the town of Monsbaiya. The ultimate goal though is to reach the top of Monster Tower, the 40th floor.
Due to the way the game works, it is extremely difficult (without cheating) to reach the top of Monster Tower on the first try unassisted. Extreme luck would be required, as monsters on the high floors kill an underleveled adventurer (and his trained but underleveled monsters) in one hit. Note that it's never game over when killed, you just lose all items you brought in the tower and have to start over from the first floor, if you want to try again.
Of course, with TAS, anything goes. Not only does this adventurer not pick up any items (except at the plot-driven ending), he sends his starter monster (Kewne) home right on the first floor, then scales the tower to the 40th floor armed with nothing but a Pita Fruit. Oh, and there is a way to get around the "final boss". It's required, actually.
So, how does such an adventurer survive, when all enemies on floors 15 and above not named "Pulunpa" kill him in one hit? In a TAS, apparently by manipulating the location of the elevator to the next floor so it is close by. But that is not all.
Every stage has trap tiles, whether it is relatively harmless like Upheaval or Reversal, or ridiculously deadly like Monster Den (this is very rare, fortunately). The traps are randomly scattered and only occur in rooms rather than passageways, although occasionally a trap room is designated which contains about a dozen traps.
One type of trap, Go Up, sends Koh or any enemy to the floor above; this is a useful substitute for the elevator, and is faster by about 100 frames. Koh can also run very fast (except when a non-sleeping enemy is nearby), so even if the Go Up trap is not close, he can run to it, and it may be faster than manipulating the elevator. Of course, you don't see traps before you run into them, so how do you know where they are?
Using memory watch, of course. I found character coordinates, elevator coordinates, trap coordinates, and trap IDs (traps are dynamically allocated but are always seeded into one of about twelve slots, maybe more, all at increments of 24). Go Up, the important one, has a trap ID of 184.
So to manipulate, I use waiting frames, and check if it places a Go Up trap (preferred) nearby, or the elevator nearby. Since there are many addresses involved, I only check the trap IDs, and see if any of them are 184 before checking trap coordinates. Note that if the current level has Go Up traps, the trap ID of 184 may remain; I can weed these out by seeing that the trap coordinates don't change. This of course assuming that the game is not evil enough to place Go Up traps in the same spot on two consecutive floors.
Of course manipulating the elevator or Go Up trap close by is of no use if there happens to be a non-sleeping enemy in the way.

Trap tile IDs

Trap tile IDTrap tileWhat it does
0Monster DenHuge monster ambush, cannot be detected
8CrackLowers the floor around the target
16RustPermanently lowers equipment stats by 1, except if already at 1, or rust-proof
36BumpWakes up sleeping enemies in the room
44UpheavalRaises the floor around the target
48WarpWarps target to a different spot on the same floor
60FrogTurns target into a frog with no offensive capabilities
84PrisonCauses paralysis
144SealPrevents use of magic
152PoisonCauses poison
156BombDoes damage in a cross-shaped region and destroys any items on it
160ReversalTurns the screen upside down
176BlinderCauses blindness
184Go UpSends target to the floor above
192SlamDoes damage
200SleepCauses sleep
224ChaosCauses confusion, messes up controls
248SlowCauses target to move at half speed

Important memory addresses

AddressWhat it represents
82EA4Player X
82EA5Player Y
E3CDAElevator X
E3CDCElevator Y
E39CE+0x18*nTrap n X
E39CF+0x18*nTrap n Y
E39D0+0x18*nTrap n ID

Run progress

  • Thursday, May 14, 2009 - Verified that Azure Dreams can be beaten on the first trip. Also discovered that Go Up trap is useful.
  • May 15 - Found important memory addresses, including trap ID and location.
  • May 16 - started run; into first few dialogs
  • May 17 - Entered tower and reached floor 10
  • May 18 - Reached floor 20
  • May 19 - Reached floor 26
  • May 20 - Reached floor 35
  • May 21 - Completed game (almost)
  • May 22 - Fixed desync and completed game

Run notes

Any waiting is due to luck manipulation. Koh cannot run when nearby a non-sleeping enemy. Koh has to take extra or walking steps sometimes to trigger the Go Up trap, since traps do not always work.
  • After leaving the house, I use the view rotation to put Koh on a straight line to the destination.
  • Floor 1: First trip only, this is a tutorial floor. I send Kewne home. There are two reasons for this. One is that otherwise he frequently stops you to talk during this floor. The other is that on later floors it makes it easier for enemies to attack him, thus slowing you down. The weird path I take is to manipulate the Pulunpa as far away as possible as to avoid being unable to run due to a nearby enemy.
  • Floor 7: The slight pause is due to the enemy waking up. I run over a Seal trap near the Go Up trap.
  • Floor 13: I run over a Rust trap on the way to the Go Up trap.
  • Floor 20: The route was to let some monsters go by first. I was quite unlucky manipulating this floor.
  • Floor 22: An enemy, who would otherwise kill Koh, falls into a Blinder trap. :D
  • Floor 23: Another close call here.
  • Floor 28: There was actually another Go Up trap nearby. That makes two Go Up traps and the elevator near the starting point, something very rare.
  • Floor 31: Very rarely Beldo doesn't show up and there are no enemies on the floor. This is one of those times; the next one didn't show up for about 90 frames.
  • Floor 32: Who needs elevator when you have Go Up trap?
  • Floor 38: As a puzzle, find the hidden elevator.
  • Floor 40: The ending makes no sense, but whatever. I chose the "good" ending here (Kewne stays with you, and appears in the credits) even though it is about 2 seconds slower.

Thanks

Thanks to mz for giving us rerecording for PSX. Thanks also to a Pokémon Mystery Dungeon Red review (!) for introducing me to this game.

adelikat: Accepting due to positive viewer response. I'll handle the publication.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15577
Location: 127.0.0.1
This topic is for the purpose of discussing #2256: FractalFusion's PSX Azure Dreams in 10:31.73
Joined: 8/3/2004
Posts: 325
I remember renting this game when I was younger and really hating it, not getting very far in the dungeon. I'll watch it once there's an encode; seeing it beaten will be a small vengeance for those wasted hours.
Joined: 1/26/2009
Posts: 558
Location: Canada - Québec
it took me a while to figure out how to synch this... sometime even with 60fps from frame 0 to ~1600, I keep desynch later. Thought after some random test we can make it works and the rest runs perfectly. Like most roguelike, add luck manipulation made the game very fast... nothing special or interesting here. However, skip beldo talk at floor 31 was an enought good find to have a yes vote from me :)
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
Assuming the last 28 seconds isn't gameplay, I'll upload it to youtube.
Editor, Expert player (2073)
Joined: 6/15/2005
Posts: 3282
I already have an encode, and Youtube limit is technically 11 minutes. Though you can beat me if you want. I'll upload when I feel like it, unless someone uploads it first.
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
What I meant by the last 28 seconds, is the 28 seconds after the input finishes. Anyway, feel free to upload it to youtube, I will never upload a video to youtube if someone else has the better resources or has beaten me to it for uploading it. You have the better resources. This is the very much same reason I will not upload to youtube the Links Awakening TAS. It has been nicovideoed, even if it is a website not preferable to my tastes, I have still been beaten to my goal and I hold my respect for that reason.
Editor, Expert player (2073)
Joined: 6/15/2005
Posts: 3282
Here is an encode: http://www.youtube.com/watch?v=I1yS3YxQcfo I also placed annotations about tool-assistance and the like.
IST
Joined: 8/26/2008
Posts: 103
WHOA The sky effect when you're naming your character is very broken...
Experienced player (961)
Joined: 12/3/2008
Posts: 939
Location: Castle Keep
Thx for encode Never played nor knew that game, alltought, you seem to have done a pretty good job at speedrunning it After few floors, it appeared clear to me your not suppose to travel this fast without encountering battles and stuff on your way, even i dont know that game it seem obvious you manipulated it nicely So its a yes vote me, despite the huge 3min intro on a 10min movie, it was quite funny to see this guy just running the hell on floors Boss dialogue (with slide show) was somewhat cool, the fight was realy super short tought, wth happened? :p
IST
Joined: 8/26/2008
Posts: 103
I cannot vote yes on this. The sound emulation problems are far too severe. It point blank does not sound like the real game.
Joined: 3/22/2007
Posts: 7
That's an impressive job of luck manipulation.
Joined: 3/11/2008
Posts: 583
Location: USA
[using FF's own encode] Looks like grand luck manipulation. An express elevator. Do you want to go up? >Yes No
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3573)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
Meh, not really my cup of tea.
It's hard to look this good. My TAS projects
Joined: 7/2/2007
Posts: 3960
Thanks for the encode, FractalFusion. I have to say, though, I didn't really find it all that interesting. It's a nice demonstration of just how far luck manipulation can take you, but there's not really any gameplay to speak of, and the music is horrendous (apparently because of an emulator bug?).
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Editor, Expert player (2073)
Joined: 6/15/2005
Posts: 3282
I've tried a few sound plugins but the Pete's MIDAS plugins are the best known ones that sync. The Pete's DSound/P.E.Ops plugins cause desync. The TAS plugin syncs but the sound is bad unless "Movie sync mode" is unchecked, which causes desync. Edit:
arukAdo wrote:
Boss dialogue (with slide show) was somewhat cool, the fight was realy super short tought, wth happened? :p
The only way to win is to let the final boss kill you.
IST
Joined: 8/26/2008
Posts: 103
Derakon wrote:
Thanks for the encode, FractalFusion. I have to say, though, I didn't really find it all that interesting. It's a nice demonstration of just how far luck manipulation can take you, but there's not really any gameplay to speak of, and the music is horrendous (apparently because of an emulator bug?).
And sound effects. Many are missing or mangled. The sound emulation gets progressively worse as well... Starts out OK but inaccurate ala the FF3 video that's up here, and then just goes to hell. =\ Really disappointed me, as I both liked the game and the run. Still, a game with as many emulation problems as this should not be accepted.
Player (118)
Joined: 5/13/2009
Posts: 700
Location: suffern, ny
saw the run, nice job. gets a little repetitive though, but all in all it was cool, you get a yes from me
[19:16] <scrimpy> silly portuguese [19:16] <scrimpy> it's like spanish, only less cool
Reviewer, Active player (287)
Joined: 12/14/2006
Posts: 717
That was surprisingly fun. I wonder if there is a way to make goals so the game is played more, like rebuild the town or something. of course being forced to collect money often gets boring.
Skilled player (1416)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
You know, I didn't think this was a bad run at all. Unfortunately my enjoyment of it was severely hampered by the absolutely terrible sound emulation. The rather lengthy cutscenes in the opening didn't really help at all... Voting meh, sadly because of issues outside of your control. Sorry. :/
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.
Editor, Expert player (2073)
Joined: 6/15/2005
Posts: 3282
I'll see if I can hex edit it so it syncs under P.E.Ops. Or TAS Plugin without Movie Sync. I do know P.E.Ops has much better sound emulation than what I was using. Unfortunately, DirectSound-related plugins tend to cause desync.
Skilled player (1098)
Joined: 8/26/2006
Posts: 1139
Location: United Kingdom
This was pretty cool for a dungeon RPG. Opening cutscene and all aside this was a fast paced run. Luck manipulation looked good too so I don't mind giving this a yes vote. I'm unfamiliar with this game so I can't comment on any emulation issues, but nothing stood out as being particularly ugly or out of place (in fact I thought the music was good).
TASVideosGrue
They/Them
Joined: 10/1/2008
Posts: 2785
Location: The dark corners of the TASVideos server
om, nom, nom... crunchy!
Joined: 1/26/2009
Posts: 558
Location: Canada - Québec
I would like to know how your going to fix the sound, I'm actually working on a psx game and this issue may been a big problem for me...
Experienced player (961)
Joined: 12/3/2008
Posts: 939
Location: Castle Keep
I wonder why this was canceled... just for the sound ? weird...
Joined: 1/26/2009
Posts: 558
Location: Canada - Québec
here is my best attempt to encode this: HD for his tube: ==> http://www.wikiupload.com/download_page.php?id=143714 mkv with ogg vorbis(49Mo): ==> http://www.wikiupload.com/download_page.php?id=143677 I used a very painful method to encode this: -Keep alternate between sound synch check and uncheck -Savestate before almost every SFX/lagging frame that caused desynch -Restart kkapture when deynch -Used avisynth to do some accurate montage ...The sound is far better, but the beldo battle scene still missing up, since it was to hard to make it synch with all these special effect and stuff :D