Re: {Circle} Mob schedules?

From: Daniel Houghton (dasher@TEZ.NET)
Date: 03/01/98


Patrick J. Dughi wrote:

>         Ever play the game Ultima V? I know, its a step back for most of
> you, but try.  Well, I whipped that thing out, fired up my appleIIgs and
> started playing it again. Never did get to the 8'th level in Hygolyth.
> But I did notice something that added oodles to the game - Each city mob
> had a schedule.  Like, at 10 pm the guards in the castle would change
> places.  At 11 am the judge would go to the courthouse.  At 8 am, the
> drunk would stagger around outside the bar and ask for change.  And
> usually by nightfall, someone would close up the gates and everyone would
> go home and go to sleep.
>
>         Ah - but you're thinking "The Mayor! The Mayor!"
>
>                 Down Tattoo. This isn't fantasy island.  You ever look at
> that mayor spec_proc? Kudos to the guy who originally wrote it, but I'd
> never expect any builder I know to whip out something like that - not even
> if they copied it.  And I'm sure not going to want to spend time making
> every little peacekeeper walk their routes. Especially not in code.
>
>         What is needed is some sort of easily definable scheduling for
> mobs.  Something that can be generalized like
>
>         Mob: Farmer Joe-Bob-billy-smith-bubba.
>         Schedule:
>           1. wake up at 5 am.
>           2. go to room 500 (pig pen) and slop the pigs at 5:25
>           3. go to room 502 (hidden shack) and make moonshine at 7:00.
>                         .
>                         .
>                         .
>                         .
>          89. beat the wife at 9:55 (run mobprog/script "beatwife")
>          90. turn in for the night at 10:00.
>
>         Obviously, the can be complicated beyond all recoginition, but i
> suppose I can deal with simple for now.  Figure that a minor bit of energy
> would result in an effective (?..well.. maybe) town guard? Or shop keepers
> that didn't just sit in their store for years on end.  Or a drunk who
> would occasionaly get the hell out of the main town and go to sleep in the
> dump.
>
>         Here's what I think would be needed, but tell me what you see
> wrong, or could add?
>
>         Ability to get a mob to walk/go to a room at a specified time
>         (track to a room)
>         Ability to get a mob to say/do something at a specified time
>
>         Ideas?  Should this just be a mobprog or script?  I kinda like it
> seperate, but thats why i'm throwing it out to people who may have thought
> about it.  Easy-to-use(parse)-formats?  Anything really.
>
>                                 PjD
>
> P.S. Working on getting that drinking code up - its on a machine w/o net
> connection, and i've only limited access. Force of will, will prevail.
>
> P.P.S
>
>         New bug in Board code:
>
>           Due to a fix of a previous bug (inability to read anything but
> boards in a room with a board), you are now unable to read anything but a
> board unless you _are_ in a room with a board.  The reason is simple.  In
> look_at_target, there's some mess about 'if (!found || !obj)' or something
> of that line .. well, the end result is that a board is in the room, but
> its not the thing being looked at, so run it as if the user had typed
> "look at _xx_"  Well, its argument is not being recreated correctly.
>         ... quick easy fix:
>
>                 strdup the argument before its played with, and insert the
> backup copy instead of recreating the sting.  Don't forget to free it when
> you're done with it.
>
>      +------------------------------------------------------------+
>      | Ensure that you have read the CircleMUD Mailing List FAQ:  |
>      | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
>      +------------------------------------------------------------+

Ah!  GMTA buddy, I loved Ultima V. :)

I've been pondering the same thing and here's the approach I thought up,
based on my old MUD which was based on Circle 3.0 bpl 11 with mobprogs and
Oasis...

You could create a new trigger for mobprogs - a time trigger which sends the
time of day to each mob on the hour.  You could then knock off code in
graph.c that the mobs could use to seek out a given room (which I've already
done while implementing an "mproomseek" command).  Not only that, but you
could implement a new test for mobprogs to check the time of day if you want
the barkeep to have a specific reaction to a drunk walking into his pub first
thing in the morning. <G>

Oh, there's plenty of ways to do this... but this seems simple. :)

        Daniel Houghton AKA Garadon


     +------------------------------------------------------------+
     | 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