
############################################################################## 
Games:3D:

2003-03-02 v0.01 Tels - 166 tests (first version)
 * added Game::3D::Point, w/ 3D center
 * added Game::3D::Area, Point plus 3D size and shape
 * added Game::3D::Thingy, id, name, state, active/inactive, has outputs
   and can receive/send signals
 * added Game::3D::Signal, export the signal names
 * added Game::3D::Link to link two thingies together (in more complicated
     ways than just connecting the output from thingy #1 to thingy #2),
     features count, initial delay, resend delay, one-shot, invert, fixed
     output signal etc
 * added Game::3D::Physical, isa Area and Thingy, plus mass
 * added Game::3D::Living, a living thing (like NPCs etc)
 * added Game::3D::Marker, isa Point and a Thingy
 * added Game::3D::Trigger, isa Area and a Thingy

2003-03-06 v0.02 Tels - 181 tests
 added:
  * basic tests for Trigger.pm
  * Area: has rotation()
 fixed:
  * Game::3D::Point::center() renamed to pos()

2003-03-08 v0.03 Tels - 180 tests
 added:
  * Thingy: load() and _construct(), load hirarchy and objects from text file
  * example text-adventure game in ./examples showing class-hirarchy and level
    loading code
  * forgot to include trigger tests
 Caveat: Some classes like Trigger, Living, Marker, Physical etc might be gone
         from the next version, since they can be replaced by text-definitions
         in the object hierarchy, completely!

2004-02-29 v0.05 Tels - 73 tests
  * removed anything except base classes: Thingy.pm, Link.pm and Signal.pm
  * Links are by default OR gates, but can be switched to AND gate type
  * Thingy: keep inputs
  * Thingy: on DESTROY, remove links to and from us, and ourself from
    parent Thingy 
  * Thingy: del_input(), del_output(), unlink()
  * Link: react to DIE, KILL, ACTIVATE, DEACTIVATE and don't relay them
  * Thingy: react to DIE and KILL signals
  * Thingy: don't relay ACTIVATE and DEACTIVATE signales

2004-03-02 v0.06 Tels - 83 tests (not released)
  * Sensor.pm: sense state change and trigger on them
  * Thingy: inputs(), outputs(): IDs if input/output objects
  * 3D.pm: wrote a lot of documentation to cover basics and details
  * added: World.pm: contains everything

2004-03-05 v0.07 Tels - 102 tests
  * added Template.pm
  * World.pm: update(), render(), register(), unregister(), thinkers()
  * Thingy.pm: as_string()

2004-03-20 v0.08 Tels - 111 tests
  * SIGNAL_xxx to SIG_xxx
  * removed SIG_KILL
  * added 15 states (STATE_0..STATE_15) and signals so that you can send these
    to objects to change their state
  * added 15 signales (SIG_NOW_0) so objects can announce when they finished
    changing their state
  * SIG_ON and SIG_OFF (and their aliases) switch between STATE_0 and STATE_1
  * World: cache time upon update, added method time()
  * added an update() routine to Thingy so that state transitions can happen

Please send me test-reports, your experiences with this and your ideas - I love
to hear about my work!

Tels <http://bloodgate.com/>
