|
|
Xim: Browser-based Client Simulator
Server: Asura
Game: FFXI
Posts: 16
By Asura.Moduhry 2025-12-31 01:06:21
Cleared zone boss and, finally, Shockmaw, after like 100+ attempts and after rank 30'ing my swords. Only 3 HELMs left! (I think - still have to find out if there's a way to use the KIs)
A few minor fixes/QoL, if of any interest:
- Gil at the Shopkeep seems to begin functioning strangely around Escha unlock stage; I'm able to buy a large amount of meld stones and gil will sometimes not change, or even increase.
- Some stats aren't showing in yellow once past cap (e.g., Subtle Blow is still white above +75)
- Item sets (outside of combat) would be really nice QoL to explore weapon builds (e.g., physical-WS vs. nuking augments).
[+]
Leviathan.Draugo
Server: Leviathan
Game: FFXI
Posts: 2877
By Leviathan.Draugo 2025-12-31 09:33:18
This is such a cool project! kudos! I have only messed with it a little bit, but is there a way to get a controller working for this? KB is awkward for me.
[+]
Asura.Aamace
Server: Asura
Game: FFXI
Posts: 16
By Asura.Aamace 2025-12-31 12:06:49
A few minor fixes/QoL, if of any interest...
Thanks for this! The gil thing was a display issue, oops. Should be fixed now (along with the bonus text).
I'll take a look at finishing the equipment-set implementation. I think there wasn't that much left to do.
This is such a cool project! kudos! I have only messed with it a little bit, but is there a way to get a controller working for this? KB is awkward for me.
Thank you! I'll add gamepad integration to the list - I can't guarantee it'll get done, but it looks interesting to try.
[+]
Asura.Aamace
Server: Asura
Game: FFXI
Posts: 16
By Asura.Aamace 2025-12-31 17:16:42
Added gamepad support (the browser API is surprisingly simple)! It can be enabled under the "Gamepad" settings on the left. I've only tested it on desktop Chrome/Firefox, using a PS4 controller, so it's marked as "experimental" for now.
By Cpu 2026-01-06 01:46:39
I'm not sure that advertising this app as a browser-based client simulator was the best way to announce what you've actually created here, which is a single player version of FFXI that balances nostalgia with a fairly challenging and interesting gameplay concept.
This is honestly an amazing achievement, and I think that the only reason that you're not getting more of a response is that people assume that this is just a model viewer as opposed to an entire self-contained game.
Other than the rebranding suggestion my only request would be that you implement some type of NG+ mode where the enemies have increased stats, etc. It would probably become too difficult to continue with at some point, but figuring out where that breaking point is would be part of the fun.
Cerberus.Balloon
Server: Cerberus
Game: FFXI
Posts: 441
By Cerberus.Balloon 2026-01-06 09:26:00
I'm not sure that advertising this app as a browser-based client simulator was the best way to announce what you've actually created here, which is a single player version of FFXI that balances nostalgia with a fairly challenging and interesting gameplay concept.
This is honestly an amazing achievement, and I think that the only reason that you're not getting more of a response is that people assume that this is just a model viewer as opposed to an entire self-contained game.
Other than the rebranding suggestion my only request would be that you implement some type of NG+ mode where the enemies have increased stats, etc. It would probably become too difficult to continue with at some point, but figuring out where that breaking point is would be part of the fun.
Shared this point with Aamace too. The first thing I thought when I saw the title was "Oh, is this gonna be another Spreadsheet turned into a Web App"
I wish this had more attention. Because it's the most fun I've had with something FFXI related in a long time. It tickles a nostalgia part of my brain, while adding some incredibly engaging battles.
[+]
Asura.Aamace
Server: Asura
Game: FFXI
Posts: 16
By Asura.Aamace 2026-01-06 17:44:46
I'm not sure that advertising this app as a browser-based client simulator...
Thank you for the feedback! You guys are right. There were a few reasons I focused on the asset-viewer over the game-mode (personal bias as the developer, lack of confidence in the game design, etc), but it's clear now that it wasn't a good idea from a "marketing" perspective. This is my first public release of a project, and I'm definitely learning a lot from it.
implement some type of NG+ mode...
That's an interesting idea! There are a few things I want to experiment with adding first, but I'll try to loop around to this.
Carbuncle.Bien
Server: Carbuncle
Game: FFXI
Posts: 13
By Carbuncle.Bien 2026-01-14 03:44:19
Read about this on 4-chan of all places, pretty rad implementation of a single player Final Fantasy of Druaga XI. Thanks for this.
[+]
Cerberus.Balloon
Server: Cerberus
Game: FFXI
Posts: 441
By Cerberus.Balloon 2026-01-14 05:22:41
So I finally beat all the content the game currently has to offer.
I've been giving this effusive praise in this thread already, but let me just say again. It is incredible. The fights themselves are so varied, with so many different interesting mechanics. So dynamic feeling. So well balanced.
One piece of advice I'd give to anyone starting is to adjust the UI, eventually you will want to keep track of your buffs and debuffs and I found having it close to the HotBar helps a lot for that.
I've had to vary up my combat style several different times throughout the campaign. Each time adapting to the enemy that I am fighting. This becomes especially important for the T3 bosses in Escha, where the difficulty can be quite unforgiving and you have to be cognizant of the amount of stuns you're given, MP management, and animation locks.
Receiving some of the additional weapon types and abilities at the defeat of the T3 fights in Escha made this even more impressive. Thinking suddenly about how to utilise the specific abilities of each weapon type specifically to the abilities of each NM was great.
I felt constantly challenged throughout, which made just clawing out victories feel even better.
It's also incredibly nostalgic feeling. Some of the fights take you through some of the moments of CoP, ToAU, even the mini expansions.
A whole lot of love was given to this project. It is clear that it is from someone who adores the source material, and has worked hard to improve upon it.
I bought 3 games over the Christmas period. And I spent maybe 10-20x more time on this. The fights felt tight, but forgiving. I would wipe, but each time would see a path forward.
Several times I felt like "How on earth am I supposed to be able to beat this..." just to keep getting n% better each time, refining the timing of things, adjusting my strategies.
Highlights for me: Promyvion Fight, Pazuzu, Shadow Lord final fight, Shark NM, Snoll
I eagerly, eagerly await any future content updates. And I'd go one further, and suggest that you replace the assets with your own and release this as a full game. Obviously the asset creation aspect will be difficult, but this stands on it's own as a piece of good, fun, engaging game design.
Small Bug Report that made things a little easier at the end: If you start a fight with Router, but later change out (In my case to dual swords) then you keep the effects of Retaliation. My routine for Pazuzu would be to get the HP Buff at the start, then swap to swords for raw damage dealing.
Server: Asura
Game: FFXI
Posts: 15
By Asura.Zodiarchy 2026-01-14 10:10:24
Tot I'm not sure that advertising this app as a browser-based client simulator was the best way to announce what you've actually created here, which is a single player version of FFXI that balances nostalgia with a fairly challenging and interesting gameplay concept.
This is honestly an amazing achievement, and I think that the only reason that you're not getting more of a response is that people assume that this is just a model viewer as opposed to an entire self-contained game.
Other than the rebranding suggestion my only request would be that you implement some type of NG+ mode where the enemies have increased stats, etc. It would probably become too difficult to continue with at some point, but figuring out where that breaking point is would be part of the fun.
Totally agree! I played with it and just thought it was a fun little character sim. I will have to revisit it now having read this post!
Asura.Aamace
Server: Asura
Game: FFXI
Posts: 16
By Asura.Aamace 2026-01-14 18:03:58
So I finally beat all the content the game currently has to offer...
Congrats! Thank you for playing, and I sincerely appreciate your review and all of your feedback :)
A whole lot of love was given to this project. It is clear that it is from someone who adores the source material...
Absolutely - I've been playing FFXI on and off since shortly after the NA servers launched. In particular, I've always loved the art direction in this game. I'm still astonished by how the artists managed to create such beautiful particle effects from a set of relatively simple engine instructions. This entire project started from a desire to better understand those effects.
Some of the floors in the game-mode were chosen just to show obscure effects (ex: the shimmery ocean in Bibiki-4).
Small Bug Report that made things a little easier at the end: Thanks for reporting this - Router used to have a different mechanic (focused around Berserk), but I forgot to update the buff-clearing logic when I changed it. Will fix!
---
On a side note, I've published the game-mode on itch.io as well. I'll keep both sites updated.
Leviathan.Draugo
Server: Leviathan
Game: FFXI
Posts: 2877
By Leviathan.Draugo 2026-01-14 19:47:03
So in theory, anyone can create a campaign like you have? If so, is there a guide on how to?
Asura.Aamace
Server: Asura
Game: FFXI
Posts: 16
By Asura.Aamace 2026-01-14 20:58:32
So in theory, anyone can create a campaign like you have?
Yep, that's correct. A couple of users on the reddit thread have experimented with the source code. I'm not currently accepting any pull-requests to the code-base that I personally work on, though, so it would need to be hosted separately (similar to what jakuu did).
If so, is there a guide on how to?
Not yet, but I could put something together. Did you have something specific in mind? Like extending/modifying the current game, or building an entirely new game using the engine?
[+]
Leviathan.Draugo
Server: Leviathan
Game: FFXI
Posts: 2877
By Leviathan.Draugo 2026-01-15 17:34:45
I'm not very tech savvy at all, but that is neat to know the potential is there for others, kinda like an RPG maker heh.
[+]
Leviathan.Draugo
Server: Leviathan
Game: FFXI
Posts: 2877
By Leviathan.Draugo 2026-01-20 20:13:43
Did you have something specific in mind? this is an interesting question, can you inject cutscenes, maybe create alternate dialogs for the characters in the scene also? I kinda looked at the discussion on the reddit thread and saw that some folks are working on multiplayer, which is awesome! this tool/app/ whatever you want to call it has ALOT of potential, idk if you realize that, but this thing has tons of potential!
Server: Asura
Game: FFXI
Posts: 1
By Asura.Clayers 2026-01-21 12:57:20
Really enjoyed playing this through. I've completed everything currently implemented and am anxious for more. Do you have a timeline of when more content might be added?
Cerberus.Mavira
Server: Cerberus
Game: FFXI
Posts: 4
By Cerberus.Mavira 2026-01-21 14:29:27
This was really neat, I sent the link to a few friends. Thanks for this!
[+]
Asura.Aamace
Server: Asura
Game: FFXI
Posts: 16
By Asura.Aamace 2026-01-21 18:28:16
can you inject cutscenes, maybe create alternate dialogs for the characters in the scene also?
If you mean FFXI's real cutscenes, that's the major missing component of the asset-viewer. I didn't attempt to reverse engineer them, but there's some high quality documentation on how they work. I did actually implement a very basic cutscene based on this information (walking through the gate in Hall of the Gods), but ended up discarding that branch.
That being said, it would definitely be possible to make original cutscenes. The game-mode has extremely basic ones (like entering the Cavernous Maw's mouth).
Do you have a timeline of when more content might be added?
Thanks for playing! Unfortunately, I can only work on it during my spare time, so it's hard to provide a timeline. I'm currently experimenting with some side-content, and I hope to release a teaser for it soon.
[+]
Leviathan.Draugo
Server: Leviathan
Game: FFXI
Posts: 2877
By Leviathan.Draugo 2026-01-21 19:58:29
IDK how it works sharing this sort of hard work, combined with using a corporate entities asset, but man it would be cool if there is a way to pen source this more for others to collaborate with it, maybe between github, and a discord server you can create focus on this specific project while also respecting your code/ contribution, and SE's assets also would be a step.
this has such a huge potential to be wildly popular, people could make custom campaigns to enjoy with their friends through the multiplayer works that's been started by others, maybe down the road, a sort of jenky version of an single player and/or offline version of the mainline stories could be created for the crowd that wants a remake, side questing to earn trusts as part of that could be a super cool avenue also.
this tool is huge! you made a RPG maker for XI, i cant wait to see what's built over the next few years as people discover this.
i do agree a sort of rebranding could help it gain traction. its alot more than just an asset viewer, definitely needs more documentation and guidance of how to use the basic back end engine to build campaigns with. really hoping more tech savvy collaboration starts taking hold.
Hello - I'd like to share my hobby project: https://xim.pages.dev/
Feature Summary:
View FFXI assets in a browser-based client simulation
Download the source-code and explore/run locally (under the "Source" header)
Play a proof-of-concept game (under the "Apps" header)
Implementation Details:
Xim:
is a from-scratch implementation, written in Kotlin/JS, compiles to Javascript, and uses WebGL for 3D rendering. It does not use any game/graphics engine.
downloads asset files on-demand & stores them in the browser's cache. Currently, the assets are hosted on Cloudflare (essentially copy/paste of the client installation)
uses copied data-files from LandSandBoat when server-side information is needed (NPC configuration, item->model mapping, etc.)
Source:
The resource-parsing code is mainly under Code src/jsMain/kotlin/xim/resource DatParser.kt is a good starting point for exploring the supported resource-types.
Limitations:
This is not a real FFXI client, it is only a simulation. There's no connection to a FFXI Server (or really any network code at all).
"Client Version" refers to the age of the hosted asset files. Currently, the hosted asset files are from the June 2024 update.
I don't plan to update these files. The project can be downloaded & run locally to view newer asset files.
Reverse-engineering scope: the goal of the project is to be "convincing", rather than 100% accurate
The reverse-engineering process was a mix of DirectX hooks (built using this project), constraint analysis, and (mostly) brute-force guess & check
I did debug the FFXI client a few times (mainly to figure out encryption/obfuscation, and for a few bit-flag fields), but I tried to avoid this because reading assembly is so time consuming
I didn't reference the data-mined debug symbols (didn't know they existed until very recently...)
WYSIWYG!
Audio: due to the complexity of V3 audio files (ATRAC3), all audio files were pre-processed and are served as ogg files.
The code for this is not included in the linked source (since it would require importing ffmpeg).
There's a comment on POLUtils describing almost exactly what I ended up doing.
Because of this, local-project runs will need to download the preprocessed audio files separately (available here)
Cutscenes/Events: I have not attempted to reverse-engineer the cutscene-related assets
Performance: from my testing, the simulation runs best in Chrome (& other Chromium-based browsers)
The simulation should work on mobile devices, but I haven't tested it aside from Firefox on Android.
If you'd like to use Firefox, disabling "Lens Flare" effects under the "Environment" section helps with performance
Code Quality: this is a hobby project that I didn't originally intend to release, so the overall quality is... variable.
This is also my first experience with 3D graphics & game development, so there are certainly some questionable choices/designs
I didn't try to optimize code for performance unless there was a built-in feature (zone-terrain culling, particle batching, etc) or it contributed greatly to latency
Known Issues:
This is by no means an exhaustive list, but here are a few of the most notable:
Particle z-fighting - I couldn't figure out how the draw-order works :/
Collision resolution - FFXI's terrain collision meshes are... challenging. I think I must be overlooking some flags in the collision mesh.
Cloth physics - for example, Aldo's cape. These use vertex-based spring-physics, which was cumbersome to implement in the current setup.
Ships in general - I didn't put much effort into these
NPCs in weird positions/poses - these aren't configured on the client-side, so I didn't focus on them
If you'd like to report an issue, please be sure to verify it in-game first. I have spent hours debugging "issues" only to realize that the simulation is accurate to quirky in-game behavior. I can't guarantee that I will fix reported issues.
Tips & Tricks:
In the asset-viewer mode:
the following keys have debug-related functionality: , . / (speed-up, anti-gravity, collision-clip)
'p' will pause the simulator, and 'space' will set the simulator to 25% speed (this is also available in the game-mode)
using "check" on an actor will display its routines, which can then be selected & executed
fog and draw-distance can be disabled under the "Environment" section. This can be useful if the simulator can't detect a good default entrance for a zone (ex: in "Silver Knife")
the "appearance-state" of the targeted actor can be adjusted under the "Animation" section. This is useful for various NPCs, like toggling auras on Naakuals, adjusting the standing state of maroliths and iron giants, etc
add items to your inventory via the "Items" section. If you add & equip a fishing rod, you can fish if you're nearby water.
many effects are associated with invisible doors. For example, the fountain effect in Ro'Maeve is toggled by Door[_3e6], and can be triggered via check->[evst] (event start), and ended via check->[eved] (event end) ('tab' around the fountain to find the door npc)
other effects (generally cutscene related) can be triggered manually under the "Zone Routines" section. For example, in "Hall of the Gods", the lower platform effect is "wt_s/effe/sc_w/open"
to change the player model to a NPC model, use the "Costume" setting under the "Player Look" setting. This is useful for running mob-skill-animations. For example, B41->Dragon Quest slime and use "Frizz"
there are some dummy monsters at the entrance to "East Sarutabaruta". These can be used as targets for spells, abilities, etc.
under the "Position" section, there's a "Copy Link" button which will place a link in the clipboard that corresponds to your current zone & position
talk to the NPCs at the various docks to make ships appear
In the game mode:
Hold the right mouse-button to strafe (imo, more natural than target-lock)
Avoid binding macros to 'ctrl', since 'ctrl+w' closes the browser window and can't be disabled :/
Mining is optional - the game is balanced around not having accessories
In the equip-menu, hover an empty slot to see the bonus summary window. Mouse-over the bonuses to see tool-tips.
Further development:
I probably won't have availability to develop new features in the asset-viewer at this point. If there's interest, I can improve documentation, though.
The project is licensed under GPL3, so you can fork the project if you'd like.
---
Thanks for taking a look! Feel free to ask any questions.
|
|