Re: Time Flow (and events)

From: ;P (siv@CYBERENET.NET)
Date: 02/05/98


>         Has anyone given thought to making MUD time flow more naturally? The
> tick system works fine, but I think it would be really cool if time actually
> worked as in real life...one tick per second, perhaps? Obviously a whole
> bunch of timers, etc, would need changing, and I would also question as to
> how straining this would be on bandwidth and server resources, but it could
> be worth a try. Just wanted to know if anyone else had attempted this before
> I go try and make my MUD real time...

i've done this with events, practically removing the need for ticks (the
only thing that i use them for any more is updating the idle timer for
players)..whenever a character gets damaged, moves, or uses mana..i make
a regeneration event which will regen the player about every 15 seconds
depending on stats..this not only gives CON and WIS real uses, but it
probably makes things take less CPU since you aren't continually checking
chars to see if they need to regenerate..

also, i made affections event based..so instead of lasting a variable
amount of time (depending on how soon after a tick you cast the spell),
they last a real amount of time (in pulses)..this also has the benefit of
avoiding cheaters who would quit just before a tick to keep affections
longer..

these things may or may not be noticable to players, but i think that it
makes a lot more sense, and well..it was fun to code :)

i was thinking..the only event system that is available (i think) on the
ftp site is one that decrements event timers every second (this is bad)..
is there any interest in having me upload a patch for my event system? i
made it using the Death Gate (hash table) queueing system, and a bunch of
advice from erwin...in addition to the two event uses i wrote about
above, i made object timers more like character affections (hrm..exactly
like), made wait_state an event on the char struct, delayed commands
and skills..and i'm currently changing my combat system to be event driven
rather than use PULSE_VIOLENCE (btw, if anyone has suggestions on dealing
with dual wield..i'd like to hear them :)

siv


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST