LB!:Technical Notes (Sept 2010)
Contents |
[edit] Little Busters! Technical Notes
Geek and Hacker notes from the edge of sanity [TM]
compiled by R23 (or possibly an anonymous imposter) for the Little Busters Translation Effort at #fluffy, possibly an IRC channel, somewhere....
CAUTION! This document is under construction. Most, if not all of the "information" here is sheer speculation, the result of hallucination and is most probably apocraphal. It goes without saying that anything you find here that resembles reality is purely a coincidence.
Disclaimer: The mad ravings set forth here make references to a number of proprietary names, including but not limited to the RealLive brand. Where such names are trademarks, they should be understood to be the property of their respective owners. In particular, the author claims no affiliation to VisualArt's KK, who have not authorised or endorsed this package in any way.
Disclaimer disclaimer: The preceeding disclaimer was ripped off without any attribution from Haeleth. Shame on you, R23!
And now, on with the story...
[edit] Little Busters releases
There are currently at least three different releases of Little Busters!
Release Variant Game ID Little Busters! - LB Little Busters! Ecstasy Adult (18+) Version LB-EX Little Busters! Memorial Edition All Ages Version LB-ME
[edit] RealLive in a Nutshell
as told by a total nutter
RealLive Bytecode files
RealLive archive (SEEN.TXT); RealLive scenario (SEENnnnn.TXT)
Scenario files (aka SEENs) contain bytecode (a typically platform independent portable format that is an abstraction layer that lies somewhere between human readable source code and machine executable in native binary code). RealLive scenario files are encrypted and compressed before being packed into a single archive file (typically SEEN.TXT). Early RealLive titles were passed through a general encryption scheme, while newer titles may be encrypted further using a game specific key / encryption scheme. The compression scheme utilized is [LZW-77].
The RealLive interpreter will execute individual numbered scenario files if present, or the scenario archive otherwise.
The grammar of the source language in which RealLive based games are written is not currently known although it is quite likely to be revealed in the RealLive demo engine / development kit. It seems very likely that it is an imperative programming language not too dissimilar from C.
[Haeleth] came up with his own source language, Kepago, based on what was suggested by the generated bytecode. Haeleth describes Kepago in his documentation for RLdev 1.39 this way:
- Kepago is a simple imperative programming language in the style of C or Pascal. It was designed as a substitute for the unknown language used by VisualArt's themselves. The reference implementation remains my kpc compiler for AVG32.
*Naturally, the link provided leads to Rldev 1.40 docs which says nothing of the sort. Typical.
Kepago exists primarily for rlc, Haeleth's compiler, so that it can generate equivalent code after the game's text has been translated. As such, it isn't generated with the human programmer in mind. The actual source language that is written by game authors is likely to be much more suited for human programmers. Kepago is not recommended for writing a visual novel from scratch -- it wasn't designed for that purpose.
Bytecode data is typically passed through one or more encryption layers (using a general scheme common to all RealLive bytecode file, and often using a game-specific scheme for newer titles.)
decompressed bytecode files are executed directly by the RealLive interpreter, sans encryption of course.
OK, that was a load of crap but it wasn't funny and took way to long to vomit out. So that enough lying in prose for now. Now let's move on to a more concentrated form of deceit: the table.
[edit] Game Engine Info
Game Engine Version Year Publisher License Platform Japan Only Release(s) RealLive 1.4.6.9 2006 VisualArt's proprietary Microsoft Windows no Little Busters! demo RealLive 1.4.8.8 2006 VisualArt's proprietary Microsoft Windows no Little Busters! RealLive 1.5.2.4 2007 VisualArt's proprietary Microsoft Windows no Little Busters! Ecstasy (LB-EX), Five (RAM) RealLive 1.5.9.1 2007 VisualArt's proprietary Microsoft Windows no Little Busters! Memorial Edition (LB-ME) RealLiveMax 1.6.4.6 2010 VisualArt's proprietary Microsoft Windows yes RealLiveMax SDK SiglusEngine 1.0.0.3 2010 VisualArt's proprietary Microsoft Windows yes Rewrite demo
See also: RasqualTwilight's compilation of known instances of the elusive RealLive game engine.
[edit] Data Files
File Data Directory RealLive File/Extension Siglus File/Extension BGM Audio bgm *.ogg, *.wav, *.nwa *.nwa Misc Data data *.cgm, *.tcc *.tcr CG Image g00 *.g00 *.g00 Voice Audio koe *.ogg, *.wav, *.ovk *.ogg, *.wav, *.ovk Multimedia mov *.mpg *.mpg, *.omv Sound Effects wav *.wav, *.nwa *.nwa Custom Code - *.dll unknown Game Settings - gameexe.ini gameexe.dat Scenario Data - SEEN.TXT, SEENnnnn.TXT scene.pck
[edit] Archive Formats
Archive Contents RealLive SiglusEngine General *.pak *.pak Voice Audio *.ovk *.ovk BGM Audio *.nwa *.nwa
[edit] Haeleth's RealLive Development Kit -- RlDev
The last release of Haeleth's RealLive Development Kit (1.40) in 2006 doesn't handle some new opcodes introduced in these newer releases of the RealLive game engine developed by VisualArt's.
R23 has been secretly working on an unofficial fork of RLDev for compatibility with with these three versions of the RealLive game engine.
In addition, a new tool was written to automate the mapping of an existing translation from the LB fork (LB Standard) to the updated variants (LB-ME and LB-EX).
kprl and rlc have been rewritten in Perl for R23's convenience although he hopes to finalize this unofficial fork of Haeleth's tools in C.
[edit] Haeleth's RlBabel extension (dll)
Little Busters! unfortunately seems to be incompatible with the last release of rlBabel, a dll which helps RealLive lay out translated text with line-breaking, hypertext-like glosses and other goodies.
My first attempt with rlBabel crashed in all 3 game engines. It turns out that the map generator is having trouble locating some of the internals in instances of the RealLive Interpreter that shipped with Little Busters! -- the result is one or more dangling pointers -- which is a common solution for crashing C/C++ programs. Updating rlBabel to tolerate nulls where it expects pointers and to fail gracefully where a non-critical feature cannot be provided rather than crashing is a step in the right direction. I fully expect that an LB-savvy rlBabel is just around the corner.
The rlBabel map generator also has problems with Five (a visual novel by RAM). Incidentally, the game engine is RealLive 1.5.2.4, the same version that comes with LB-EX.
[edit] Game Engine Developments
Caution: this section is highly speculative... believe at your own risk!
Key's next Visual Novel, Rewrite, is being implemented using a "new" game engine called "Siglus".
Whether or not this signals the end of RealLive as we've known it as far back as Kanon and Air Standard Editions remains to be seen. I suspect that Siglus is the VisualArt's game engine of the future but it seems likely that RealLive based games will continue to be developed, in the public domain via the RealLive development kit if not from game studios like Key. Expect that acquiring a license and development tools for Siglus to be pricey and closely guarded as RealLive was for so long. Perhaps RealLive will be offered as a lower price alternative to Siglus.
At first glance it appears to be a variant of the RealLive game engine -- it uses many of the same file extensions and plenty of familiar functions in the new interpreter. Not a whole lot has been exposed regarding this new game engine.
In July 2010, for the first time ever (citation needed), VisualArt's has released (or promised to release) a development kit for RealLive, although it is likely that development kits will only be distributed within Japan. This would be the first time that any official documentation has been made public that I am aware of since AVG and RealLive were introduced to the Visual Novel lexicon.
[edit] Little Busters ME/EX releases... when?
sketchy alpha versions could well appear within the #fluffy group itself sometime in August 2010... and if the result isn't all crash and burn, software wiped and hardware on fire, EX and ME patches should start appearing with Standard Edition patches, mostly auto-generated. Yay!
more lies and misleading bullcrap to come...?
We can only hope (not).
--Richard 23 02:06, 2 August 2010 (UTC)