Phantasmal MUD Lib for DGD

Phantasmal Site > Current Features

Phantasmal's Current Features

Game Features

  • Fully-customizable NPCs, coded in LPC
  • Mostly-customizable rooms and objects, coded in LPC
  • Normal in-MUD portable objects, containers, etc
  • Object details - objects can be part of other objects, and details can also be containers, etc
  • Full weight, volume and size systems for objects
  • Normal in-MUD online communication with says, chatting, emotes, social commands, etc
  • Powerful online help-system that matches queries in many different ways, including Soundex (phonetic)

Admin & Builder Features

  • Supports plaintext telnet, SSH, and very limited MUDclient support
  • Object data inheritance and parent objects to save you time - almost every object property can be inherited
  • Typed, inherited tag system for custom properties
  • Carefully-vetted scripting interface to allow semi-trusted code to run without causing your MUD damage
  • Full, heavily-documented OLC (online creation) commands. Anything that Phantasmal supports can be created online
  • Massive documentation - in-game help, online tutorials, HTTPable help, downloadable web site archives on DGD and Phantasmal
  • Full, instant code upgrades for all in-game code - never be forced to reboot the server again!
  • Support for full or partial persistent operation in the DGD sense. Statedumps, upgrades, the works.

Architectural Features

  • Powerful Object Manager to track code changes and object dependencies
  • Human-editable XML-like UNQ format for all data files
  • Robust error-tolerant object load and save
  • Phrase structures support markup and internationalization (e.g. Spanish-lang support) for almost all in-game text

The Details

Phantasmal is a good base to begin construction from, but not a full game by itself. Seas of Night is a test game to show off Phantasmal's power as a library. Some listed features require Seas of Night or another Phantasmal-based library.

Phantasmal has scripts, though it needs to integrate them into more of what it does. It has tags, which are arbitrary object properties that make scripts really interesting.

Objects use a set of object descriptions inspired by Skotos' series of Building Blocks articles. Details also work similarly.

Phantasmal is built on the DGD Kernel Library. This gives it a good, secure base. It also allows Phantasmal's secure scripts and rebuild-in-place.

Phantasmal is localized. That means object and room descriptions use Phrase structures rather than simple strings so that any such description is automatically localizable to any supported language. Note that unicode characters are not yet supported. Spanish is the only current suggested locale, and many messages still need to be localized. It's a good test for the various systems nonetheless. Wish I was a better translator!

In case of problems the binary port is still configured for emergency administrator login, and all the old wiz commands work just like the unmodified Kernel MUDLib. On the regular port most of them have a % on the front, so they have names like %grant, %compile and so on.

UNQ files supply non-statedump structured data storage very similar to XML in many ways, including Document Type Definitions to simplify parsing. Localized structures and help files are stored this way. The UNQ parsing system is doing well and supports backslash escaping and markup. UNQ Document Type Definitions (DTDs) are well supported and greatly aid parsing most of the objects that Phantasmal stores in files.