Tuesday, May 22, 2012

Hellcore/HellMOO vs Wayfarcore

I wanted to do a post on which things were from what source in Wayfar and their various benefits.

Systems used verbatim from HellMOO:

* NPC conversations.  HellMOO has an excellent system with highlighting, good syntax, and lots of callbacks for scripting interesting responses.
* Mail, channels, issue_lists, and several $db and util objects.
* The low level $damage and $drug objects - damage and drug both offer good systems for those uses.  I added a second tier of $damage to differentiate between small arms and starship/tank fire.
* The low level $decal object, although this not currently used in Wayfar it is a neat little object that you can do a lot of immersion building stuff with.

Systems modified heavily but based on HellMOO:

* The $job object (questing/achievements).  The basic job offered the functionality, and I extended and modified it to grant appropriate rewards for WY.
* Actors/Heartbeats.  On Wayfar this code is on an $api so that objects are not required to be a child of the HellMOO $actor object.  This could be useful for heartbeating spaceships or vehicles that host an AI, or are otherwise "thinking" or sentient.
* The web server and associated utilities.  This was I believe originally written outside of HellMOO to begin with.  I extended this with IRC and some other specialty capabilities.
* The MXP utilities.  This was partially implemented on HellMOO, but I re-implemented it as an API and sent the proper codes to get MXP working with MushClient.  It is available from the google code repository: http://code.google.com/p/modular-moocode/
* $room, $creature, and $player - although I have trimmed a lot of these down and written new code for the things you do in Wayfar, there is still quite a bit of HellMOO code on these objects.  Handy for reference at a minimum.
* $actions.move, socials - $actions.move is HellMOO code and still handles moving between rooms using $exit objects.  Socials, checkpoint messages, and various features are still in use or have been re-implemented by friendly Hellmins.

Original Wayfar systems:
* Planets and all other solar objects
* Items, divided into the categories of $material, $component, and $product
* Buildings, vehicles, interior blueprint system
* Combat and skill objects
* Crafting, research, experiment, and improvise systems
* Any $action objects not listed in the modified system (around ~100 so far)
* Anything else not mentioned, eg all of the elements screenshotted in the dev album: http://imgur.com/a/Ij56F