- You may be looking for System Goddess.
System is a series of OS/VM hybrids that was designed by Alice Soft to cope with porting their games across different computer platforms. This was especially important in the early days of Alice Soft's history, when there were multiple prevalent families of computers (PC-98, x68k, FM-Towns etc) competing on the Japanese PC market. A similar strategy was used by other developers at the time, such as Infocom's famous Z-Machine interpreter.
With the eventual dominance of IBM PCs and Microsoft Windows, the role of System became relegated to just a programming platform that serves as a nice abstraction for the game designers. Starting with System 3.5, only versions for the Windows environment have been officially released. However, due to the original design of the System series and a publicly-released API set, it is possible to port major versions of System to other platforms (such as Linux). By merely porting System, all Alice Soft games compatible with that version of System are automatically ported as well.
System 1-3.X code is a labyrinthian collection of single-character commands from the Latin alphabet (System 3.5 added two-character commands, drastically improving its capabilities). For examples on the simple side of things, "R" is a newline character, whereas "G 12:" would display graphic #12.
System 4 code follows the structure of C++, Java, and other contemporary languages.
The System 1 interpretor was introduced with the release of Little Vampire, back when Alicesoft was still ChampionSoft.
The interpreter operates under the assumption that it is being used to create visual novel-style games, embodying this by taking on book-related terminology: the code's files are "pages" that include "verbs" and "objects." The code takes several shortcuts that make creating more complicated products an uphill battle. For example, the game relies on the interaction between verb:object pairs, where the player selects a verb from the menu, followed by a target object. This is the architecture's default form of interaction, and any other experience requires additional footwork on the part of the programmer.
System 2 saw a number of new upgrades, as well as a gradual shift towards more traditional variables, such as the existence of a 10-item stack of string variables, support for division (which does not appear to exist in System 1), and the gradual standardization of an "Extend" command that could be used to provide new features without upgrading the entire System software. The Extend command had been introduced in System 1 but varied wildly from title to title.
- Rance 3
- Prostudent G: Has the unusual distinction of being a System 2 title on floppy, but a System 3 title on CD. The demo of Ayumi Chan's Story is in a similar situation, being a System 2 product demoing a game that was released on System 3.
System 3 continues the trend of upgrading the architecture towards more standard programming practices, greatly expanding the architecture's command set, introducing RGB on-the-fly color modification, and a set of variable stacks. It also saw early CD support, support for PCM and CD music, and system clock operations. The iteration also saw a considerable degree of bloat, introducing over fifty Extend commands over its lifetime alone.
System 3.X (which starts with System 3.5 and continued up to System 3.9) was a major upgrade to the System architecture necessitated by the development of Kichikuou Rance, which became too complicated for the restricted and irregular System 3.0. While Alicesoft had been planning a proper upgrade to System 4, the powerful additions from System 3.5 carried the product along for another six years without any major changes. Despite its ".5" version number, it was the largest and most significant update for the architecture to date.
System 3.X disposed of the verb:object system restrictions that were still lingering from System 1, unlocked the game's variables from various restrictions (such as the limit of 10 strings discussed above), included most missing mathematical operations (exponents, modulus, bitwise AND, OR and XOR (though not bit shifting), as well as <=, >= comparators), and replaced the multiple but extremely weak stacks of System 3.0 with a single, powerful stack. 3.5 also expanded the architecture's command set with new, standardized commands that not only gave the programmer more power over the existing options, but allowed them to do away with the bloated Extend command, which remained in only a few instances that were marked as depricated in subsequent revisions. Over its lifetime, System 3.X also saw the addition of DLL libraries to help expand its capabilities, though this saw only limited use prior the introduction of System 4.
As Alicesoft wanted to capitalize on the newly-dominant Windows PC market, they re-released many of their popular titles on System 3.X, such as the first four Rance games.
Unlike past versions of System, System 3.X's SDK was publically released, starting on collector's CDs, leading to a wide variety of tools such as resource extractors and decompilers. This public release is heavily responsible for the early fan efforts that brought Alicesoft titles to the west, as it allowed for easier translation of remake titles like Rance 1-4. Fan-made ports of System 3.X even exist for X Windows systems (Unix/Linux), see below.
System 4 is the most recent incarnation of the "System" architecture, and the one used by Alicesoft to this day. Like System 3.X, it was released to the public, including the (Japanese-only) System 4 IDE. System 4 quickly evolved to System 4.2, where it remained for many years, and only recently received an upgrade to System 4.3. The System 4 VM DLL is backwards compatible, and can even be moved to previous projects, like the MangaGamer 1.07 patch for Sengoku Rance, which updates the game from 4.2 to 4.3.
System 4 uses a C++ style programming, and is actually much simpler and arguably weaker than System 3.X on its own, but its readability and ability to interact with DLLs is more complex (including DLLs written in C++ instead of just C), which allowed it to expand far beyond its predecessor.
In the architecture's first decade, Alicesoft also built up a reliable code bank that could be easily re-used (unlike System 3.X code) and updated in new products without the need for a major language update. The most frequently used library is the Asra library, seen in nearly all Alicesoft titles beyond a certain date and almost indistinguishable from System 4 in the modern day. The Asra3 library supplants or sometimes joins the original Asra library for Alicesoft's 3D games.
See also Edit
- Japanese Wikipedia article on System 3
- Japanese Wikipedia article on System 4
- Resources (English) - Blog post linking free programs and manuals for programmers or localizers.
- Port of System 3.5 to X Windows System (Japanese) - Actually it's good for the 3.x family in general, except it can't play opening movies.