yvsarkisyan / keeperfx

Automatically exported from code.google.com/p/keeperfx
0 stars 0 forks source link

Computer player assigns creatures to incorrect rooms #538

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The computer player assigns creatures to rooms that do not make sense. See for 
example attached save, with creatures assigned to the barracks and too many 
creatures assigned to workshop.

Some creatures may be assigned to library, the rest should mostly be assigned 
to training room. Workshop is fine when low on gold or when creature is 
max-level.

Also see issue #482, issue #195 and issue #380

Original issue reported on code.google.com by Loobinex on 29 Mar 2015 at 3:58

Attachments:

GoogleCodeExporter commented 9 years ago
I can't see any problem here. The computer player does his best to keep all 
creatures occupied and balance his money.

I checked that save with additional logging, and as the game checks which job 
to assign, everything looks fine. Example log from the first drop into barracks:

---
Cannot assign RESEARCH in player 1 room for creature DARK_MISTRESS index 417 
owner 1; not enough room capacity
Checking job TRAIN for creature DARK_MISTRESS index 903, no worker needed
Cannot assign RESEARCH in player 1 room for creature DARK_MISTRESS index 903 
owner 1; not enough room capacity
Cannot assign MANUFACTURE in player 1 room for creature DARK_MISTRESS index 903 
owner 1; not enough room capacity
Checking job SCAVENGE for creature DARK_MISTRESS index 903, no worker needed
Cannot assign GUARD in player 1 room for creature DARK_MISTRESS index 903 owner 
1; no required room built
Checking job BARRACK for creature DARK_MISTRESS index 903, has cap 4 priority 1

The best job for creature DARK_MISTRESS index 903 is BARRACK, with priority 4
---

As you can see, all jobs were checked, and only BARRACKS was possible to assign.
the "no worker needed" message is caused by low gold - in case of not having 
enough gold for payday, the code will disable expensive jobs.

Original comment by mefistotelis on 29 Mar 2015 at 10:15

GoogleCodeExporter commented 9 years ago
I'm not saying the code is bugged, I'm saying the priorities the CP has are not 
the best.

See screenshot, barracks completely full, training room half fool. Not visible 
is that there is gold in the treasure room, the workshop is filled with traps 
and creatures.

Research and Training need to be top priorities for the CP to be effective. And 
research only to a certain extend as to get access to rooms quickly enough.

Assigning creatures to barrack is never a good plan - if there isn't enough 
gold for training the remaining creatures can workshop to maximise the training.
But workshop shouldn't get equal attention to training when gold is available, 
but left for low gold situations or level 10 creatures.

Original comment by Loobinex on 29 Mar 2015 at 10:50

Attachments:

GoogleCodeExporter commented 9 years ago
Creatures are also assigned to temple and torture room.

Original comment by Loobinex on 30 Mar 2015 at 9:39

Attachments:

GoogleCodeExporter commented 9 years ago
Yes, creatures can be assigned to prison, temple or thrown back to portal.

To temple - when they're angry.
To prison or torture - when they're livid - so angry that there's no way back.

As about your previous comment - all this is implemented as you described:
"Assigning creatures to barrack is never a good plan"
- implemented, the barracks have lowest priority
"if there isn't enough gold for training the remaining creatures can workshop"
- implemented
"workshop shouldn't get equal attention to training when gold is available"
- implemented

The mechanics are good and are allowing computer player to keep the balance.
What we could do is to modify (and unify) the factors used to determine what is 
considered "enough gold", "low gold", "critical gold" and "lots of gold". Maybe 
even put them into config files.

But I'm not sure if this would even change anything. Computer player would 
oscillate around lower amount of gold, but the resulting gold flow wouldn't 
increase.

Original comment by mefistotelis on 30 Mar 2015 at 12:53

GoogleCodeExporter commented 9 years ago
It's not about gold. See screenshot,... computer player has received 500k gold, 
yet still there are more workshop creatures over training creatures.
So when there is enough gold, workshop gets too much attention.

As for the barracks, when a workshop is available it shouldn't be an option. If 
there is not enough room capacity to workshop, the workshop should be expanded.
yes, there is an issue with the CP building too many workshops, but that is 
when they keep producing traps/doors. When gold is an issue, they should sell 
it and should make room for the non-training creatures in the workshop.

I know angry creatures could be assigned to prison/torture/temple, but it 
didn't seem to be the case. Very difficult to tell though, so let's forget 
about that for now. Or perhaps add a cheat mode to allow to use the ?-button on 
all creatures.

Original comment by Loobinex on 30 Mar 2015 at 1:06

Attachments:

GoogleCodeExporter commented 9 years ago
I'm not sure, but I don't think the CP used to build as many barracks when they 
had plenty of gold.

Not that important though, main concern is the lack of training.

Original comment by Loobinex on 2 Apr 2015 at 12:38

Attachments:

GoogleCodeExporter commented 9 years ago
 Wow, that's a big dungeon the computer player built.

There are lots of Workshops and Barracks.

The main question I'm asking myself now is, do we really want the computer 
player dungeon size to stabilize? Isn't that better when he is claiming more 
and more land?

Original comment by mefistotelis on 2 Apr 2015 at 6:58

GoogleCodeExporter commented 9 years ago
Well, currently limitless growth leads to issues with the thing limit of 
course. Issue #541 would fix that.
Right now the dungeon does stabilize of course, when all creatures can be 
barracked or put in the scavenger room.

But yes, I think that the dungeon being finished at some point is better than 
just building rooms indefinitely even if the technical problems with it are 
fixed. Having countless workshops doesn't really make the CP more powerful or 
challenging, so it isn't really fun to have to claim all that.

It is better for the CP to have an endgame where he attacks, or build some 
(remote)defensive rooms with traps and manned guardposts and calls it a day. Or 
attack if possible.

Original comment by Loobinex on 2 Apr 2015 at 8:59

GoogleCodeExporter commented 9 years ago
Well, currently limitless growth leads to issues with the thing limit of 
course. Issue #541 would fix that.
Right now the dungeon does stabilize of course, when all creatures can be 
barracked or put in the scavenger room.

But yes, I think that the dungeon being finished at some point is better than 
just building rooms indefinitely even if the technical problems with it are 
fixed. Having countless workshops doesn't really make the CP more powerful or 
challenging, so it isn't really fun to have to claim all that.

It is better for the CP to have an endgame where he attacks, or build some 
(remote)defensive rooms with traps and manned guardposts and calls it a day. Or 
attack if possible.

Original comment by Loobinex on 2 Apr 2015 at 8:59

GoogleCodeExporter commented 9 years ago
I increased training priority and decreased worhshop a bit.

Attached is the result of 10 hours computer player gameplay with these changes. 
All his creatures are lv10 and put in Barracks (because there is so many traps 
and doors that computer player no longer puts creatures into workshop).

Original comment by mefistotelis on 3 Apr 2015 at 6:44

Attachments:

GoogleCodeExporter commented 9 years ago
Off topic: That image is a great example on how the computer player has 
problems with placing doors. Not a single room is at maximum efficiency because 
of improper door use and 2-tile hallways. He also had to do double the 
fortifications because of the double walls. He would be much more efficient if 
he would build single-tile hallways.

On topic: The increased priority can't hurt, but it doesn't help enough either. 
On regular maps the CP will still build a workshop right after building a 
training room and assign level 1 and 2 creatures to work there. Those creatures 
would be put to better use in the training room, which would allow for a much 
better oponent.

Original comment by Loobinex on 5 Apr 2015 at 4:07

Attachments: