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