Just curious what the oldest game is that you’ve played, and whether you enjoyed it or not. I’m less interested in the technical experience, so you can use the original release date, even if you played a more modern implementation.
For me, Fate/stay night just barely beats Clannad, by a few months. Both were released in 2004, and both show their age a little bit (Clannad in its convoluted branching, Fate in its resolution options), but are perfectly playable. But of course both are super popular classics, so I wonder if you all had similar experiences with more obscure or older titles.
This is the exact reason I started using the AUR version as ONScripter’s exclusive fullscreen does not work in wine, I also played half of Tsukihime not realizing you could use
1
,2
, and3
on your numpad to change the text speed or change the game volume or even use page more (which is a delight during certain scenes).It’s nice when it works, but looking back at TRianThology, I’ve realized that the Linux build of ONScripter kept finding the wrong color profile for png files, and so the game flashes green constantly. It’s pretty unplayable. I could only get it to work by running the Windows build of ONScripter through WINE. And yeah, this was the AUR version with the two patches.
And, unfortunately, the Sono Hana games don’t use the NScripter engine. I think they might use the KiriKiri2 engine?
could be depending on the period those games were released, KiriKiri is definitely an interesting beast as you can’t really interpret the KAG scripts directly as there are dozens of plugins that modify the things available in it due to the interpreter for it being written in TJS and that being interpreted by kirikiri. for F/SN I know of https://fatestaynight.vnovel.org/ but that uses an interpreter specifically written for it.
What I can say is that you should be able to extract the .xp3 archives with AETools (I don’t know why; but this single program is a godsend for extracting VN assets).
Another thing is KiriKiriSDL2 which is a port of KiriKiriZ to SDL2 with goals of supporting platforms such as linux and webassembly; but last I heard the project wasn’t ready for running games like Fate.
That’s pretty cool. I know next to nothing about engines (Ren’Py seems nice), so this was enlightening. I know a group rewrote several of the Sonohana games in Ren’Py while working on their translation so it would work cross-platform.
Is this what you’re referring to? It’s written in Pascal…! This is not promising:
Ren’Py is a really interesting beast as it aims to make things easier to develop for and is a really good cross-platform solution. It also is trivial to extract and modify and we can use the tools already on our system to do so, the downside to Ren’Py is that it is not nearly as flexible as kirikiri due to it’s nature (and it doesn’t need to be; most things are already baked in).
I do like the fact that they ported the game to Ren’Py and I appreciate their effort to rewrite the game’s script, there’s very few groups that will ever go through that effort just because of the amount of work involved.
yes, it’s a bit unsettling; but newer VN engines tend to use more common filetypes and AETools is written to deal with the older engines that just don’t have a lot of easily available tooling for them, especially on the extraction side. I haven’t seen any other extraction tools that work this well in wine and a lot of these older formats are archaic and tend to have very little in the way of documentation and even less in english (ONScripter only has this because of the VN translation community and KiriKiri has no good resources at all)
I’ve been seeing a lot of Ren’Py games lately. All the Ren’Py games I’ve played feel nice, so I have no complaints. I think the very first Ren’Py game I played was Save the Date, which I really liked. The most recent one was The Expression Amrilato, another release from MangaGamer which has a native Linux build. The main Ren’Py developer is actually being funded quite sustainably, which is good to see.
Are you a developer? You’ve got quite the encyclopedic knowledge on VN engines.
It’s a crazy amount of effort, I imagine. These games are pretty short, though (~4 hours?). I don’t know exactly why they rewrote it in Ren’Py. It might have been for a cross-platform release, or it might have been to make it smoother, or for all or none of those reasons.
These Sono Hana games don’t have .xp3 archives, but Dracu-Riot does, so I do own a KiriKiri game. The SonoHana games have MGD and MSD files. I don’t know if this page or any others on this site would be interesting to you at all.
I don’t know if this is something I can even approach right now. I wouldn’t know where to start. If I extract the .xp3 files with ae—then what? I admit this is all interesting at the very least.
Ren’Py has been consistently good and open so it just became the standard now (much like KiriKiri and NScripter before it), we might very well see it be replaced eventually; but I don’t think we’re going to get a competitor real soon doubly so when considering it has made western visual novels viable thanks to it’s great english documentation.
not professionally; but I do have quite a bit of knowledge and experience of poking at systems and hacking things together using whatever tools at my disposal, and when I started getting into visual novels (very much thanks to Fate) I wanted to know how it worked behind the scenes, I also had some technical knowledge at the time poking at Ren’Py a little; but that was of no help as Fate/Stay Night uses kirikiri and it’s archives were unextractable with the tools I had (which is how I stumbled across AETools)
4 hours is really short from what I’ve come to realize and I can’t imagine there are too many flags and branching paths to keep track of so it would be trivial compared to something like the original Tsukihime which has a script file of 4.5MiB (encoded in SHIFT_JIS so vim didn’t even know how to display half the characters) which has 5 routes, a whole bunch of branching paths and flags it keeps track of, and way to many dead ends you’ll run into without a guide because of a wrong choice you made half an hour ago and vndb lists it as 42 hours (those are some real fast readers).
I’d give it a shot with AETools first, unless it’s on a custom engine for those games specifically or something used for like 5 games in total it should work.
The .xp3 files are just archives, they contain various files and what those are and where they are depends on the game, Fate/Stay Night: Réalta Nua Ultimate Edition (A community version of the game patched with all sorts of goodies from various releases) has files to load assets from the PSVita release which are stored in their own archive. You’ll have to explore the extracted files yourself (I recommend doing so in whatever file manager you have as the AETools file preview sucks ass) you’ll quickly find the file structure though as it is made to make sense. The big thing I learned is that this is a process of trial and error (largely the latter for me) and when your approach doesn’t work out try a different angle and throw more stones at the window until you find the brick that breaks it.
Personally, I don’t want to see Ren’Py replaced unless it’s by a better free software project. I think it’s good that a lot of VNs are being built on a free software engine today, and that the developer is able to make a living off doing development for it. It’s even better that it’s seeing adoption globally, not just in one region.
Fair enough. I’d say I’m much the same, but I probably don’t poke as deeply as you. Thank you for sharing this knowledge with me! Honestly, I’m sure I would have never come across it on my own. Reverse engineering is something I’m interested in but is going to take me a while to get any good at. This might be an interesting place to start.
Yeah, those games aren’t very complicated, and the routes are short. Or rather, they aren’t really routes. You get some alternative dialogue for a scene and that’s about it, at least for the earlier games. To be honest, I’m not a fan of VNs with a lot of routes. I’m mostly in it for the story, so I love Kinetic Novels like Higurashi and Umineko (though technically they’re a challenge to the player, so there is a ‘game’). I do want to play Tsukihime one day.
How do you even get SHIFT_JIS working in Vim/Neovim? Did you use an alternative editor? Or did you just install the SHIFT_JIS locale from Broken Dragon and run vim with
LC_ALL=ja_JP.sjis
?I initially delayed responding to you so I could get around to trying this out, but I haven’t gotten around to it. It’s got files like VOICE, MGD, MSD, BGM, DATA, and SE. No file extensions. VNDB hasn’t recorded the engine, so it doesn’t seem like anyone knows. Maybe I’ll find out.
I generally use LF as a file manager, haha. But Nautilus would do, I’m sure. Thanks for all this. This is a pretty interesting conversation, so I’ve recorded the relevant bits into a document somewhere in case I have need of them later.
really good VN, I loved it (especially the far side routes which isn’t an unpopular opinion) it has it’s rough edges, but if you can manage to look past those you get something truly amazing. I don’t know if I mentioned it earlier but I do have this thread which goes over where you can start reading, a big thing to keep in mind though is that the translation for the original VN is very much one by fans for fans (even though it’s been cleaned up quite a bit on the readtsukihi.me version) and that some things may not make a lot of sense due to how well the translation works and some things in the original VN (damn you SHIKI).
at the time I had emacs installed which would open the file; but that wasn’t really a good option as I wanted to split the script into individual blocks using a rust program and decided the easiest route was convert from SHIFT_JIS to UTF-8 and replace
¥
with\
(it made sense to use the same byte)Hmm, at this point I’d look at the file headers using a hex editor to see if there are any magic bytes (readable as ascii text) and see if that gives me anything. maybe also see if there are any additional resources packed into the .exe file (you can open those with any archive manager or the
unzip
cli tool) and see if there are any files that can help trace what engine it is or who made it. another thing you can try is to run the binary throughstrings
to see if there is any text inside it (although I don’t know how well this works on windows binaries) and finally (although this will be quite a bit harder) is to use something like Ghidra to look at the assembly and decompiled C code; but that’d be something you best keep as a last resort.No problem, it’s refreshing to be able to talk about this with someone after spending hours of my time acquiring knowledge trying to extract sexy vampire sprites.