Princess Maker 2 is a famous game in Japan, and it's been widely ported. Basically, you have to raise a child to be a princess, and she can become a heroic warrior, champion artist, or any number of possible outcomes. It is a "raising simulation" game with simple RPG elements - it contains adventure sections where the princess can explore various maps and find enemies to battle and treasure.
Recently, there have been re-releases on Steam that feature an English translation. There is also an old (leaked) English translation of the DOS version. The DOS version is particularly interesting for translation purposes because the game's internal scripts are not compiled to bytecode - they're simply loaded as plaintext into memory and interpreted. This makes dumping the script easy - you simply read the game data directly from a DOSBox memory image. Unfortunately for hacking purposes, the Saturn version seems to use compiled bytecode. Maybe for this reason, I've struggled to figure out how to manipulate its pointer tables.
The Saturn and 3DO versions are somewhat special, they feature smooth scrolling (!!!) which the PC-98 original and subsequent ports lack, voice acting, as well as redrawn graphics, which are a matter of taste. More colours, but lower resolution.
Anyway, the Saturn version simply encodes text as Shift JIS (see my Virus thread for information on dumping the script from Shift JIS games on a Unix-like system), and even supports ASCII! So it's easy to hack. However, there's a problem - while menus and game interface components handle ASCII text just fine, when it's inserted into dialogue, the game crashes. I suspect this has to do with the various ASCII plaintext control sequences used in the dialogue. These sequences are probably used to play voice samples, since they're missing from the home computer versions. I've yet to figure out a way around the crashing.
So, at the moment, my hacking mostly focuses on translating the menus, interfaces, and item/NPC names. I would consider it playable to completion using a walkthrough for the English DOS version, but obviously, you're missing out on the characterization and plot.
Recently, there have been re-releases on Steam that feature an English translation. There is also an old (leaked) English translation of the DOS version. The DOS version is particularly interesting for translation purposes because the game's internal scripts are not compiled to bytecode - they're simply loaded as plaintext into memory and interpreted. This makes dumping the script easy - you simply read the game data directly from a DOSBox memory image. Unfortunately for hacking purposes, the Saturn version seems to use compiled bytecode. Maybe for this reason, I've struggled to figure out how to manipulate its pointer tables.
The Saturn and 3DO versions are somewhat special, they feature smooth scrolling (!!!) which the PC-98 original and subsequent ports lack, voice acting, as well as redrawn graphics, which are a matter of taste. More colours, but lower resolution.
Anyway, the Saturn version simply encodes text as Shift JIS (see my Virus thread for information on dumping the script from Shift JIS games on a Unix-like system), and even supports ASCII! So it's easy to hack. However, there's a problem - while menus and game interface components handle ASCII text just fine, when it's inserted into dialogue, the game crashes. I suspect this has to do with the various ASCII plaintext control sequences used in the dialogue. These sequences are probably used to play voice samples, since they're missing from the home computer versions. I've yet to figure out a way around the crashing.
So, at the moment, my hacking mostly focuses on translating the menus, interfaces, and item/NPC names. I would consider it playable to completion using a walkthrough for the English DOS version, but obviously, you're missing out on the characterization and plot.
Last edited: