the cutting room mirror

Vagrant Story

This article has a talk page!
view on tcrf.net

To do:

  • All of the screenshots need to be renamed to include the game's name in their filenames.
  • Look into the game a lot more. Screenshots, too.
  • Document this game's demo that's found in the Japanese version of Legend of Mana.
  • Regional Differences]

From the development team behind Final Fantasy Tactics comes Vagrant Story, a dungeon crawler where intrepid agent Ashley Riot investigates a conspiracy involving a kidnapping, supernatural forces and fire-breathing dragons. Also, things aren't what they seem. You know how that goes.

"Good luck, and Godspeed."

Debug Room#

The game has a Debug Room, intended for easing game development and testing. Unfortunately, because the Japanese language font was removed from the international versions, it can be pretty tricky to actually use. The phrase "あけましておめでとうございまーす。" is written on the floor, which translates to "Happy New Year".

You can use these codes to access it:

Japan

800F3030 0002
800F3098 00FA

USA (Press L1, R1, L2, and R2 simultaneously to enter)

D005E1C0 000F 
800F1A48 0002 
D005E1C0 000F 
800F1AB0 00FA

From the Japanese release, the debug room has several NPCs that are meant to teleport the player to different places throughout the campaign.

This is the top level options of each NPC, roughly translated.

Goblin NPC

皆川さん坦当ボスイベント その1
Minagawa-san Tanto Boss Event Part 1

皆川さん坦当ボスイベント その2
Minagawa-san Tanto Boss Event Part 2

追加ボスイベント
Additional Boss Event

見るのをやめる
Stop Watching ( Leave Menu )

Male Zombie Bottom Left

MAP001~004
MAP001~004

MAP005~006 Confrontation! Criminal Sydney
MAP005~006 対決!重氾罪者シドニー


MAP007~008

→見るのをやめる
→Stop Watching ( Leave Menu )

Male Zombie Center Top

の記憶など
(???) Memories, etc.

エピローグ1
Epilogue 1

エピローグ2 など
Epilogue 2, etc.

チャプター3 + 4 + 5
Chapter 3 + 4 + 5

現在制作中です
Currently In Production (quits menu)

現在制作中です
Currently In Production (quits menu)

現在制作中です
Currently In Production (quits menu)

→見るのをやめる
→Stop Watching ( Leave Menu )

Female Zombie Center Bottom

ファーストダンジョンイベント
First Dungeon Event

セカンドダンジョンイベント + 聖印騎士昊形化
Second Dungeon Event + Holy Knight Knight (?)

オ一トデモ + 地恚 + アシュレイの夢
Auto Demo + Earth(?) + Ashley's Dream

→見るのをやめる
→Stop Watching ( Leave Menu )

Female Zombie Top Right

たんば担当シナリオイベント その1
Tanba Scenario Event 1

たんば担当シナリオイベント その2
Tanba Scenario Event 2

現在制作中です
Current In Production - leads to the same text, selecting any causes the zombie to say it as well.

→見るのをやめる
→Stop Watching ( Leave Menu )

Female Zombie Bottom Right

3th廃坑イベント
3th Abandoned Mine Event


4th防風森 + グァルハラ1 + 2イベント
4th Windbreak Forest + Guaruhara 1 + 2 event

5th廃坑2 + ウンディ一ネ
5th Abandoned Mine 2 + Undine

レアモンデ地下街イベント.
Leá Monde Underground Shopping Center(?) Event

6th (???)イベント + 地下段ボスイベント
6th (???) event + Underground Boss Event

8th大聖堂イベント
8th Cathedral Event

予備
Reserved ( This option does nothing )

→見るのをやめる
→Stop Watching ( Leave Menu )

To do:
Actual documentation!

Unused Items#

There are several dummied items in the game. Their hex digits relative to obtainable items can provide clues as to what their purposes were supposed to be. For example, in the range from 0166 to 0181 lie several "Bad Elixirs", which have the opposite effect of the Elixirs.

All item names, unless indicated in the comments, are called "untitled", hence it will not be included as a column in the table.

Hex digit

Effect

Description

Comments

005B

Blade/Grip

Uses the same description as Short Hilt if being used as a Blade, and the same as Windlass if used as a Grip.

Can function as either a Blade or a Grip. As this item was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

005C

Blade/Grip

Uses the same description as Swept Hilt if being used as a Blade, and the same as Cranequin if used as a Grip.

Can function as either a Blade or a Grip. As this item was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

005D

Blade/Grip

Uses the same description as Cross Guard if being used as a Blade, and the same as Lug Crossbow if used as a Grip.

Can function as either a Blade or a Grip. As this item was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

005E

Blade/Grip

Uses the same description as Knuckle Guard if being used as a Blade, and the same as Siege Bow if used as a Grip.

Can function as either a Blade or a Grip. As this item was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

005F

Blade/Grip

Uses the same description as Counter Guard if being used as a Blade, and the same as Arbalest if used as a Grip.

Can function as either a Blade or a Grip. As this item was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

00CF-00DE

Armor

"Armor"

Literally just says "Armor" when the name/description combination is used. 00CF is just after where the Gloves are, and this range of items ends at 00DE, which is just just before the accessories. This would imply that there was another type of armor in plan at one point in development. As this item was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

00FE

Unknown, possibly a Gem or an Item.

Uses the same description as Spiral Pole.

Goes by the name "Wood". Unlike the other unused items, the items from 00FE to 0104 have names which refer to the equipment material types. These items are in between the Accessories and Gems in the index list. Although this could hint that these can be used as Accessories, a cheat device for Armour will treat 01 to 04 as Daggers regardless of whether a 0 or 1 precedes them. If this is treated as an Item, it will try and fail to target an enemy even enemies are in the area. If it is treated as a Gem, as it was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

00FF

Unknown, possibly a Gem or an Item.

Uses the same description as Simple Bolt.

Goes by the name "Leather". If this is treated as an Item, it will try and fail to target an enemy even enemies are in the area. If it is treated as a Gem, as it was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

0100

Unknown, possibly a Gem or an Item.

Uses the same description as Steel Bolt.

Goes by the name "Bronze". If this is treated as an Item, it will try and fail to target an enemy even enemies are in the area. If it is treated as a Gem, as it was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

0101

Unknown, possibly a Gem or an Item.

Uses the same description as Javelin Bolt.

Goes by the name "Iron". If this is treated as an Item, it will try and fail to target an enemy even enemies are in the area. If it is treated as a Gem, as it was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

0102

Unknown, possibly a Gem or an Item.

Uses the same description as Falarica Bolt.

Goes by the name "Hagane". If this is treated as an Item, it will try and fail to target an enemy even enemies are in the area. If it is treated as a Gem, as it was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

0103

Unknown, possibly a Gem or an Item.

Uses the same description as Stone Bullet.

Goes by the name "Silver". If this is treated as an Item, it will try and fail to target an enemy even enemies are in the area. If it is treated as a Gem, as it was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

0104

Unknown, possibly a Gem or an Item.

Uses the same description as Sonic Bullet.

Goes by the name "Damascus". If this is treated as an Item, it will try and fail to target an enemy even enemies are in the area. If it is treated as a Gem, as it was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination.

012F

Gem

No description

As this item was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination. Although this Gem precedes Silent Queen, which would suggest that there plans for Gems which protect against status.

0134-0142

Gem

No description

As this item was never included in any chests, it means no stats were assigned to it. All that exists is the name/description combination. Although these Gems succeed White Queen, which would suggest that there plans for Gems which protect against status.

0165

Tries and fails to target an enemy even when one is around.

No description

Just before the "Bad Elixirs" in the index list, and just after Eye of Argon. This suggests that this once had an effect which got scrapped entirely if a dummy effect is being used here.

0166

Lowers INT

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs". These were likely either meant to be obtainable joke items, or merely used to test particular status effects.

0167

Lowers STR

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

0168

Increases HP

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs". This one is actually beneficial though. It just uses the "Bad Elixir" description.

0169

Risk -50

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs". This one is actually beneficial though. It just uses the "Bad Elixir" description.

016A

Lowers INT

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

016B

Increases HP

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs". This one is actually beneficial though. It just uses the "Bad Elixir" description.

016C

Resets Risk to 0

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs". This one is actually beneficial though. It just uses the "Bad Elixir" description.

016D-016E

Risk -25

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs". This one is actually beneficial though. It just uses the "Bad Elixir" description.

016F

Increases MP

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs". This one is actually beneficial though. It just uses the "Bad Elixir" description.

0170

Lowers STR

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

0171

Lowers AGL

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

0172

Increases HP

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs". This one is actually beneficial though. It just uses the "Bad Elixir" description.

0173

Risk -75

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs". This one is actually beneficial though. It just uses the "Bad Elixir" description.

0174

Lowers INT

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

0175

Lowers STR

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

0176

Lowers AGL

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

0177-0178

Lowers STR

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

0179

Lowers AGL

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

017A

Lowers STR

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

017B-017C

Lowers INT

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

017D

Lowers AGL

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

017E

Lowers INT

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

017F

Increases MP

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs". This one is actually beneficial though. It just uses the "Bad Elixir" description.

0180

Lowers AGL

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

0181

Lowers INT

"You don't want to read the description for this item--believe me."

One of the "Bad Elixirs".

018C-018E

Tries and fails to target an enemy even when one is around.

No description

These items are in between Grimoire Demolir and Grimoire Foudre. This, along with the effect of these items, which would suggest that they were once Grimoires for the different levels of Explosion.

0190-0192

Tries and fails to target an enemy even when one is around.

No description

These items are in between Grimoire Foudre and Grimoire Flamme. This, along with the effect of these items, which would suggest that they were once Grimoires for the different levels of Thunderburst.

0194-0196

Tries and fails to target an enemy even when one is around.

No description

These items are in between Grimoire Flamme and Grimoire Gaea. This, along with the effect of these items, which would suggest that they were once Grimoires for the different levels of Flamme.

0198-019A

Tries and fails to target an enemy even when one is around.

No description

These items are in between Grimoire Gaea and Grimoire Avalanche. This, along with the effect of these items, which would suggest that they were once Grimoires for the different levels of Gaea Strike.

019C-019E

Tries and fails to target an enemy even when one is around.

No description

These items are in between Grimoire Avalanche and Grimoire Radius. This, along with the effect of these items, which would suggest that they were once Grimoires for the different levels of Avalanche.

01A0-01A2

Tries and fails to target an enemy even when one is around.

No description

These items are in between Grimoire Radius and Grimoire Meteore. This, along with the effect of these items, which would suggest that they were once Grimoires for the different levels of Radial Surge.

01A4-01A6

Tries and fails to target an enemy even when one is around.

No description

These items are in between Grimoire Meteore and Grimoire Egout. This, along with the effect of these items, which would suggest that they were once Grimoires for the different levels of Meteor.

01C9

Tries and fails to target an enemy even when one is around.

No description

This item is in between Grimoire Barrier and Bronze Key, so it is more difficult to assume what the result of this item was meant to be. As Dark Chant, the spell after Aqua Guard in the skill index list, is already learnable, it means that such patterns cannot be used here to form a conclusion. Although Physical being the element after Water in the stat index list may suggest that this was for a Physical-based Guard ability.

01EA-01FF

Unusable

No description

Literally nothing can be done with items within this range. Likely filler.

Unused Maps#

Various maps, which served as templates, exist within the game's data.

Zone/Map file name (.ZND/.MPD)

Location

Comments

Screenshot

ZONE000.ZND

No location

Seemingly empty. Any attempt to load anything from it will produce a black screen. There is also no visual data included.

Not applicable

MAP035.MPD

Catacombs

Empty room with a single block. Possibly a test room. Trying to view the room on the map will display the same "Paling" room which the final boss does.

MAP056.MPD

Sanctum

Empty room with a single block.

MAP064.MPD MAP065.MPD MAP066.MPD MAP068.MPD

Great Cathedral

Empty room with a single block.

MAP073.MPD

Great Cathedral

Empty room with a single block, but uses a different colour palette from the rooms in the row above.

MAP125.MPD

The Keep

Empty room with a single block.

MAP161.MPD MAP167.MPD MAP168.MPD MAP169.MPD MAP170.MPD

Town Center

Empty room with a single block, though the colour palette of the block appears to be lighter than the one in The Keep.

MAP341.MPD

Limestone Quarry

Unlike the others which are empty rooms with one block, this one is fully realised. There are platforms to jump on, as well as exits. The room uses the Dark Abhors Light name on the map screen, and similarly uses two exits. However, these exits do not have warp data and hence will not work. Although the Dark Abhors Light name is used, it is unlikely that this was the original version of the area. The actual Dark Abhors Light is MAP311, with the room below, Dream of the Holy Land, being MAP312. Being MAP341 would rather put it in between Hall of the Wage-Paying and Tunnel of the Heartless, which are back-to-back at the end of the area and lead into The Dark Coast in the Temple of Kiltia. This would suggest that MAP341 would appear towards the end of the area.

Unused Music#

Vagrant Story has several unused tracks that still exist on the disc. Many of these are still present in the OST. All tracks here will be identified by their file name in the game, but those in the OST will have their given name listed as well.

  • MUSIC000

An unknown track that seems to work in a motif found in "Within the City Walls" towards the end of the loop. The instrumentation feels as though it was meant to be a test. Several components of "The Graylands Incident" succeed the track in the music index list, which would suggest that it may have been considered for the Graylands incident scenes at one point.

  • MUSIC002 ("Leá Monde")

This track is an oddity. The first part of it can be heard at the start of the Graylands incident, the section at 0:52 is heard just before Ashley enters Great Cathedral, and the remainder goes unused in the game. The name of the track and its placement in the OST (between "Wyvern" and "The Shepherd and the Lamb", lining up with their respective sections of the story) suggests that it was meant to play at the Town Center section.

  • MUSIC003

An unknown soft-sounding track that reaches a somewhat triumphant swell towards the end. The track does not loop, and it does not appear as a part of any other track in the OST. Being the fourth track in the index list would suggest it was used for the Graylands incident at one point in development.

  • MUSIC004 ("The Graylands Incident (Part 1)")

The first part of "The Graylands Incident" in the OST. Interestingly, the final game uses a version that has the opening of "Leá Monde", then incorporates this track without the first 35 seconds.

  • MUSIC006 ("Leá Monde (alt)")

A version of "Leá Monde" that excludes the first 50 seconds.

  • MUSIC008

Another unknown track that does not loop. As with index 0 and 3, it is likely that this track was probably meant to be used during the Graylands incident. The second half of the track is similar to the later parts of "Awakening", which would suggest the former was reworked into the later in a similar way to how MUSIC000 may have been reworked into "Within the City Walls".

  • MUSIC009 ("Within the City Walls")

Based on the name and placement in the OST when compared with the context of the story, it is highly likely that this track was considered for the City Walls areas.

  • MUSIC011

A version of the section of "The Graylands Incident" that plays when Sydney summons the dragon to fight Ashley. This version lacks the chanting motif often associated with Sydney, nor does it build up to the battle theme.

  • MUSIC014

An alternate version of the ending parts of "The Graylands Incident". Interestingly, track 3 in the index list is incorporated into this one. This was likely an alternate version of how "The Graylands Incident" would end given that the track used instead in the final game is 21 in the index.

  • MUSIC037 ("Lizardman")

The name suggests that it was meant to play against the Lizardmen fight in the Catacombs, although the placement in the OST lines up more with the Snowfly Forest events in the story.

  • MUSIC042

An unknown track that loops. It is lumped with area themes such as "The Great Cathedral" and "Abandoned Mines B1" in the index list, which could suggest it was meant to play in a dungeon.

  • MUSIC114

An unknown track that does not loop. It is placed between the first and second sections of "The Gates of Leá Monde", which would suggest an extended scene when Ashley and Merlose arrive at Leá Monde.

  • MUSIC117

An unknown track which repeats the ending part on a loop like "The Graylands Incident" components do. As with "MUSIC114", being close to "The Gates of Leá Monde" suggests that it was meant for an extended scene between Ashley and Merlose.

  • MUSIC127

An unknown looped track. It is lumped with "Limestone Quarry" and "Abandoned Mines B2" in the index list, which would suggest it was meant for a dungeon. It is possible that the track was meant to play further into Iron Maiden given that the melody is similar to that used in "The Sanctum", the track for that area. Based on comments by people who have previously ripped this track, it is possible that incorrect instruments are used as this does not sound like any other track in the game.

It should be noted that while "Joshua 2" and the second half of "Escape from Leá Monde" are featured in the OST, they are not in the game's files.

Anti-Piracy#

The European version of the game is LibCrypt protected. If the protection is tripped, the game will hang on the loading screen after selecting the "New Game" option, preventing any further progression. However, this measure does not occur on the European version if played on a PlayStation 3 as the software emulation config stores an entry for the game, being one of the few games to do so.

Difficulty Options#

Screenshot_2025-11-23_232732.png

When a VRAM viewer is used on the game's title screen, text for the various options available to the player can be seen. Amongst this text are unavailable "Easy" and "Normal" options. Based on how On/Off and Stereo/Mono are attached to Vibration and Sound respectively, Easy/Normal would likely have been options given to the player once New Game is selected. This option went unused and there is no remaining data for it present in the map and zone files.

A further remnant of the difficulty option exists as data in the screen displaying the score after a boss fight which is initialized in func_80107120 but never called:

void func_80107120(int arg0) {
    char* sp18[] __attribute__((unused)) = {"EASY", "NORMAL"};
    int sp20[] __attribute__((unused)) = { 0x808000, 0x8080 };

It is speculated that the contents in the array sp20 are meant to be font colors for the score which correspond to a selected option. If this is the case, "EASY" would likely be teal, while "NORMAL" would correspond to olive. While the final game's score color is teal on the screen after defeating a boss, it is more likely that normal mode is being used. This is because static void _initEnvironment(void), which initializes various options such as puzzle mode and vibration, has vs_main_stateFlags.difficulty set to 1. This would imply that 0 is easy mode.

static void _initEnvironment(void)
{
    int monoSound;
    int vibrationOn;

    vibrationOn = vs_main_settings.vibrationOn;
    monoSound = vs_main_settings.monoSound;
    memset(&vs_main_settings, 0, sizeof(vs_main_settings));
    vs_main_settings.menuFlags = 0x2D8;
    vs_main_settings.information = 1;
    vs_main_settings.simpleMap = 3;
    vs_main_settings.unk0_4 = 1;
    vs_main_settings.abilityTimingDisplay = 1;
    vs_main_settings.cursorMemory = 1;
    if (vs_main_titleScreenCount == 0) {
        _displayPublisherAndDeveloper();
        vibrationOn = 1;
        monoSound = 0;
    }
    vs_main_settings.monoSound = monoSound != 0;
    vs_main_settings.vibrationOn = vibrationOn != 0;
    vs_main_setMonoSound(vs_main_settings.monoSound);
    vs_sound_setCdVol(0x7F);
    memset(&vs_main_inventoryIndices, 0, sizeof(vs_main_inventoryIndices));
    vs_main_stateFlags.difficulty = 1;
    vs_main_stateFlags.puzzleMode = 1;
}

Based on structures inside func_8006B57C_t.h, difficulty flags were also seemingly meant to determine item loot. For every typedef struct representing an item, like blades, grips, or gems, char difficultyFlags is included inside.

Offset 0x80061599 has a flag which controls the reaction time windows for chain and defense abilities. It will always be set to 0x01 during regular play, but hacking the game to set it to 0x00 will cause the game to use different chain and defense ability reaction times. When the offset is at 0x01, the default reaction time window values will be 8, but will be 10 if 0x80061599 is set to 0x00. Due to how the game ticks, this only amounts to a single frame between the two modes.

(Source: Rood Reverse)

(Source: Rood Reverse)

(Source: Rood Reverse)

References#


  1. SQUARESOFT Press Release↩︎
  2. GDR プレイステーション ソフト一覧 2000年 - PlayStation Software List 2000↩︎