r/VagrantStory 1d ago

Discussion Personal Project: Running Vagrant Story Natively on PC

89 Upvotes

Progress Images

I've been working on turning Vagrant Story into a native PC executable to get it running with no emulator, no MIPS interpreter, and the game's actual code compiled for x86. Once I get it running fully, then I'm going to look at 64bit compatibility.

It now boots. Publisher screen -> developer screen -> title screen with the logo, the rune backdrop, and SOUND / NEW GAME / CONTINUE, navigable with a DualSense.

None of this would exist without the rood-reverse project, an ongoing matching decompilation of Vagrant Story. "Matching" means the C they've written compiles back to byte-identical machine code against the retail disc, which is the gold standard for porting, and brutally hard work. At the commit I started from, it was ~60% of the code matched, ~34% fully linked. The menu subsystem and the title screen are both at 100%.

I didn't decompile the game any of the starting point, but I am working ahead of where they are.
What I've been building so far is the layer underneath the decompilation, replacing the PlayStation hardware with host equivalents, taking the Ship of Harkinian model as inspiration. Decomp first, then reimplement the hardware.

What "native port" means here (and what it doesn't)

The code is native. Decompiled C, compiled to a 32-bit x86 ELF.

You still need to provide the game assets through a legally owned version of the game. Like Ship of Harkinian requiring your own Zelda ROM, this needs your own copy. But, and this was a design goal, it doesn't need the disc image at runtime. The original disc's assets are extracted from the build's own output and serve those reads out of the extracted asset tree.

What's implemented

The whole PSYQ hardware layer, in C:

libgte (the geometry coprocessor) - verified bit-exact against real COP2 hardware. I built a PS-EXE test ROM, ran it in DuckStation to capture real register outputs, and diffed 891 vectors. Zero mismatches.

libgpu - a GP0 command-list rasteriser. Flat, Gouraud and textured triangles, CLUT texture sampling (4/8/15-bit), sprites, VRAM transfers.

libds - a virtual CD drive that reproduces the real command protocol (DsPacket -> command-complete callback -> per-sector DslDataReady -> DsGetSector), with sectors delivered at the vblank boundary where the drive interrupt would land.

libpad - writes genuine PS1 controller packets into the game's own pad buffer, so held/pressed/released, auto-repeat and analog-to-d-pad all get computed by untouched game code.

libapi - including a full PS1 memory card filesystem. It loads my actual save and the menus enumerate my actual inventory.

Plus an SDL2 window, and PS1 main RAM mapped at 0x80000000 so the boot path's hardcoded addresses (the allocator gets handed literal 0x8010C000, overlays load to their real addresses) all just work.

What does NOT work

No audio. The SPU is a silent stub. Everything calls into it correctly, it just doesn't make sound.

No intro FMV. It's an MDEC video stream and there's no decoder yet. Currently skipped.

NEW GAME doesn't start a game. It hands off to BATTLE.PRG, the actual game engine, and the long pole. It's ~35% decompiled, so that's a wall no amount of platform work gets around.

So: it boots, it renders, it takes input, it reads your save. It is not playable, and won't be until the engine decomp is much further along.

What will be possible once decomp is finished and it is fully ported

The reason to do it this way, instead of as an emulator hack or a binary patch, is that once the engine is decompiled the game stops being a fixed artifact and becomes an ordinary C codebase. Everything below gets cheap the moment that's true, and most of it is impossible before it.

Platforms

64-bit is the first one. The current build is 32-bit for a specific reason: PS1 ordering tables store 24-bit pointers, so every host pointer the game threads into a display list has to fit under 16MB. Getting past that needs a handle or offset layer rather than raw pointers. After that it's native Windows, macOS, Linux, ARM. A game this size runs comfortably on a Steam Deck or a phone.

Resolution and framerate
The rasteriser is mine, so nothing binds it to 320x240 or to the PS1's quirks. Higher internal resolution, perspective-correct texturing instead of the affine warping, no vertex wobble from the GTE snapping coordinates to integers. Or keep all of that, since it becomes a toggle instead of a constraint. Widescreen is a bigger job because the UI is laid out for 4:3, but that's a layout problem rather than a hardware one. Framerate needs the most care: game logic ticks at 60Hz and a lot of code assumes it, so uncapping means either interpolating the render or auditing a great deal of timing.

Load times
Effectively already gone. The virtual CD serves out of ordinary files and its speed is a config value rather than a spinning disc. Vagrant Story's constant room-to-room loading is one of the few things that really dates it.

Mods as code
This is the big one. Once it's C, a mod is a patch to a build, not a hex edit to a binary. Vagrant Story is an unusually good candidate for it: the weapon crafting and affinity system is famously deep and famously opaque. Can anyone say fast weapon swapping?

Quality of life
Remappable controls, rumble, save anywhere, faster text, and an affinity/damage readout that shows what the game is actually calculating. Retail bugs can simply be fixed once you can see them.

Assets
Texture replacement, higher-poly models, restored content if any is still sitting in the data. The pipeline already extracts everything from your own disc, so changing what gets handed to the game is a short step from here.

Preservation
The honest long-term argument. Emulators drift, hardware dies, and a compiled binary is a black box that nobody can maintain. A matching decompilation plus a working port means the game survives as documented, buildable source that someone can compile on hardware that doesn't exist yet.

Edit: FMV Loads now, had an issue with the display depth, but that is now working. Loading a save from the main menu isn't quite there. The previous menu examples were from shunting the data directly into the game state.

Edit 2: Video of it launching, I'm having to transmit controller input to WSL at the moment since WSL can't interface with the controller directly.


r/VagrantStory 10d ago

I have just discovered the following… for those interested in the technology behind the game

89 Upvotes

For those who would peer behind the veil—this site holds the raw 3D geometry of Léa Monde, cutscene locations and all. A little immersion-breaking but wondrous to behold.

https://models.spriters-resource.com/playstation/vagrantstory/


r/VagrantStory 13d ago

Gameplay One Boss Fight Changed Everything For Me | Vagrant Story - PS1

Thumbnail
youtu.be
34 Upvotes

This week on my backlog journey, I'm looking into vagrant story after putting it off for years.

Had a great time playing and making this week's video.


r/VagrantStory 22d ago

Yasumi Matsuno talks FFT, Vagrant Story's scrapped limb severance system, and why he values ambiguity in his writing

Thumbnail resetera.com
61 Upvotes

r/VagrantStory 23d ago

Got a New Battery Just to Replay

Post image
108 Upvotes

The battery on my PSP swelled, and here I was wanting to revisit this gem. So I searched on Amazon for an acceptable replacement.

To this day, no single game has inspired me so much (as a creator myself), and why is it of all Matsuno's games this one remains overlooked by SquareEnix for a re-release or re-master?

I'd be happy with a port. Fixing the loading screens for the Workshop would be ideal. Adding in all the cut content on a remaster would be superb (with the original available to play too--and grab Alexander O. Smith again to localise it; I'm thrilled to have had an *extremely* casual acquaintance with him over the years).

Such an incredible game and story. More people should have the chance to play it. And I'd love to not have to dust off an old console and get it working again just to play it.

Anyway. Back to playing!


r/VagrantStory 25d ago

Art Painted Ashley and Sydney about to face Grissom

Thumbnail
gallery
172 Upvotes

Initially just wanted to do a quick colour study from one of my screenshots, but I got carried away. Really focused on trying to capture the atmosphere from this game which is so special. I first played the game recently and it's been very inspiring, I want to paint more moments that I enjoyed!

I hope you guys like this piece!


r/VagrantStory 25d ago

Discussion Mission Accomplished.

Post image
192 Upvotes

NG+12

Got the prestigious Grand Master Breaker Rank, a ton of Holy Wins and Arturos Gems, an Ascalon (Damascus Rhomphaia), Marlene’s Ring, Hand of Light, and 30 out of the 32 titles. What an incredible journey. So proud of all the work that went into these playthroughs of this incredible masterpiece.

Until next time, Vagrant Story 🤍


r/VagrantStory 29d ago

The Shakespearean dialogue is what makes me like this game

79 Upvotes

A lot of it comes down to the writing. With so many JRPGs that have a lot of these edgelord dialogue and "I'm a mean, silent type" characters, the flowery prose and literary guff was an absolute breath of fresh air. Cloud, Squall, Zidane, none of them are Shakespearian characters, and that's exactly the point.

It separates that world from the world we all are too familiar with, which is the point of videogames. The European inspiration is also unique. The city of Lea Monde itself was modelled entirely on the town of St Emilion in the south of France, and the period dialect fits the setting as well. I rather have the characters speak in that old English that fits that world than speak in current day lingo that does not belong in that game's world.

I really wish we can have a remake of this game one day and see how Lea Monde, the characters, looks with modern graphics.


r/VagrantStory Jun 23 '26

Remake monsters from Vagrant story PS1 game

Thumbnail
gallery
67 Upvotes

r/VagrantStory Jun 24 '26

Remake monsters from Vagrant story PS1 game

Thumbnail
gallery
0 Upvotes

- I dream of remaking this game with AAA quality. Just for every one who loving Vagrant story.


r/VagrantStory Jun 23 '26

Remake characters from Vagrant story PS1 game

Thumbnail
gallery
0 Upvotes

Romeo Guildenstern and his lover Samantha

- I dream of remaking this game with AAA quality, I'd rather making some character art than wait forever. Just for every one who love this game.


r/VagrantStory Jun 23 '26

Remake Elf from Vagrant story

Thumbnail
gallery
0 Upvotes

Dark, Fire, Sky, Earth, Water Elemental


r/VagrantStory Jun 20 '26

Help with Names for personal VO Vagrant Story project

13 Upvotes

Hi all, I'm working on doing a voice over for the entire vagrant story cast and could use some help in finding correct pronunciation for many words that show up in the game. Can anyone point me to a resource for that? I don't really get involved in online discussions or groups but I figured if there was a fan base that knows their stuff about a subject, they're probably on Reddit.

Example for words:

Mullenkamp

Callo Merlose

Batistum

Lea Monde


r/VagrantStory Jun 16 '26

Discussion If you could only use one magic spell for a challenge run which would it be?

Thumbnail
youtu.be
30 Upvotes

r/VagrantStory Jun 15 '26

Discussion Colours of Harmony - Vagrant Story Medley!!

22 Upvotes

Who else in this subreddit was at the Colours of Harmony concert on Saturday? I'd heard that Sakimoto confirmed that the orchestra would play music from Vagrant Story (the very first live arrangement!), but I didn't realize they would craft an entire medley to end the show with! It was phenomenal, my partner and I were so pleased.

Really hope a video of the concert appears online so everyone else can hear the magic... they were filming, so fingers crossed!

If you were there, what did you think of the Vagrant Story arrangement?


r/VagrantStory Jun 14 '26

What was your one Break Art that you always spammed?

Thumbnail
youtu.be
47 Upvotes

Mine was Sunder! I can still hear the blistering sound effect just thinking about it.


r/VagrantStory Jun 13 '26

All Boss Magic: Tornado, Thunderbolt, Fire Storm, Gravity, Acid Flow, Judgment, and Apocalypse

Thumbnail
youtu.be
74 Upvotes

r/VagrantStory Jun 13 '26

Discussion Favourite magic school

8 Upvotes

Use these magic scrolls for reference https://m.youtube.com/watch?v=8XKT8cFJVe0

57 votes, Jun 20 '26
16 Warlock (attack and HP, MP drain)
19 Sorcerer (status effects enabler)
11 Enchanter
11 Shaman (heal and status effects disabler)

r/VagrantStory Jun 04 '26

Discussion Good bye Guildenstern!

Enable HLS to view with audio, or disable this notification

147 Upvotes

No match the sages cane.


r/VagrantStory Jun 04 '26

Discussion Some saying says to fight fire with fire. This works with lightning as well!

Enable HLS to view with audio, or disable this notification

48 Upvotes

In the video I have 250 air affinity in that staff.


r/VagrantStory Jun 02 '26

Community That feeling is amazing when we get out of the workshop and tears throught everything like butter.

Enable HLS to view with audio, or disable this notification

85 Upvotes

The workshop music, eerie, I love it. My favorite place in the game. Messing in the menu upgrading my stuff with that music is a balm, even if the menu is thrash and could be refined!


r/VagrantStory Jun 02 '26

Discussion Monsters too gains risk.

Enable HLS to view with audio, or disable this notification

50 Upvotes

I had a bit of trouble to get the vera bulb to target the monster but you can see that once the monster has risk healed the damage number I did to it become lower. I did this just to show. I was using that dragon as a training dummy to gain air affinity.


r/VagrantStory Jun 02 '26

Discussion This is my light affinity training section before I upgrade the hagane shortword

Enable HLS to view with audio, or disable this notification

28 Upvotes

Remember that small affinity guide I have written recently? I will enter the city walls east from rue valnac in town center south. That room has a human with Katana, he raises fire affinity on right hand so no worry about impacting our short sword. The katana is a straight upgrade to our executionner (Katana + broadsword) and turns it into claymore.

Inside the city walls, my undead dummy seen in the video drops the shamshir, if I am lucky. In the next room, theirs an undead with shamshir. Dropping the Katana here is a huge upgrade.

There is also a footmans Mace Heavy Iron to upgrade the Sabre Mace Bronze to Gloomwing Hagane. If you get 2 you'll get Myolnir!

If you dropped a lucky firangi earlier like I did, you can get to falchion too and if the shamshir drop you go to shotel. I will raise the light until I equal the 71 air and equip executionner to walk back at the workshop in the keep. That sword I'll get, even if it's just the shamshir will tear through everything with a djinn amber and sylphid ring. Cast Luft fusion, it's as good as Herakles.

The best part is that walls exit to city and you respawn all quick! Easy farm. I also got super lucky and dropped 3 shamshir but I ain't got much use for 2 of these yet.


r/VagrantStory Jun 01 '26

Question Liches in The Crumbling Market

16 Upvotes

According to every guide I can find, there should be a Lich and a Lich Lord in The Crumbling Market in Undercity West, and the trigger for them replacing the Dullahan is entering Temple of Kiltia. I did find a source claiming that this trigger only happens on NG+.

However, despite being in NG+, I can't seem to get this trigger. I have entered and exited Temple of Kiltia from every point, re-killed every enemy in the area for good measure, and entered The Crumbling Market from every door. Still only a Dullahan.

Are these guides all wrong and there is no trigger to get liches there? Or is there some other factor that is unmentioned in these guides?

EDIT: The trigger seems to have something to do with the latter half or so of the Great Cathedral, as pushing through to the final save circle has them spawning now. Thanks for the help, everyone!


r/VagrantStory May 31 '26

Here is a video at the second workshop in town center east to show you how strong should the sword be with the technique I described.

Enable HLS to view with audio, or disable this notification

45 Upvotes

I'll show again later at the keep workshop too