NPC activities not updating with time change

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Locked
asimpkins

NPC activities not updating with time change

Post by asimpkins »

In the original Ultima7 when I'd use the cheat menu to change the time, the NPCs would instantly update their business activities. If I set it to 9pm, they'd all immediately walk to the Fellowship hall and start the Fellowship meeting. If I set it to 2am they'd all walk home and go to sleep.

Exult doesn't seem to do this yet. If I start a new game and walk into the Fellowship hall and set the time to 9pm, nothing happens. However, if I set the time to 8pm and wait an hour, the Fellowship meeting starts up. It seems that Exult is only changing activities when the 'trigger' time is rolled through. The original Ultima7 seemed to recognize what activity time zone it was in, and updated the NPCs regardless.

I think the original's setup is a lot more useful. I'd use the cheat mainly to modify the NPCs business activities. Get the shopkeepers to open their shops, send everyone to bed, or immediately get to a Fellowship meeting. The way Exult is now, it's not very practical.

Hmmm... Perhaps I should have just entered this as a bug. I suppose I will. I just thought that maybe this was already covered or I was doing something wrong.

Andrew
x-bow

Re: NPC activities not updating with time change

Post by x-bow »

Errr, if the event takes place at the point of change between 8:59:59 and 9:00:00 (as I suspect it does) then this is perfectly normal (why not just set the time to 8:59?)
asimpkins

Re: NPC activities not updating with time change

Post by asimpkins »

I'm not sure what you mean by "perfectly normal". If you are suggesting that this is how the original U7 worked, then you're wrong. I'm not sure what other standard of normality there is to go by.

For this small isolated example, it does work to just set the time to 8:59pm to access the Fellowship meeting. However, all the other characters in the game who don't have a trigger for changing their business activity at 9pm will keep doing whatever they were doing. If 9pm is past their bedtime they will keep working in the fields all night until the next trigger comes along. So basically, if you change the time you've pretty much messed up most of the NPCs in Britannia until enough time goes by for them to catch up. The original U7 would instantly adapt to the time change so you wouldn't lose any continuity in the game.

Another issue. Let's say I want to purchase or sell something from a shopkeeper. Before I could just set the time to noon and he'd walk into his shop and be ready for business. As it is now, I first have to figure out when this particular NPC's "open shop" trigger occurs, (and not every shopkeeper opens at the same time), and then set the time a minute early. And on top of that, I've just confused all the other NPCs in the game... hurtling Britannia into a world of chaos.

I know this isn't a major issue. It's not required to finish the game. It's just a side cheat... but it was a very convenient feature in the original U7 cheat system. As it is now, the 'set time' seems to cause more problems than it solves. I have no idea how the coding works, but I think if it's reasonably possible it would be nice to set it up so NPCs figure out what they are supposed to be doing when you change the time. Am I all alone on this?

Andrew
SB-X
Posts: 980
Joined: Thu May 14, 2020 1:34 pm

Re: NPC activities not updating with time change

Post by SB-X »

Britannia in chaos has always been fun.
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: NPC activities not updating with time change

Post by drcode »

True, our 'cheats' might not work exactly like the originals.

But one that does sort-of what you want is 'ctrl-t', which advances to the next 3-hour period. This does cause NPC's to update their schedules.
asimpkins

Re: NPC activities not updating with time change

Post by asimpkins »

I thought it was a bit more than them not working "exactly like the originals". I understand that there are going to be differences. Sometimes things are going to be obviously improved, sometimes things are going to be different because of developer preferences. But how it is, it seems virtually useless. It could be useful for small isolated test cases, but if you want to keep playing the game it seems to me that you either have to reload or go to sleep for 24 hours. The cheat throws the whole world out of sync, and thus is not usable in any sense that the original was. I think labeling it as 'different' is kind of missing the point.

I didn't imagine that this would get top priority, but I had hoped to find some consent... Oh well. I'm gonna go enter it as a bug anyway. Maybe someone will have a change of heart, or some other user will come along to champion its cause. :)

Thanks for letting me know about the 'Ctrl-T' feature. That will help out in the meantime...

Andrew
SB-X
Posts: 980
Joined: Thu May 14, 2020 1:34 pm

Re: NPC activities not updating with time change

Post by SB-X »

I agree. The current activity system really doesn't make much sense. The NPCs should at least check their schedules again when you manually change the time. I'm sure once a developer gets the time they will add it, but it should probably be tracked as a feature instead of a bug.
x-bow

Re: NPC activities not updating with time change

Post by x-bow »

You don't have to cheat. It was entirely possible to break the original by cheating, and you can break exult by cheating. If you want to advance the plot to 21:00 hours just advaance it to 8:59 and hang around. The exult team are not payed in any way for this work, so if you were a whole lot more specific about what you want fixing, or DIY, I suspect they would be happy.
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: NPC activities not updating with time change

Post by wjp »

more specific? huh? What do you mean?
asimpkins

Re: NPC activities not updating with time change

Post by asimpkins »

I haven't a clue. My guess is that he didn't actually read any of these posts. Perhaps he's trying to score points with the developement team by "laying down the law".

:)

Andrew
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: NPC activities not updating with time change

Post by artaxerxes »

It seems like the Exult engine does that:

if time == time_for_activity_X
then do activity_X

while the U7 engine would do:

if time_for_activity_X - time < epsilon
then do activity_X

in other words, Exult checks for milestones, U7 checks for ranges.

Artaxerxes
asimpkins

Re: NPC activities not updating with time change

Post by asimpkins »

That sounds right... So basically my question is this: Is there any good reason to have it checking milestones instead of ranges?

Andrew
Tim

Re: NPC activities not updating with time change

Post by Tim »

I always took a nap to advance the time. I never used the cheat menu.
asimpkins

Re: NPC activities not updating with time change

Post by asimpkins »

But that's so lazy. And you have to do math... :)

Andrew
Tim

Re: NPC activities not updating with time change

Post by Tim »

Well, to be honest, it's because I didn't know about the cheat menu.

And... you have to rely on your party members waking you up on time. I don't know how many times I overslept the midnight ceremony at Horance's castle.
Skutarth

Re: NPC activities not updating with time change

Post by Skutarth »

-And... you have to rely on your party members waking you up on time. I don't know how many times I overslept the midnight ceremony at Horance's castle.

Hmm... That's how I feel. Let me tell you a story.

You slowly open your eyes and listen to the usual stuff from your party, but you hear something you didn't want to hear.

Iolo: Good evening, Avatar!
Avatar: Huh, what?
Dupre: We must continue.
Avatar: What time is it? Did I only sleep an hour or two?
Shamino checks his watch and makes a face at Dupre.
Shamino: Uhh, that's not important.
Avatar: No, really, what time is it?
Sentri: Err, 8:30?
Avatar: Wait--Didn't I go to sleep at 9:00?
Tseramed: Mmm, yes?
Avatar: Oh my god, DID I OVERSLEEP HORANCE'S CEREMONY?
Katrina: Uhh, maybe?
Avatar: YOU PIECES OF CRAP!!! WHY DIDN'T YOU WAKE ME.
Iolo: We kind of went in shifts and, I, uhh, fell asleep.
Avatar: AHH!
The Avatar begins to draw his sword.

Meanwhile...

Man 1: Where is the Avatar?
Man 2: Wasn't he supposed to be here?
Man 3: Maybe he slept through it.
Man 1: Hmm, maybe he's preparing.
Man 2: Yup, he probably fell asleep.

Back with the Avatar...

Avatar: You morons! What am I supposed to tell them when I'm so late.
Iolo: Long bathroom time.
Avatar: I didn't need to hear that, Iolo. I don't have your problems old man!
Shamino: You were on a quest.
Avatar: How about YOU explain why I'm late?!
Shamino stumbles back, shivers, and squeeks out a simple phrase.
Shamino: I'm sorry...
Sentri: You died?
Avatar: How about not?
Tseramed: Tell them you were training.
Avatar: Yes, I'll tell them that. I can see it now--Sorry I'm late. I got so glued to training for 24 hours that I missed such an important occasion.
Sentri: You were busy--
Avatar: Shut up, Sentri. I've enough from you.

The Avatar shows up to find that it's finished and the castle servants are brushing off the dust from the room.

Avatar: Crap, now what? You guys got me into this mess, now you get me out.
Sentri: I think...
Avatar: Don't think, it's rotting our minds and wasting our time.
Sentri: Well...
Avatar: SHUT UP! Lord! What's happened to these virtues that you always talk about?

Flashback:

Iolo: Avatar! Is it virtuous to steal?
Avatar: Quiet, you trying to get us caught?
Sentri: I think we should.
Avatar: Shut up.
Dupre: Humph. I don't travel with theives.
Sentri: Will he...
Avatar: Yes, Sentri, he will get over it and come back. Shut up.
Spark: Why are you throwing me into this chest and locking it Avatar.
Avatar: No time to explain.
Spark: Whatever your doing, I'm sure it's virtuous...
Avatar: Right, whatever...

Back to present time.

Dupre: Oh yeah. That's what we did with Spark!
Shamino: It wasn't very virtuous.
Avatar: Well. And missing this was virtuous? Sentri, stop drooling on yourself.
Tseramed: Let's run away and become outlaws!
Avatar: Good Idea.

Then they killed everbody including Sentri, who was too much in misery from stupidity they--helped him out of his misery--and robbed everybody.

The End.
Skutarth

Re: NPC activities not updating with time change

Post by Skutarth »

/\
||
||
/||\
Has anybody read that?
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: NPC activities not updating with time change

Post by Dominus »

The things people do to get attention never ceases to amaze me.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
XxVenomxX
Posts: 344
Joined: Thu May 14, 2020 1:34 pm

Re: NPC activities not updating with time change

Post by XxVenomxX »

Look! A rocket ship! (albeit crooked)

:P hehe
http://venom.gamersgraveyard.com
Fantasy art/Illustration by Brendan Setaro
SB-X
Posts: 980
Joined: Thu May 14, 2020 1:34 pm

Re: NPC activities not updating with time change

Post by SB-X »

I thought it was funny, even though I've always played a "good" avatar. :)
Vagrant
Posts: 7
Joined: Thu May 14, 2020 1:34 pm

Re: NPC activities not updating with time change

Post by Vagrant »

yeah. i thot it was really funny. nice work skutarth.
Skutarth

Re: NPC activities not updating with time change

Post by Skutarth »

Hehehe...
I'm not a good person...

I love the flashback and what Dupre said afterward.
Sorry for the mistakes. I did it in a hurry.
Skutarth

Re: NPC activities not updating with time change

Post by Skutarth »

I love robbing, but I end up having to leave my party waiting outside while I'm robbing the shipright blind with the excuse of, "I left my money in the crates here..."

Hehehe...

BTW, I really did kill spark and threw him in the trunk, that wittle wascally kid.
Huwhuwhuwhuw!
Locked