Underwhelming haunting

For all talk about quest development - creation, testing, and quest system.
User avatar
pango
Posts: 3344
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Underwhelming haunting

Post by pango »

Inspired by Clearing Monsters from house quests broken? thread...

I've found Daggerfall City haunting rather underwhelming, beside Lysandus' voice; You got to stay on the same spot for a while to have a chance to witness a ghost or a wraith. Not exactly how I picture a spectral army.

It seems to work better in classic, but I'm not sure why. Higher effective spawn rate, enemies spawning closer, or immediately aggravated at the player? Certainly not better path finding ;)
Last edited by pango on Tue Aug 20, 2019 10:27 am, edited 1 time in total.
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
Interkarma
Posts: 7234
Joined: Sun Mar 22, 2015 1:51 am

Re: Underwhelming haunting

Post by Interkarma »

Yeah, I've wondered about that too. DFU is technically following the same timers and scripts, but classic just feels more dangerous.

I'd be happy for spawn rate to be tweaked up a bit in DFU. Those streets should feel dangerous. :)

Madae
Posts: 29
Joined: Wed Aug 21, 2019 4:35 am

Re: Underwhelming haunting

Post by Madae »

Interkarma wrote: Tue Aug 20, 2019 10:06 am DFU is technically following the same timers and scripts
That may be the case, but I too remember it being much faster on the spawns, and seeing several ghosts at a time.

On a side note, I also don't remember, strongly even, AI monsters fighting each other like they do here, so that seems off to me as well. I do remember creatures dying without me being the cause, but that was because flying creatures got stuck in a wall, or fell through the floor, and just eventually ended up poofing with a notice on screen.

Ommamar
Posts: 541
Joined: Thu Jul 18, 2019 3:08 am

Re: Underwhelming haunting

Post by Ommamar »

Madae wrote: Fri Aug 23, 2019 10:41 pm
Interkarma wrote: Tue Aug 20, 2019 10:06 am DFU is technically following the same timers and scripts
That may be the case, but I too remember it being much faster on the spawns, and seeing several ghosts at a time.

On a side note, I also don't remember, strongly even, AI monsters fighting each other like they do here, so that seems off to me as well. I do remember creatures dying without me being the cause, but that was because flying creatures got stuck in a wall, or fell through the floor, and just eventually ended up poofing with a notice on screen.
Last edited by Ommamar on Sat Apr 18, 2020 1:35 am, edited 1 time in total.

Madae
Posts: 29
Joined: Wed Aug 21, 2019 4:35 am

Re: Underwhelming haunting

Post by Madae »

Ommamar wrote: Fri Aug 23, 2019 11:13 pm
Madae wrote: Fri Aug 23, 2019 10:41 pm
Interkarma wrote: Tue Aug 20, 2019 10:06 am DFU is technically following the same timers and scripts
That may be the case, but I too remember it being much faster on the spawns, and seeing several ghosts at a time.

On a side note, I also don't remember, strongly even, AI monsters fighting each other like they do here, so that seems off to me as well. I do remember creatures dying without me being the cause, but that was because flying creatures got stuck in a wall, or fell through the floor, and just eventually ended up poofing with a notice on screen.
The creature infighting is a DFU advanced option, you can turn it off if you like. I think it is a logical addition that adds to the game but no wasn't in classic. I noticed this in Daggerfall as well if I loiter I will see a ghost/wraith but only one so just hear the vengeance with no teeth to it.
Ah, that makes sense then. Still on the fence about whether I like it or not, but I certainly don't really mind it, was just something different I noticed.

User avatar
pango
Posts: 3344
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Underwhelming haunting

Post by pango »

Interkarma wrote: Tue Aug 20, 2019 10:06 am Yeah, I've wondered about that too. DFU is technically following the same timers and scripts, but classic just feels more dangerous.

I'd be happy for spawn rate to be tweaked up a bit in DFU. Those streets should feel dangerous. :)
Just saw some guy streaming classic Daggerfall, he got dropped off Daggerfall city for vagrancy at night, and a ghost was there the moment he regained control.
So it seems that periodic spawns do not start by waiting for a random period of time before the first spawn, but trigger immediately, then start waiting for random periods?
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
pango
Posts: 3344
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Underwhelming haunting

Post by pango »

pango wrote: Sat Oct 12, 2019 3:50 am So it seems that periodic spawns do not start by waiting for a random period of time before the first spawn, but trigger immediately, then start waiting for random periods?
I noticed a bug in CreateFoe:

Code: Select all

            // Check for a new spawn event - only one spawn event can be running at a time
            if (gameSeconds > lastSpawnTime + spawnInterval && !spawnInProgress)
            {
                // Update last spawn time
                lastSpawnTime = gameSeconds;

                // Roll for spawn chance
                float chance = spawnChance / 100f;
                if (UnityEngine.Random.Range(0f, 1f) > chance)
                    return;
So every spawnInterval an enemy can be spawned with a spawnChance% chance, okay...
The only small issue here is that because of ">" there must be at least spawnInterval + 1 seconds between checks, so spawning rate is slightly weakened.

Code: Select all

            // Init spawn timer on first update
            if (lastSpawnTime == 0)
                lastSpawnTime = gameSeconds + (uint)UnityEngine.Random.Range(0, spawnInterval + 1);
We initialize the cycle by simulation a random initial phase.
Well first, as seen before, I'm not sure it's what classic does;
And second, there's a bug, it's a "nextSpawnTime" formula not a "lastSpawnTime" formula: If next spawn check must happen randomly between gameSeconds and gameSeconds + spawnInterval, then since we compare gameSeconds against lastSpawnTime + spawnInterval, lastSpawnTime should be initialized with a random value between gameSeconds - spawnInterval and gameSeconds:

Code: Select all

            // Init spawn timer on first update
            if (lastSpawnTime == 0)
                lastSpawnTime = gameSeconds - (uint)UnityEngine.Random.Range(0, spawnInterval + 1);
This bugs delays the first spawn by one spawnInterval. That may have contributed to House cleaning quests unbalancing.
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
pango
Posts: 3344
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Underwhelming haunting

Post by pango »

I submitted a PR
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
pango
Posts: 3344
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Underwhelming haunting

Post by pango »

Actually in classic, the first spawn of such periodic spawns is almost immediate. If you enter Daggerfall City at night, both first ghost and first wraith are on your trail within 2 seconds. It probably helps make infestation quests less confusing too, as you're facing the first vermin almost immediately.

However changing above line like

Code: Select all

lastSpawnTime = gameSeconds - (uint)spawnInterval + (uint)Math.Min(spawnInterval, UnityEngine.Random.Range(12, 36));
does not currently work very well, because not all code calling CreateFoe() expects that new behavior. If you rest in town, you immediately have 10 guards ready to arrest you, etc...
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
Hazelnut
Posts: 3014
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: Underwhelming haunting

Post by Hazelnut »

No idea if it's related, but low level quests like clear bats or when you go to a house and get beset by baddies are different to how I remember. They are brutal now, and I am wondering if the spawning mechanics have changed and that's why... like in the quest script it says "every 1 minutes 7 times with 100% success" well I was seeing several bats quicker than 7 minutes I think.

Maybe it is also conflicting with Jay's changes to core quests. In M0B21Y19 he changed time to 0 to make it more like an ambush. Getting mobbed by 4 assassins at level 3 is death basically.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

Post Reply