Anonymous asked:
How difficult is it working with the different VN engines? Is there not a standard for what engine to use?
Some are easy, some are tricky, some are impossible. It's not like Western-made VNs, where they're the product of a niche culture with only one real creation tool at their disposal. Japanese VNs use a decent variety of engines, and they all have different quirks to them.
KiriKiri2 is the engine that most Lilith games used, right up through TY2. It's about two decades old now—you may recognize it as the same engine used in games like Fate/stay night. As such, it's been pretty thoroughly cracked. The newer version, KiriKiri Z (used in Kurenai and Ochiru Hitozuma Animation), is harder to deal with, and for a time, your only option for patching it involved a confusing, buggy program with instructions written in Chinese. Lilith then changed to Artemis, for no apparent reason, and it works completely differently inside. And then finally, they switched to Vinos Player, which appears to be a proprietary engine, custom-made to convert KiriKiri2 code into useable HTML.
To compare, here's a difference between them. None of the first three engines can do word wrapping. There are some scraps of code, made by an old translation group, that I can stick into KiriKiri2 games to make them wrap properly. KiriKiri Z games don't seem to have anything like this, and I have to do all the word wrapping manually. Artemis, as I figured out by accident, has an interesting property where any phrase that has ruby text (which is to say, furigana above a word) gets treated as a singular entity, and shifted to the next line if there isn't enough room. So, due to the choice of fonts in TA0, and the formatting differences they caused, I had to devise a macro to encase just about every word in ruby code, while breaking after some punctuation marks, but not others.
I've also tried to work with other engines where either the necessary tools don't exist, or they don't work. I tried a Black Rainbow game, for instance, and couldn't extract anything useable from it. Some of them I've kind of half-figured out, but they're incredibly awkward. I really want to find a good means of patching UTAGE games, other than crappy text hooking. And it took me a long time to figure out how to successfully make a test patch for Djibril, in the QLIE engine. On top of these things, there are notorious issues that you have to deal with when replacing Japanese text with English text. In some games, the spacing goes haywire, and the game is left very hard to read. And depending on the engine, basic punctuation may have to be avoided. In fact, in some engines, even using a comma is enough to make the computer ignore the whole line of text, so working around these things can get very awkward, very fast.