dkfans / keeperfx

Open source remake and Fan Expansion of Dungeon Keeper.
https://keeperfx.net/
GNU General Public License v2.0
757 stars 78 forks source link

"Your workshop is not big enough" voice message spam #267

Open mefistotelis opened 9 years ago

mefistotelis commented 9 years ago

Originally reported on Google Code with ID 267

This message is spammed repeatedly even if you have a massive 50+ tile workshop and
more than enough space for 4-5 workers.

Im not sure how but it seems that once you manufacture a portion of the traps/doors,
the game will spam this message non-stop even though there is still space left for
traps and your workers are in there building more traps. If you click the workshop
icon in the rooms panel, it will show the workshop is full but your workers can still
make more traps.

This pretty much happens in every game where you make a workshop...

It only stops once you reach the trap capacity limit and your workers leave the workshop.
The moment you place one trap down and your workers start making more, the message
spam continues.

The message spam also continues if your traps are depleted and your workers make more
to replace the depleted traps.

The voice spam gets REALLY annoying....is there any way to fix this?

Version : KeeperFX r1060 patch, dated 2014.02.18 03:10:01

Reported by Question2005 on 2014-02-23 11:40:57

mefistotelis commented 9 years ago
You get this message when there are creatures trying to get to the workshop but there
is no room for them or they have to leave because a trap is created.

Say you have a workshop with a capacity of 10, and have 6 creatures who want to use
the workshop. As soon as you build your 5th trap you get the message, but you can still
build 5 more traps. This message is repeated again 5 more times as the remaining 5
creatures are replaced with traps. Then if you place a trap a creature goes back in,
and you receive another message if it has to leave again.
If you then pickup and drop one of these creatures somewhere, it will try to get back
to the workshop, fail, and you hear the message again.

You can prevent this spam by acting upon the first message: Sell/Use all your traps,
throw those creatures in the training room, or build doors around your workshop and
lock them.

Reported by Loobinex on 2014-02-23 13:10:22

mefistotelis commented 9 years ago
None of those are very good solutions sadly. As long as there is more than one creature
in the workshop, you will inevitably get the message because your creatures will max
out workshop space with traps eventually (which you want, as its best to have a larger
stock of traps in reserve than fewer ones).

In gameplay that means that if you have say, 4 trolls in a 50 tile workshop you will
keep hearing this spam as the workshop eventually fills up.

Isnt there a way to make capacity for traps seperate from creature capacity?

Reported by Question2005 on 2014-02-23 14:28:44

mefistotelis commented 9 years ago
Or edit the capacity of the workshop? Terrains.cfg doesnt seem to contain any values
for that...

Reported by Question2005 on 2014-02-23 14:35:53

mefistotelis commented 9 years ago
Capacity of rooms isn't changeable by config files. For workshop it's amount of slabs
* room efficiency / 2.

Why only workshop irritates you? Isn't there similar problem with small training room
or small temple?

Reported by mefistotelis on 2014-02-23 15:24:16

mefistotelis commented 9 years ago
Not possible to change the space traps take up too i suppose? Or the space that creatures
take up?

With a training room/temple, if it gets full, you just build more space or the creatures
automatically leave to do something else. With a workshop, you get infinite voice spam
every single time the workshop is below 100% full. Place a single trap and your creatures
start making another one? Voice spam. Trap gets depleted and your creatures starts
making the replacement? Voice spam.

Its not possible to make a large enough workshop to stop the voice spam since it will
eventually run out of space as traps take up space, while with temples/training rooms
theres a limit to how many creatures you can have and you just need to make a large
enough room and you will never get the voice message again.

Reported by Question2005 on 2014-02-24 00:51:57

mefistotelis commented 9 years ago
I think a proper solution is to introduce a new message: 'Your workshop is full' and
play it only once when a creature has to leave when a trap is created. Play it again
after a trap has been placed or a workshop tile been built.
The 'Your workshop is not big enough' can then be reserved for when creatures try to
enter the workshop but no places are available.

An easier solution would be to stick to the current message, but do stop the message
from being played again until either a trap is placed or a workshop tile has been built.

Reported by Loobinex on 2014-04-02 20:03:57

mefistotelis commented 9 years ago
Actually, the mechanics behind this message is quite complex and we must be careful
while changing this.

The message is the result of in-game "event". Now, this "event" plays a message for
human player; but for computer player, it accumulates until a certain threshold, and
then (conditionally) triggers a process. The process is supposed to fix the problem
which causes frequent events - for example: workshop is too small all the time, so
let's enlarge it or build new one.

Incorrectly changing the mechanism of events may lead to workshop spamming, and the
other way it may cause computer player to only build one, small workshop.

Reported by mefistotelis on 2014-04-02 20:33:10

mefistotelis commented 9 years ago
So, suppress the sound, but not the event?

Reported by Loobinex on 2014-04-02 20:42:56