KI

Fragen zum Szenarienbau und Mapdesign

Moderatoren: Henning, Björn_Jernside

Ach komm, geht mir weg mit Schaltern ;)
Daran hatte ich auch schon gedacht, aber das ist doch die uneleganteste Lösung, die man sich denken kann :rolleyes:
Aber wenn's nicht anders geht, werd ich's wohl so machen.

Trotzdem danke für die Antworten
Unelegant wäre es mit modding ;)
@Falke/khfk:
Probier mal das hier aus, um zu sehen, ob das ungefähr passt. Falls ja, nach Belieben weiter anpassen:
Verborgener Text:
; Basierend auf dem AIscript AI Serge

(defconst Dorfbewohnermax 12)
(defconst Dorfbewohner-Voran-Feudal 11)
(defconst Dorfbewohner-Voran-Ritter 11)
(defconst Dorfbewohner-Voran-Imperial 11)

; ============== GROUPS - most of these will work for any file

(defrule
(true)
=>
(set-strategic-number sn-maximum-town-size 25)
(set-strategic-number sn-camp-max-distance 30)
(set-strategic-number sn-mill-max-distance 30)
(set-strategic-number sn-percent-enemy-sighted-response 100)
(set-strategic-number sn-enemy-sighted-response-distance 25)
(set-strategic-number sn-blot-exploration-map 1)
(set-strategic-number sn-number-explore-groups 1)
(disable-self)
)

; ============== Verhalten der Militäreinheiten

(defrule
(true)
=>
(set-strategic-number sn-task-ungrouped-soldiers 0)
(set-strategic-number sn-number-explore-groups 0)
(set-strategic-number sn-number-defend-groups 6)
(set-strategic-number sn-sentry-distance 3)
(set-strategic-number sn-defend-overlap-distance 6)
(set-strategic-number sn-percent-enemy-sighted-response 70)
(disable-self)
)

; ================== RESIGNING - resigns if it can't train villagers

(defrule
(building-type-count town-center less-than 1)
(unit-type-count-total villager < 2)
(not (can-train villager) )
=>
(resign)
(disable-self)
)


; ============== VILLAGER ASSIGNMENT - Welche Rohstoffe werden abgebaut?

(defrule
(current-age == feudal-age)
=>
(set-strategic-number sn-percent-civilian-explorers 0)
(set-strategic-number sn-percent-civilian-builders 5)
(set-strategic-number sn-percent-civilian-gatherers 95)
(set-strategic-number sn-cap-civilian-explorers 0)
(set-strategic-number sn-cap-civilian-gatherers 100)
(set-strategic-number sn-food-gatherer-percentage 75)
(set-strategic-number sn-gold-gatherer-percentage 25)
(set-strategic-number sn-stone-gatherer-percentage 0)
(set-strategic-number sn-wood-gatherer-percentage 0)
(set-strategic-number sn-maximum-gold-drop-distance 20)
(set-strategic-number sn-maximum-stone-drop-distance 20)
(set-strategic-number sn-maximum-food-drop-distance 20)
(disable-self)
)

(defrule
(or
(current-age == castle-age)
(current-age == imperial-age)
)
=>
(set-strategic-number sn-percent-civilian-explorers 0)
(set-strategic-number sn-percent-civilian-builders 5)
(set-strategic-number sn-percent-civilian-gatherers 95)
(set-strategic-number sn-cap-civilian-explorers 0)
(set-strategic-number sn-cap-civilian-gatherers 100)
(set-strategic-number sn-food-gatherer-percentage 75)
(set-strategic-number sn-gold-gatherer-percentage 25)
(set-strategic-number sn-stone-gatherer-percentage 0)
(set-strategic-number sn-wood-gatherer-percentage 0)
(set-strategic-number sn-maximum-gold-drop-distance 20)
(set-strategic-number sn-maximum-stone-drop-distance 20)
(set-strategic-number sn-maximum-food-drop-distance 20)
(disable-self)
)
:P wenn ich das Problem richtig identifiziert hab, dann wird das nicht klappen ^^. Denn das die Dorfis ihr Stelle verlassen und zu einen anderen Ort zu gehen klappt automatisch... aber ich bin mir nicht mehr sicher ob das auch passiert wenn keine neue Dorfis erschaffen werden/sn numbers nicht verändert werden... wahrscheinlich hast du Recht und ich hab alles verlernt :D
Naja, ganz spontan würde ich sagen, wenn du keine neuen Dorfbewohner produzierst und der KI nicht sagst, sie soll ständig ihre Aufteilung der Dorfbewohner an die Rohstoffe ändern, müssten die Dorfbewohner arbeiten, bis die Rohstoffquelle abgebaut ist, ohne sich groß über die ganze Karte zu bewegen.

Dem kann man allerdings mithilfe von Schaltern nachhelfen und so die Rohstoffe nachwachsen lassen.
@Henning: Danke

Beim ersten Schnelltest hat's zwar noch nicht geklappt, aber ich glaube der Ansatz könnte schon richtig sein. Das Problem ist vielleicht, dass die Dörfer auf der Map keine Dorfzentren, sondern nur Mühlen und Holzfällerlager haben und dass der Befehl maximum-town-size nicht wirkt, wenn es keine Dorfzentren gibt, die die Dörfer als solche definieren. Ich werde mal ausprobieren, was passiert, wenn ich Dorfzentren reinstelle.
Falke hat geschrieben:Ich werde mal ausprobieren, was passiert, wenn ich Dorfzentren reinstelle.
Ist zwar jetzt nur ein Tropfen auf dem heißen Stein... aber falls es dich optisch stört, extra deswegen all deine klein-idyllischen Dörfchen mit den doch IMO oft unpraktisch voluminösen Dorfzentren vollzupropfen, wäre es vielleicht eine Opton, diese unsichtbar zu machen.
Entweder, indem du sie auf unsichtbaren ITs platzierst oder per AoK TS in sich selbst einquartierst (siehe auch entsprechende FAQ-Beiträge).
Solche Spielereien sind zwar meist nur für Spezialfälle, aber hier eventuell auch sinnvoll.
Dürfte (sofern es bei Gebäuden problemlos klappt) auf die Funktionalität der Gebäude als KI-Objekt eigentlich keine Auswirkungen haben.

Good luck jedenfalls noch beim Werkeln! :)
Also wie erwartet funktioniert maximum/minimum-town-size, wenn man ein Dorfzentrum hinstellt. Das hilft aber nur, wenn alle Dörfer gleich groß sein sollen, was bei mir nicht der Fall ist. Wenn ich also in der KI irgendeine Soll-Dorfgröße einstelle kommt es erst recht zu einer Völkerwanderung von den größeren in die kleineren Dörfer.

Das mit dem unsichtbaren Dorfzentren hatte ich auch schon im Hinterkopf, klappt aber auch nicht. Ausneunen zeigt überhaupt keinen Effekt und in sich selbst einquartieren führt zu folgendem Ergebnis:

Bild

ITs bringen auch nichts. Je nachdem wie man das DZ auf dem IT platziert, wird auch nur ein Teil des DZ unsichtbar. Ausserdem verschwinden die ITs (d.h. die Pflanzen) nach einmaligem Testen. Beim zweiten Test hat man wieder ein ganz normales DZ.

Alles in allem wird mir die Schalterlösung immer sympathischer ;)
Beim Dorfzentrum müsstest du statt Pflanzen "FlagX" setzen

Klappt es vlt wenn du das DZ in ein Holzfällerlager o.ä. einquartierst?
@ Dorfzentren:
Ama hat schon seit längerem ein umfangreicheres Tutorial zum Thema von mir liegen, das ich hier einfach mal als ZIP hochgeladen habe: Das dezentrale Dorfzentrum - Tricks und Spieleren mit dem Dorfzentrum.

Vielleicht hilft's ja weiter ... :D
Falke hat geschrieben:Ausneunen zeigt überhaupt keinen Effekt und in sich selbst einquartieren führt zu folgendem Ergebnis:
ITs bringen auch nichts. Je nachdem wie man das DZ auf dem IT platziert, wird auch nur ein Teil des DZ unsichtbar.
Achje, ja da hab ich nicht dran gedacht; DZs bestehen ja aus mehreren slps. :rolleyes:
Alles in allem wird mir die Schalterlösung immer sympathischer
Die hätte ich im Zweifel auch bevorzugt - normalerweise haben die meisten Mapper früher ja auch ohne diese Tricksereien irgendwie hinbekommen, was sie wollten. ;)
Und Schalter sind wesentlich direkter und (wenn sie mal funktionieren) narrensicherer als KIs, die ja immer eine Lage interpretieren.
Björn_Jernside hat geschrieben:Klappt es vlt wenn du das DZ in ein Holzfällerlager o.ä. einquartierst?
Da passiert auch etwas sehr lustiges:

Bild
Barbarossa hat geschrieben:Und Schalter sind wesentlich direkter und (wenn sie mal funktionieren) narrensicherer als KIs, die ja immer eine Lage interpretieren.
Diesen Satz werd ich mir gleich mal auf nen Zettel schreiben und über dem PC an die Wand hängen und dann geh ich euch nie mehr mit unnötig kompliziertem KI-Kram auf die Nerven. :D
Falke hat geschrieben:Diesen Satz werd ich mir gleich mal auf nen Zettel schreiben und über dem PC an die Wand hängen und dann geh ich euch nie mehr mit unnötig kompliziertem KI-Kram auf die Nerven. :D
LOOL! Na so restriktiv will ich das nicht ausgelegt wissen :eek: - schließlich lernt ja hier auch niemand aus und KIs sind mir wegen ihrer Systematik eigentlich recht sympathisch. Und da hatten wir schon ganz andere Skript-Kettenbriefe hier... :D
Es gibt ja zudem viele gute Gründe, KI-Skripte einzusetzen! Erstrangig natürlich bei den mittlerweile nicht wenigen Fällen, wo man mit Schaltern nicht oder nur sehr umständlich zum Ziel käme (ich z.B. hab mich der Materie "KI" damals auch nicht ohne Grund und nach langem Sträuben zugewandt).

Wenn du dir schon was zitatmäßiges von mir einrahmen willst, dann lieber meine Goldene Regel des Pragmatismus:
wenn ein Detail-Problem ungebührlich viel Zeit von einem Gesamtprojekt zu fressen beginnt oder sich der Lösung unabsehbar verweigert, sollte man im Zweifel besser Fünfe grade sein lassen und beim Funktionalsten bleiben. Ich weiß leider wovon ich rede; mein Premiere-Werk hat seinerzeit u.a. durch Summierung solcher Kleinigkeiten satte 3-4 Jahre auf sich warten lassen. :rolleyes:

Aber in diesem Falle dürftest du sicher auf die ein oder andere Weise zu einem befriedigenden Ergebnis kommen. :)