Parody and Prodigy (Updated 31st March 2003)


The original Prodigy Help Guide is now available on-line. Converting this is a work in progress, as I have to retype it all manually.


Parody was my first sizable experiment with Multi-User Games (MUGs) - written on an old IBM XT clone (NEC V20 processor running at 10MHz, somewhat unreliably, 32Mb hard disk), and running on a 286 based machine. Parody was written in Borland's Turbo C, with most of the game being hard-coded, with a limited internal language for emote extensions, and a number of customisable "drop-out" points, so that built-in commands could have specific exceptions. All the location data was loaded from hard-disk when necessary, with only indexes kept in memory, along with object and player information.


The successor to Parody, Prodigy was hastily brought into existence when a disk crash destroyed the Parody system, and the only backups where considered too old to be worth restoring. Prodigy was created on a 386sx 16MHz machine with 2Mb of RAM and ran on a 386 33MHz machine with a whopping 4Mb of RAM. An internal memory manager built into the system allowed much of the game data to be loaded into EMS memory, allowing online updates to almost everything. Prodigy consisted of a custom language ("StarLite"), the aforementioned memory manager, built-in compiler (SLIC, StarLite In line Compiler) and the language interpreter (SLVE, StarLite Virtual Engine, pronounce "sleeve"). The entire game was written in StarLite (which was itself written in C, in this case Borland C), which provided a few MUG-specific instructions to speed up processing, but was otherwise a fairly generic database language.

The last release of StarLite (3.3) has been resurrected and recompiled under Linux using a sockets-based communications layer. Whilst there is still a lot of work to be done, this is progressing quite well, and I have a test version of the Prodigy database running.

Parody, Prodigy, StarLite, SLIC and SLVE are all copyright © Digital Biscuit Technology.