UnofficialCrusaderPatch / UnofficialCrusaderPatch2

Unofficial balancing patch installer for Stronghold Crusader 1
MIT License
430 stars 59 forks source link

Ressourcenmanagement: Kornspeicher #264

Open Ralf-Schmidt opened 5 years ago

Ralf-Schmidt commented 5 years ago

Ich habe den Koop-Modus mit einigen KI's ausprobiert, besonders mit dem Wolf, und beim Spielen ist mir aufgefallen, dass die KI unnötig viel Gold verschwendet, um Nahrung einzukaufen. Die Rationsstufe ist bei vielen KI's standardmäßig auf +8 eingestellt und die KI kann, nach meinen Beobachtungen, den Nahrungsverbrauch nicht dadurch regulieren, die Rationsstufe z.B. dauerhaft auf -4 oder 0 zu senken. Wenn wenig Nahrung vorhanden ist, scheint die KI dies zu erkennen und die Ration kurzfristig auf 0 zu reduzieren, aber sobald wieder Nahrung vorhanden ist, werden +8 Rationen ausgegeben. Das Problem ist folgendes: Fast alle KI's kaufen zusätzlich neue Nahrungsarten ein, um den Beliebtheitsbonus zu erhöhen. Im Beispiel vom Wolf (und vielen anderen) sind es immer 10 Einheiten Käse und 10 Einheiten Brot. Sind diese aufgebraucht, werden wieder jeweils 10 Stück eingekauft. Mit der erzeugten Beliebtheit, drückt die KI Steuern und lässt den Kornspeicher weiter mit +8 Rationen laufen. Die zusätzlichen Steuereinnahmen reichen allerdings nicht aus, um die Goldkosten zu kompensieren, die der ständige Nahrungseinkauf fordert. Im Grunde kauft die KI Nahrung ein, um höhere Steuern zu erheben, um damit wieder Nahrung einzukaufen, die sofort wieder dank der +8 Ration sofort wieder verbraucht ist. Das heißt, die KI verschwendet ungeheures Potential. Besonders dramatisch ist dies bei KI's, die zusätzlich noch Bierausschank betreiben, denn der relative Nutzen von höheren Steuern wird pro Steuerstufe immer niedriger.

Eine Lösung des Problems ist, die Kornspeichereinstellung standardmäßig auf 0 zu belassen und statt höhere Steuern zu ziehen, sollte die KI überschüssige Nahrung verkaufen. Dazu sollte eine niedrigere Verkaufsgrenze gesetzt werden. Dies sei an den Ersteller des Patches adressiert. Wenn es die Möglichkeit gibt, das Kornspeicher/Marktplatzverhalten der KI zu beeinflussen, sollten entsprechende Änderungen unbedingt in Erwägung gezogen werden. Jede KI ist individuell anzupassen.

Den meisten Leuten, wird dieses Problem nicht aufgefallen sein. Die Behebung wird aber dafür sorgen, dass die KI ihr Gold kompetenter einsetzt.

ByBurton commented 5 years ago

Einige Aspekte würde ich gerne aufgreifen. "Fast alle KIs kaufen zusätzlich neue Nahrungsarten ein" stimmt nicht. Maximal die Hälfte.

Das Verhalten was Verkaufen von Nahrung angeht / Einkaufen ist leicht zu lösen, aber von wegen Rationen habe ich bisher noch nichts im Code gefunden.

Ich Entschuldige mich, dass ich für @Sh0wdown hier antworte, aber ich kümmere mich ebenfalls momentan um die Variablen die das KI Verhalten regeln.

Was ich gerne hätte wäre eine Möglichkeit, für jede KI einzeln die Rationen und Steuerstufen einstellen zu können, bzw. die Präferenzen. Aber ich glaube, dass wird noch eine Weile dauern und wird eine niedrigere Prio haben. Im Moment versuchen wir erst so viele Variablen wie möglich zu entschlüsseln.

Evrey commented 5 years ago

Man bedenke Bots wie mein gemoddetes Schwein, für die erhöhte Rationen das einzige Mittel sind, negative Beliebtheit durch Foltergeräte zu kompensieren.

PitchNeeded commented 5 years ago

(Apologies for not knowing German)

When the AI spectator mode used to allow you to view AI economic stats such as taxes, Emir, Saladin, Nizar and Abbot were on double rations (+8) if they had a decent amount of food in their granary. Do they really need that (especially as Emir and Abbot don't have that many bakeries in some of their vanilla castles). They may be better with extra rations than double rations and being able to sell more bread I think (unless they are at low popularity or have no inns working).

Even Wazir could go down to extra rations (+4), he buys apples now (+1) and has a -3 fear factor in his vanilla castles so he could offer low taxes (+2) and be able to sell much more bread.

Ralf-Schmidt commented 5 years ago

Ich adressierte 2 Anliegen. Einmal das Problem mit Zukäufen von Käse und Brot. Und allgemein schlechtes Management der KI, was Steuern/Rationsstufen angeht.

,,Das Verhalten was Verkaufen von Nahrung angeht / Einkaufen ist leicht zu lösen…“ Der zusätzliche Einkauf von Käse und Brot bei den entsprechenden KI’s, sollte abgestellt werden. Dauerhaft verschiedene Nahrungsarten im Kornspeicher zu haben, ist am wirksamsten, wenn nur eine niedrige Rationsstufe eingestellt ist. Die KI stellt die Ration allerdings oftmals auf +8 und die eingekaufte Nahrung, ist, besonders bei hoher Bevölkerung, sofort aufgebraucht und die KI kauft erneut ein. Ich finde, das ist extrem kontraproduktiv und die KI könnte ihr Gold sinnvoller einsetzen.

,,Was ich gerne hätte wäre eine Möglichkeit, für jede KI einzeln die Rationen und Steuerstufen einstellen zu können, bzw. die Präferenzen.“ Das ist genau das, was ich meine. Für jede KI sollte individuell festgelegt werden, welche Steuer- und Rationsstufe eingestellt wird, ebenso die Verkaufsgrenzen Ressourcen. Dies immer mit Berücksichtigung, welchen Angstfaktor die KI hat und ob die KI Bierausschank nutzt. Die KI sollte ihre Ressourcen so nutzen, dass sie möglichst viel Gold erhält.

,,Man bedenke Bots wie mein gemoddetes Schwein, für die erhöhte Rationen das einzige Mittel sind, negative Beliebtheit durch Foltergeräte zu kompensieren.“ Mit einem negativen Angstfaktor funktioniert die KI besser und Probleme mit der Nahrung ergeben sich nicht in der Form, wie mit neutralen oder positiven KI’s. Denn durch den Angstfaktor wird auch mehr Nahrung produziert. KI’s mit negativem Angstfaktor können höhere Rationen sinnvoll nutzen.
Allerdings gibt es KIs, die Probleme haben, +8 Rationen dauerhaft aufrechtzuerhalten/oder bei denen es wenig Sinn macht, +8 Rationen festzulegen. Dies ist bei neutralem oder positivem Angstfaktor der Fall. Wenn die KI z.B. Nahrung auf+8 einstellt und zusätzlich Bierausschank von +8 hat, zieht die KI -16 Steuern. Besser wäre es aber, wenn die KI nur -8 Steuern nehmen würde und die Ration auf 0 belässt und die Nahrung stattdessen verkauft. Versteht ihr, was ich meine? Besonders schlimm ist es bei positivem Angstfaktor, wenn die Produktion nicht hinterherkommt. Dann kauft die Ki Nahrung ein, um +8 Rationen zu halten, zieht damit hohe Steuern, die aber nicht ausreichen, um die Nahrung wieder einzukaufen, die für +8 Rationen benötigt werden. Das ist ein großes Problem, dass dein Evrey-Wolf hat, der, meines Erachtens, ökonomisch katastrophal ist.

Mit dem Beitrag von PitchNeeded stimme ich komplett überein.

MarcusVipsaniusAgrippa commented 5 years ago

I find it very restrictive to set the number because of the good/bad things the ai "usually" builds since that would mean you have to stick with these and can't e.g. try different things in the ai editor (though the ai still has taxes to regulate, but that's not optimal).

Something I'd like to suggest though is to fix the rations for ais with beer to 0 to prevent the inefficient higher taxes. I'm not sure every ai sells their food though. I know the bread producers do, but I think Lionheart e.g. doesn't. If that's the case it should definitely be changed. Another thing worth considering is not having the ai buy food they don't produce. It's just not profitable.