PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AI-Modding Halbwissen



Boron
09.03.05, 15:31
Auf Wunsch der Regenten Abominus und Arminus will ich meine bisherigen Erkenntnisse mitteilen .
Der erste Test ( siehe mein Weiße Teufel AAR ) ist schonmal vielversprechend . Dennoch sind meine Erkenntnisse teilweise Halbwissen/Spekulation :) . V.a. G'Kar wird hoffentlich auch einiges zum AI-Modding beitragen zu Sektionen die ich auslasse oder wo ich Falsches schreibe .

I. Wie bringe ich der AI ein anständiges Bauprogramm bei

Wichtig sind v.a. die Einträge im military = { ... } Abschnitt .
Die einzelnen Einstellungen :


relative_build_scheme = yes/no
No wählen . Bei yes versucht die AI selber Balance zu halten , beachtet also die Vorgaben die der Spieler macht nicht . So verschwendet Russland dann z.b. einen Teil seiner Resourcen in Schiffe .

Max_batch_Einstellungen :

max_batch_peace = 360
Maximale Dauer der Produktionsserien in Tagen die die AI im Frieden in Auftrag geben darf . Bei Ländern wie den Usa hoch einstellen so profitiert die AI mehr vom Serienproduktionsbonus .


max_batch_war = 180
Gilt im Krieg ohne Heimatfront , z.b. Usa gegen Deutschland solange Deutschland nicht in den Usa gelandet ist .


max_batch_home_front = 180
Gilt im Krieg mit Heimatfront , z.b. Russland vs. Deutschland .

Bei Ländern wie den Usa generell großzügig einstellen , ausserdem für die späteren AIs , z.b. die 44er da dann kaum noch neue Modelle hinzukommen .

Produktionseinstellungen :

#### Divisions etc...
infantry = 38
cavalry = 0
motorized = 8
mechanized = 0
light_armor = 11
armor = 0
paratrooper = 0
marine = 0
bergsjaeger = 2
garrison = 8
hq = 4
militia = 0
# 71 %
interceptor = 3
multi_role = 2
escort = 1
cas = 3
strategic_bomber = 1
tactical_bomber = 4
naval_bomber = 0
transport_plane = 0
flying_bomb = 0
flying_rocket = 0
# 14 %
battleship = 1
carrier = 0
destroyer = 3
light_cruiser = 3
heavy_cruiser = 1
battlecruiser = 0
submarine = 5
transports = 2
# 15 %
Dies ist die unmodifizierte Sov_1936.ai .
Ist relative_build_scheme auf no eingestellt baut die AI ziemlich genau nach diesen Vorgaben , d.h. sie weist z.b. 38% ihrer fürs Produzieren verwendeten ICs dem Bau von Infanterie zu .

Meine neue Sov_1936.ai sieht so aus :

#### Divisions etc...
infantry = 55
cavalry = 0
motorized = 10
mechanized = 0
light_armor = 20
armor = 0
paratrooper = 0
marine = 0
bergsjaeger = 5
garrison = 0
hq = 4
militia = 0
# 94 %
interceptor = 2
multi_role = 0
escort = 2
cas = 0
strategic_bomber = 0
tactical_bomber = 2
naval_bomber = 0
transport_plane = 0
flying_bomb = 0
flying_rocket = 0
# 6 %
battleship = 0
carrier = 0
destroyer = 0
light_cruiser = 0
heavy_cruiser = 0
battlecruiser = 0
submarine = 0
transports = 0
# 0 %
So verwendet Russland fast alles für sein Heer , denn eine Marine ist überflüssig und ihre Luftwaffe ist nicht so wichtig da die KI sie eh nicht allzu geschickt einsetzt und Luftwaffe eh relativ schwach gegen Truppenansammlungen von mehr als 5-6 Divisionen ist .

Wichtig : Die Summe muss immer 100% ergeben !

Brigadeneinstellungen


#### Brigades
artillery = 30
sp_artillery = 10
rocket_artillery = 10
sp_rct_artillery = 10
anti_tank = 20
tank_destroyer = 0
light_armor_brigade = 0
heavy_armor = 10
super_heavy_armor = 0
armored_car = 0
anti_air = 0
police = 0
engineer = 10
Jede Zahl steht für Prozent . Beim modden aufpassen nicht z.b. 50% heavy_armor-Brigaden einstellen wenn man nur 20% Panzer im Divisionsproduktionsabschnitt von oben eingegeben hat .
Summe muss </= 100 (%) sein !


cag = 100
Die Carrier Air Groups . Auch hier wieder </= 100 wählen . In den meisten AI-Files ist sie auf 100 , daher empfehle ich es auf 100 zu lassen . Ich denke es heisst dann dass die AI für alle ihre Träger CAGs baut . So soll es ja auch sein .

Boron
09.03.05, 16:05
II. Wichtige generelle Einstellungen

A. Ai-Switches

switch = no # [yes/no]
Bei yes checkt Hoi II ab und an ob eine neuere AI vorliegt , d.h. es switcht z.b. als Usa 1940 von der 1939er auf die 1940er AI .
Wenn man moddet auf no stellen . Per Events kann man den Switch immer noch manuell befehlen .
Ausserdem alle Ai-Switch-Events der AI die man modden will aus den Ai-Switches.txts im "Hearts of Iron 2\db\events"-Unterordner entweder löschen oder per Event sleepen . Löschen ist bequemer .

So funktioniert ein Switch per Event :

#AI-Switch
event = {
id = 80004
random = no
country = SOV

trigger = { technology = 1260 }

name = "Die neue vollmechanisierte Armee"
desc = "Ab jetzt wird die russische Armee eine vollmechanisierte Elitearmee . Panzerhorden auf nach Berlin !"
style = 0
picture = "gulag"

date = { day = 1 month = january year = 1942 }
offset = 1
deathdate = { day = 1 month = january year = 1990 }

action_a = {
name = "Wunderbar"
command = { type = ai which = "sov_1944.ai" }
}
}

Für alle möglichen Einstellungen in Abos excellentem Modding Guide nachschauen .
In dem oberen Beispiel kann meine Russland-AI ab 1942 auf die neue 1944er-Ai switchen . Dies geht jedoch nur wenn sie auch die Technik Mech-Inf beherrscht ( Der Trigger ) . Denn die neue AI stellt meine Russland-AI auf vollmechanisiert um mit 20% Panzer und 60% Mech-Inf .
So kann man also schöne und sinnvolle Switches machen .

B. Strategisches Verlegen Einstellungen

strat_redeploy_threshold = 50
Dies bedeutet dass die AI strategisch verlegt wenn die herkömmliche Bewegung bis ins Ziel 50 oder mehr Tage dauern würde . Werte von 40-70 sind meiner Meinung nach gut . In den Standard-AI-Files ist der Wert meistens 27 Tage , das ist etwas zu niedrig .


max_redeploying = 0.15
Prozentsatz , den die AI maximal strategisch verlegen darf . G'Kar meint dass diese Einstellung nicht funktioniert , als ich ihn bei mir aber mal auf 5% gesetzt hatte hatte die AI in Stichproben nur immer ca. 15-20 ihrer 400 Divisionen im Pool . Daher glaube ich dass es wenn auch nicht 100%ig doch einigermaßen funktioniert .
Default ist es auf 25% , daher am besten diese Linie einfügen und auf 10-20% stellen .

C. Garnisionen


min_garrison_prop = [0.0-1.0] # The war-time minimum proportion of troops allocated to garrison duty

max_garrison_prop = [0.0-1.0] # The war-time desired proportion of troops allocated to garrison duty
# NOTE: In areas without fronts, _all_ land units are controlled by the Garrison AI (except forces preparing for an invasion.)

Bei Ländern mit Landfront höchstens 10% , also 0.1 setzten . Bei Inselländern (Usa) kann man etwas höhere Werte nehmen .

D. Expeditionstruppen


# Proportion of our land divisions that we are prepared to relinquish control over.
# NOTE: Do not set too low - the AI must be allowed to give over control of its forces in "allied war zones". Default: 0.75.
exp_force_ratio = 0.75

# Will never send exp. forces _overseas_ to these countries:
# NOTE: May still give some to neighboring allies though.
no_exp_forces_to = {
TAG
...
}

Beispiel aus Vanilla :
Usa 1944.ai

exp_force_ratio = 0.10
exp_force_ratios = {
ENG = 1.0
}
no_exp_forces_to = { }
Das heißt das die Usa generell 10% ihrer Truppen als Expeditionstruppen abgibt und diese dann zu 100% an England i.d.R. , zumindest wenn sie sie "oversea" schicken also von der Usa direkt nach England/Englischen Besitztümern auf dem Kontinent .
Mein Tip daher : Zumindest für Landmächte wie Russland und Deutschland sehr gering setzten auf 0-10% .

E. Front Ratios

max_front_ratio = X # The max wanted friendly-to-enemy division ratio along the front. Default is 4.0.
max_front_ratios = { # Override the default against specific countries. Ignored against humans.
FIN = 2.0
...
}

Beispiel Vanilla-Russland-1936er-Ai :


max_front_ratio = 4.0
max_front_ratios = {
JAP = 1.0
MAN = 1.0
}

[/CODE]Wichtig: Für den Mensch gilt dieser Wert nicht !

Ich habe bei mir die Russlandai einfach so abgeändert :

max_front_ratio = 6.0
max_front_ratios = { }

Sicher bin ich mir nicht aber so stellt der Russe glaube ich einfach möglichst viel an seinen Fronten auf . In der Default-Einstellung die Ratio = 1 gegen Japan ist nämlich Unfug da der Russe so versucht genausoviel Divisionen wie die Japaner dort aufzustellen und so also nicht angreift . So kommt es ziemlich wahrscheinlich zum Stellungskrieg und das ist ja unerwünscht .

F. Sonstiges


desperation = 0.3 #If more than this % of ic is occupied by enemy, panic and build militia hordes.

Daher hoch einstellen , z.b. 0.8 oder 0.9 .


upgrading = 0.1 #max % of ic used on this slider.

reinforcement = 0.1 #max % of ic used on this slider.
In den meisten AI-Files fehlen diese 2 Einstellungen , so kann man wenn man es wünscht manuell einstellen wieviel % ihrer IC die AI maximal zum Aufrüsten und Verstärken hernehmen darf .
Ich habe bei mir diese 2 Linien nicht eingefügt .

Boron
09.03.05, 16:49
III. Ai-Agressivität

Dies sind die ganzen Einstellungen in der Front = { ... } Sektion .

A. Generelles AI-Verhalten


recklessness = [0-3]
Je höher , desto aggresiver ist die AI generell .


# Even - Distribute forces evenly along the whole front.
# Reactive - Try to match enemy troop concentrations.
# Defensive - More troops in strategically important provinces (IC, Victory Points, Oil, etc)
# Offensive - Concentrate more troops where the enemy us weak
# Operational Defensive - The fewer avenues of escape, the less troops (to avoid encirclement.)
distrib_vs_ai = [even/reactive/defensive/offensive/op_defensive]
distrib_vs_human = [even/reactive/defensive/offensive/op_defensive]

Das AI-Verhalten gegen Mensch und AI . Ich empfehle generell das Offensive-Setting . Hoi 2 ist ja zweiter Weltkrieg und nicht erster Weltkrieg .

B. Die Odds


reserve_prop = [0.0-1.0] # Maximum proportion of total divisions in a front allowed to remain behind the front line ( HQs and divisions needing to recover.)

panic_ratio_vs_ai = X # Front requests more troops if outnumbered by this factor. NOTE: this results in troops being drawn from garrison duties, etc, so set HIGH.
panic_ratio_vs_human = X # Front requests more troops if outnumbered by this factor. NOTE: this results in troops being drawn from garrison duties, etc, so set HIGH.

enemy_reinf_days = X # Count enemy units less than X days from a target province in odds calculations

base_attack_odds = X # Will attack at X odds or better
min_attack_odds = X # If stalemated for a long period, may go as low as these attack odds
max_attack_odds = X # Don't use more force than necessary to reach these odds
reinforce_odds = X # Send in more troops if the attacking force is at these odds
withdraw_odds = X # Break off attacks and withdraw at these odds
# NOTE: the calculations for retreating from _defensive_ positions are too complex to condense to a few variables
# NOTE: will _also_ retreat if the average organization is too low
}


river = x (What to multiply attacking power with if crossing a river. < 1.0 is an advantage..)

# the following modifies the odds-strength for defender. (1.0 = no difference.)
largefort = x #for forts above level 6.
smallfort = x #for forts 6 and below
occupied = x #for surrounded pocket at enemy territory
owned = x #for surrounded pocket at own territory

#Odds modifiying variables
# the following is to reduce odds-strength for attacker.
frozen_attack = 0.50
snow_attack = 0.50
blizzard_attack = 0.25
storm_attack = 0.60
muddy_attack = 0.75

#reduces the size of odds in total.. (1.0 = no difference, 0.5 = halved.)
jungle_attack = 0.85
mountain_attack = 0.60
swamp_attack = 0.60
forest_attack = 0.85
hill_attack = 0.75
urban_attack = 0.40
Das steht alles im ai-doc .

Leider ist aber auch dieser Teil noch in den AI-Files dabei und nicht erklärt :

strength = 1.0
organisation = 2.0
soft_attack = 1.0
hard_attack = 2.0
ground_defense = 1.0
dig_in = 1.25 # Against defender
Diesen Teil ignoriere ich daher da ich hier nur mutmaßen könnte . Ich hoffe dass es in 1.2 in den Docs nachgeliefert wird .

Ein Vanilla-Odds-Beispiel mit der 1936-Soviet.Ai :

front = {
recklessness = 1 # 0-3
distrib_vs_ai = even
distrib_vs_human = even

enemy_reinf_days = 6
reserve_prop = 0.1
panic_ratio_vs_ai = 2.0
panic_ratio_vs_human = 2.0
base_attack_odds = 1.7
min_attack_odds = 1.3
max_attack_odds = 3.0
reinforce_odds = 1.2
withdraw_odds = 0.6

strength = 1.0
organisation = 2.0
soft_attack = 1.0
hard_attack = 2.0
ground_defense = 1.0
dig_in = 1.25 # Against defender

frozen_attack = 0.50
snow_attack = 0.50
blizzard_attack = 0.25
storm_attack = 0.60
muddy_attack = 0.75

largefort = 2.0
smallfort = 1.5
occupied = 0.7
owned = 0.7

jungle_attack = 0.85
mountain_attack = 0.60
swamp_attack = 0.60
forest_attack = 0.85
hill_attack = 0.75
urban_attack = 0.40
river = 0.50
}


Dies ist meiner Meinung nach die Hauptursache für die so passiv agierende AI . Auch die 1944-Vanilla.AI sieht ähnlich aus obwohl Russland ja jetzt zum großen Sturm ansetzten sollte :

front = {
recklessness = 0 # 0-3
distrib_vs_ai = even
distrib_vs_human = even

enemy_reinf_days = 6
reserve_prop = 0.0
panic_ratio_vs_ai = 2.0
panic_ratio_vs_human = 2.0
base_attack_odds = 1.7
min_attack_odds = 1.3
max_attack_odds = 3.0
reinforce_odds = 1.2
withdraw_odds = 0.6

strength = 1.0
organisation = 2.0
soft_attack = 1.0
hard_attack = 2.0
ground_defense = 1.0
dig_in = 1.25 # Against defender

frozen_attack = 0.50
snow_attack = 0.50
blizzard_attack = 0.25
storm_attack = 0.60
muddy_attack = 0.75

largefort = 2.0
smallfort = 1.5
occupied = 0.7
owned = 0.7

jungle_attack = 0.85
mountain_attack = 0.60
swamp_attack = 0.60
forest_attack = 0.85
hill_attack = 0.75
urban_attack = 0.40
river = 0.50
Meine Vermutungen :
Even Verteilung führt dazu dass Russland sich versucht gleichmäßig über die Front zu verteilen . Ein deutscher Spieler baut aber in Vanilla mindestens genausoviel Truppen wie Russland . So ist das Kräfteverhältnis zumindest 1:1 an der Ostfront . Min-Attack-Vorgabe in Vanilla ist aber 1.3 . In diese Berechnung fließt aber alles mögliche ein , z.b. wird die geschätzte russische Stärke halbiert wenn es über einen Fluss geht , ausserdem heisst "organisation = 2.0" meiner Meinung nach (Vorsicht dies ist Spekulation wegen fehlender Dokumentation durch Paradox) dass Organisation stark bei der Abschätzung der Attackodds mitberücksichtigt wird . Die Deutschen haben wegen ihren Doktrinen ja eine bessere Organisation als die Russen .
Besonders erschwerend kommt meiner Einschätzung nach noch dieses Setting hinzu : "enemy_reinf_days = 6" . D.h. alle Divisionen des Spielers die theoretisch binnen 6! Tagen die angegriffene Provinz erreichen könnten werden mit in die AI-Berechnungen eingeschlossen . Das dürfte i.d.R. jede angrenzende Provinz sein !

Fazit : Der Vanilla-Russe bringt eigentlich so gut wie nie die Attackodds zusammen die er zum Angriff braucht . Daher bewacht man einfach jede Provinz der ca. 15-20 Provinzen langen Ostfront mit ca. 10 Divisionen und hat so immer noch als Spieler 50-100 Divisionen frei um Angriffsschwerpunkte zu bilden . Wenn man 1x pro halbes Jahr einen russischen Angriff erlebt kann man dann schon froh sein .


Mein Lösungsansatz

enemy_reinf_days = 1
Meistens ist ja ein Kampf nach 1 Tag schon vorbei !


min_attack_odds = 0.7 - 1
Denn Flüsse halbieren ja z.b. die AI-Einschätzung , wenn man ihr aber viele Piobrigaden im Bauprogramm zuweist sind Flüsse ja nicht mehr so schlimm usw. .


base_attack_odds = 1 - 1.3
Die normalen Angriffsodds . Meiner Einschätzung nach ist durch die übervorsichtigen Kalkulationen ein base_attack_odd von 1 im Spiel dann eher wie ca. 1,5 : 1 zugunsten der angreifenden AI da ja durch Gelände , Einbeziehung von Reinforcements usw. die Odds beträchtlich reduziert werden .


panic_ratio_vs_human = ca. 1.0
Wenn ich es richtig verstehe ( ist etwas dumm im ai-doc.txt formuliert ) heisst ein 1.0 dass die AI versucht Verstärkungen herbeizuschaffen wenn der Mensch als genauso stark betrachtet wird . Testweise kann man auch 0.5 oder ähnliches versuchen .
Damit soll erreicht werden dass die AI Verstärkungen schickt wenn der Mensch als genauso stark angesehen wird . Im Spiel ist dies nämlich normal für die AI bereits extrem gefährlich und deutet eher auf einen Angriff des Menschen hin .

Meine momentane 1936er-Russland Ai :

front = {
recklessness = 3 # 0-3
distrib_vs_ai = offensive
distrib_vs_human = offensive

enemy_reinf_days = 1
reserve_prop = 0.1
panic_ratio_vs_ai = 2.0
panic_ratio_vs_human = 1.0
base_attack_odds = 1.2
min_attack_odds = 0.8
max_attack_odds = 5.0
reinforce_odds = 1.0
withdraw_odds = 0.4
}

Bis jetzt bin ich ganz zufrieden , hat der Russe im meinem AAR doch einen sehr erfolgreichen Gegenangriff auf Königsberg gestartet . Es bestehen natürlich nahezu unendlich Feintuningmöglichkeiten aber durch "sinnvolle" Herabsetzung der Attackodds und Einsatz der Offensiv-Ki ist meiner Meinung nach ein recht gutes grobes AI-Verbessern möglich das v.a. auch relativ schnell geht .

Ausserdem empfehle ich nur 2-3 AIs zu verwenden und nicht wie von Paradox gemacht 10-20 pro Hauptland . Erstens ist es nämlich extrem viel Arbeit ( für meine 2 Ai-Files und 5 Events habe ich schon 2-3 Tage herumgebastelt ) und zweitens ist es teilweise meiner Meinung nach sogar zuviel des Guten . So wird zwar der Schwachsinn des Führers mit ständig wechselnden Präferenzen gut simuliert ( Deutschland kriegt alle paar Monate in Vanilla eine neue AI ) aber dies schadet wohl mehr als es nützt .

Boron
09.03.05, 17:19
Hier meine Änderungen an Russland .
Russlandmod-Beta (http://www.8ung.at/boron.the.great/Russlandmod.rar)
"Readme" :
Die 2 AI-Files sind meine 2 veränderten AIs .
Die 3 AI-Switch.txts über die normalen kopieren , sie löschen die Russlandswitch-events aus Vanilla

Mein Ussr.txt hat 5 neue Events , darunter den AI-Switch von der 36er auf die 44er AI . Ausserdem sterben Russland keine Leader mehr durch die Großen Säuberungs-Events .

Schliesslich noch optimal der Misc.txt und der Difficulty.csv :
Im Misc.txt habe ich die IC fürs Annektieren wieder auf 0.33 erhöht so wie in Hoi 1 und TC Multiplikator von 1.5 auf 2 erhöht .
In der Difficulty.txt kriegt wenn man normale Schwierigkeit wählt die AI +20% IC/Resourcen , die Commies +50% IC/Resourcen und +30% Researchspeed .

Alternativ kann man auch schwer / sehr schwer wählen , hier kriegen alle AIs +100% IC/Resourcen/Manpower und +10% Techspeed auf schwer , +200% IC/Resourcen/Manpower und +20% Techspeed auf sehr schwer .

Ich spiele zur Zeit auf "normal" mit meinen Russlandmodifications .

Ausserdem möchte ich noch G'Kars DAIM wärmstens weiterempfehlen , es ist sehr gut .
Lediglich die AI-attack Odds sind darin meiner Meinung nach etwas zu restriktiv , also am besten G'Kars DAIM hernehmen und aber Build-Scheme und Attacking-Odds den eigenen Vorlieben anpassen .

Fritz d. Eisbär
09.03.05, 17:33
Sauber Boron, ich hoffe ich komme die nächsten beiden Wochen trotz Arbeit usw. dazu das alles mal zu testen. Leider Kann ich dir keine positive Rep mehr geben. :prost:

Boron
09.03.05, 17:37
Sauber Boron, ich hoffe ich komme die nächsten beiden Wochen trotz Arbeit usw. dazu das alles mal zu testen. Leider Kann ich dir keine positive Rep mehr geben. :prost:
Funktioniert der Link ? Bin da noch etwas unerfahren :D . Der Selbsttest hat funktioniert aber das muss ja nichts heissen :) .

Da ihr ja in die Usa verreist solltet ihr ja dort Internet haben oder ? Vielleicht sogar wireless . Eigentlich müssten die Usa ja da viel fortschrittlicher wie wir sein :) .
Ansonsten viel Spass mit der etwas aggressiveren AI werter Fritz :) . Hoffentlich funktioniert sie bei euch auch so gut wie bei mir . Immerhin scheint es ihnen ja jetzt gelungen zu sein meinen Vormarsch durch die Zertrümmerung der Königsbergfront zu stoppen :) .

[B@W] Abominus
09.03.05, 17:59
Habe mir noch nicht alles durchgelesen, da ich z.Zt. andere Sachen im Kopf habe.

Allerdings gibt es schon mal ne positive Rep, und ich werde mir die Sache demnächst, wenn es für mich relevant wird, durchlesen.

Vielen Dank im Voraus!

Boron
09.03.05, 18:05
Abominus']Habe mir noch nicht alles durchgelesen, da ich z.Zt. andere Sachen im Kopf habe.

Allerdings gibt es schon mal ne positive Rep, und ich werde mir die Sache demnächst, wenn es für mich relevant wird, durchlesen.

Vielen Dank im Voraus!
Den Rep-Sprung merkt man voll :) .
Leider darf ich euch noch nicht bewerten , bin aber gestern auf euer Hoi 1 Förster AAR gestoßen welches wahrlich eine Rep verdient . Wenn ich also wieder darf gibt es eine Rep dafür :) .

Ich werde die nächsten Tage noch manches anfügen und vielleicht der werte G'Kar auch ( ich wäre zumindest erfreut ) da noch ziemlich viel mit den AI-Files möglich ist .

Von mir kommt auf alle Fälle noch ein Abschnitt über Gebietsprioritäten , da hat nämlich Vanilla-Hoi meiner Meinung nach eine ziemliche Schwäche die einem das ganze Spiel versauen kann :) . Jetzt will ich aber ersteinmal meinen Barbarossa-Feldzug fortsetzen :D .

Zero
09.03.05, 18:29
Habe es mir runtergeladen. Nun eine Frage: Wenn ich das jetzt ins Spiel kopiere, wird das dann für gespeicherte Spiele übernommen, oder muss ich neu anfangen, um den gewünschten Effekt zu erhalten?

Boron
09.03.05, 18:46
Habe es mir runtergeladen. Nun eine Frage: Wenn ich das jetzt ins Spiel kopiere, wird das dann für gespeicherte Spiele übernommen, oder muss ich neu anfangen, um den gewünschten Effekt zu erhalten?
Es wird glaube ich übernommen .

Allerdings kann es sein dass z.b. die AI nicht gleich aktiviert wird da ich ja nur 2 Russland-Ais laufen lasse da dies meiner Meinung nach reicht . Seid ihr aber z.b. gerade im Jahre 1941 läuft bei euch wahrscheinlich gerade die 1941er AI oder eine aus den AI-Switches . Somit dauert es also noch bis ihr eine neue AI kriegt da ja meine 44er AI ab 1942 triggert sobald der Russe Mech-Inf erforscht hat .

Ausserdem könnte es sein dass der Russe schon den Vladivostok-Bug gemacht hat und da zuviel aufgestellt hat .

Prinzipiell sollte es also gehen aber es kann sein dass kein Effekt erkennbar ist für eine gewisse Zeit .

thrawn
09.03.05, 21:36
Habt dank werter Boron
ich finde es :top: :top: :top:

von Manteuffel
10.03.05, 15:31
Wahrlich sehr gut :)

Boron
10.03.05, 19:23
IV. Grobe Stolpersteine für die AI

A. Zu hohe Industriebauvorgaben


max_factor = [0.0-1.0] # Proportion of Production IC that should be used for province buildings.
Dieser Faktor ist oft viel zu hoch . Die Vanilla-Soviet-AIs z.b. haben folgende Werte :
36 : 0.35
39 : 0.35
41 : 0.1
44 : 0.1

Prinzipiell gibt also die Russland-AI i.d.R. 1/3 ihrer ICs bis 1941 für Industrieausbau , Flughäfen , Flaks und ähnliches aus .
So hat also der Deutschlandspieler in Vanilla eine größere Armee als der Russe da der Russe nur ca. 60-70% seiner Militärausgaben für das Heer aufwendet und nur ca. 65% seiner ganzen IC zum Militäreinheitenbau , also nur knapp 50% seines Potentials ins Heer steckt .

B. Unsinnige Ignorebefehle


ignore = {
292 # Arburg
92 # Arhus
91 # Kolding
90 # Kiel
78 # Leeweden
47 # Amsterdam
46 # Rotterdam
45 # Ghent
43 # Dunkerque
18 # Calais
42 # Dieppe
41 # Le Havre
39 # Caen
33 # Rennes
32 # Brest
34 # Lorient
35 # Nantes
59 # Cholet
325 # Bordeaux
326 # Dax
358 # Perpignan
362 # Montpellier
364 # Marseille
365 # Toulon
366 # Nice
}

Dies ist z.b. aus der Basis-DDay AI der Amis .

Bei Invasionen werden ihnen aber genau die Gebiete zugewiesen :


target = {
# Atlantic Wall
292 = 8000 # Arburg
92 = 8000 # Arhus
91 = 8000 # Kolding
90 = -1 # Kiel
78 = 8000 # Leeweden
47 = 8000 # Amsterdam
46 = 8000 # Rotterdam
45 = 8000 # Ghent
18 = 8000 # Calais
42 = 8000 # Dieppe
41 = 8000 # Le Havre
39 = 8000 # Caen
33 = 8000 # Rennes
32 = 8000 # Brest
34 = 8000 # Lorient
35 = 8000 # Nantes
59 = 8000 # Cholet
325 = 8000 # Bordeaux
326 = 8000 # Dax
}
Ich vermute dass so die AI sich ihre Invasionen selber verbietet , G'Kar hat dies in seiner Usa-DAIM AI ja auch gelöscht :) .
In meinem 200% - Spiel sind die Amis ja auch gelandet aber in Marseille !

C. Unsinnige Deploybefehle


province_priorities = {
187 = 50 # Leningrad
238 = 50 # Kiev
235 = 50 # Dnepropetrovsk
163 = 50 # Stalingrad
248 = 50 # Kharkov
277 = 50 # Bryansk
1372 = 50 # Vladivostock
113 = 50 # Murmansk
}


Dies heisst dass in diesen Provinzen bevorzugt deployed wird . Bei der Russland-AI stehen die obigen Zeilen in der 36er und 39er AI .
Bei Tests sah ich dann oft dass z.b. 90 Divisionen in der Gegend um Vladivostock dadurch herumstanden und per pedes zur Front mit mir wanderten oder munter unsinning hin und her deployed wurden . Daher Vladivostok z.b. am besten löschen .

Denn in den AI-Switches.txt ist nirgends ein Switch zur 39er , 44er usw. AI sondern nur zu den AI-Switches , diese modifizieren aber nur Teile der AI-Settings . Das 44er Sov-Ai gilt daher meines Wissens im Vanilla nur für das 44er-Götterdämmerung Scenario usw. .

D. Eventuell unsinnige Switches :

Hier die genauen Switches für die Russen :

####################################
# Soviet Union 25000 - 25999
####################################
################
# Soviets prep against Baltic States
#############################################
event = {
id = 25000
random = no
country = SOV

trigger = {
ai = yes
random = 30
event = 2018 #Eastern Poland given to the Soviets
}

name = "AI_EVENT"
style = 0

date = { day = 29 month = may year = 1940 }
offset = 4
deathdate = { day = 29 month = august year = 1940 }

action_a = {
command = { type = ai which = "switch/SOV_Baltic.ai" }
command = { type = ai_prepare_war which = LIT }
command = { type = ai_prepare_war which = LAT }
command = { type = ai_prepare_war which = EST }
command = { type = ai which = "Air_Ground.ai" }
}
}
################
# Soviets Winter War AI
#############################################
event = {
id = 25001
random = no
country = SOV

trigger = {
ai = yes
NOT = { war = { country = GER country = SOV } }
OR = {
event = 2018 #Eastern Poland given to the Soviets
NOT = { exists = POL }
}
}

name = "AI_EVENT"
style = 0

date = { day = 29 month = september year = 1939 }
offset = 4
deathdate = { day = 29 month = january year = 1940 }

action_a = {
command = { type = ai which = "switch/SOV_Finland.ai" }
command = { type = ai which = "Air_Ground.ai" }
}
}
################
# Soviet declare war on Germany AI
#############################################
event = {
id = 25002
random = no
country = SOV

trigger = {
ai = yes
OR = {
war = { country = GER country = SOV }
AND = {
random = 5
NOT = { war = { country = GER country = SOV } }
year = 1942
atwar = GER
}
AND = {
random = 5
NOT = { flag = MolotovPact }
NOT = { event = 2013 } # Molotov Pact Historical
NOT = { event = 2015 } # Molotov Pact Alliance
NOT = { event = 2016 } # Molotov Pact Limited
OR = {
control = { province = 485 data = GER } # Warsaw
war = { country = GER country = POL }
puppet = { country = POL country = GER }
}
}
}
}

name = "AI_EVENT"
style = 0

date = { day = 0 month = january year = 1936}
offset = 12
deathdate = { day = 29 month = december year = 1948 }

action_a = {
command = { type = ai which = "switch/SOV_Germany.ai" }
command = { type = ai which = "Air_Ground.ai" }
command = { type = ai_prepare_war which = GER }
command = { type = sleepevent which = 25000 }
command = { type = sleepevent which = 25001 }
command = { type = sleepevent which = 25003 }
}
}
################
# Soviet declare war on Germany AI
#############################################
event = {
id = 25003
random = no
country = SOV

trigger = {
ai = yes
war = { country = GER country = SOV }
}

name = "AI_EVENT"
style = 0

date = { day = 0 month = january year = 1936}
offset = 1
deathdate = { day = 29 month = december year = 1948 }

action_a = {
command = { type = ai which = "switch/SOV_Germany.ai" }
command = { type = ai which = "Air_Ground.ai" }
command = { type = ai_prepare_war which = GER }
command = { type = sleepevent which = 25000 }
command = { type = sleepevent which = 25001 }
command = { type = sleepevent which = 25002 }
}
}
################
# Soviet declare war on Japan AI
#############################################
event = {
id = 25004
random = no
country = SOV

trigger = {
ai = yes
random = 5
OR = {
NOT = { control = { province = 300 data = GER } } # Berlin
ispuppet = GER
}
NOT = { war = { country = GER country = SOV } }
OR = {
war = { country = JAP country = USA }
war = { country = JAP country = CHC }
war = { country = JAP country = CHI }
}
}

name = "AI_EVENT"
style = 0

date = { day = 0 month = january year = 1942}
offset = 12
deathdate = { day = 29 month = december year = 1948 }

action_a = {
command = { type = ai which = "switch/SOV_Japan.ai" }
command = { type = ai which = "Air_Ground.ai" }
command = { type = ai_prepare_war which = JAP }
}
}
################
# Soviet increase troop production AI
#############################################
event = {
id = 25005
random = no
country = SOV

trigger = {
ai = yes
atwar = GER
}

name = "AI_EVENT"
style = 0

date = { day = 0 month = january year = 1936 }
offset = 12
deathdate = { day = 29 month = december year = 1948 }

action_a = {
command = { type = ai which = "switch/SOV_GER_atwar.ai" }
}
}
################
# Soviet Union stops hounding Finland for border lands
#############################################
event = {
id = 25006
random = no
country = SOV

trigger = {
ai = yes
NOT = { war = { country = GER country = SOV } }
OR = {
event = 2622
event = 2628
AND = {
owned = { province = 145 data = SOV }
owned = { province = 146 data = SOV }
}
}
}

name = "AI_EVENT"
style = 0

date = { day = 0 month = january year = 1939 }
offset = 12
deathdate = { day = 29 month = december year = 1940 }

action_a = {
command = { type = ai which = "switch/SOV_Fin_Demands.ai" }
command = { type = ai which = "switch/SOV_Germany.ai" }
}
}

Das ist relativ kompliziert da die meisten mit Triggern versehen sind . Ausserdem ändern fast alle dieser Switches nur Teilbereiche der AI .
Schliesslich ist das auch daher schlecht da wenn sie Pech haben die Russen alle paar Monate eine neue AI kriegen , teilweise mit unterschiedlichen Befehlen . Ich habe es noch nicht näher untersucht aber kann mir sehr gut vorstellen dass dies Chaos anrichten kann da die AI dann z.b. erst 35% IC ausbauen soll , dann plötzlich nur noch 10% usw. . Canceled die AI dann vielleicht fast fertige Fabriken ?

Boron
10.03.05, 19:27
Habt dank werter Boron
ich finde es :top: :top: :top:

Wahrlich sehr gut :)
Danke für das Lob :) .
Manches ist ein klein wenig spekuliert da es in den AI-Docs nicht oder schlecht dokumentiert ist . Und seid ich unser Forum hier kenne habe ich irgendwie fast keine Lust mehr ins Paradoxforum zu schauen :) .
Scheut euch also nicht werte Mitregenten mich zu berichtigen falls ich irgendwo falsch spekuliert habe und das gepostete nicht ganz den Tatsachen entspricht :) .

X_MasterDave_X
11.03.05, 11:52
also die Ignorebefehle für den Russen sind doch ok. Wäre ja schlimm wenn der auch noch, mit seiner Lachhaft-Flotte eine Invasion in Deutschland oder Frankreich starten würde.

Die AI´s wurden von Lothos scheinbar darauf getrimmt, Invasionen erst später (wenn die Erfolgsaussichten höher sind) zu starten.

Was deploy-befehle angeht. An sich ja eine gute Idee, daß er nur an strategischen Punkten Truppen aufstellt (also so genannte Rekrutierungszentren). Die sollten auch an allen strategisch wichtigen Punkten stehen. Wenn Ihr nun, Vladivostok streicht, dann muß die AI im falle eines Angriffs von japanischer Seite, erst meilenweit entfernt Truppen aufstellen. Das wäre dann sicherlich auch nicht so gut. Für euer Deutschlandspiel mag dies ja noch einen gewissen Sinn haben, aber Lothos mußte ja für alle Möglichkeiten etwas vorsehen. Wenn nun der Spieler Japan ist, dann wäre ein Fehlen von Vladiwostok tödlich für die AI.

Das Problem das bei euch auftrat, indem die KI eure per Event geschenkten Truppen alle im Osten aufstellte ist natürlich ärgerlich.

Ich kann es mir auch nicht genau erklären wieso er dieses tat.

Ich spekuliere jetzt einfach mal (ist wahrscheinlich nicht so, aber immerhin ein Erklärungsversuch):
Die AI stellt ihre Truppen, wenn sie denn aus der Bauliste fertig sind jeweils dort auf, wo sie es nach den AI-Prioritäten tun muß. Innerhalb der AI Anweisungen steht ja, welchen Anteil die AI wohin stellen muß, je nachdem ob Krieg herscht, ob der Nachbar ein Freund ist, ob er Spielerkontrolliert ist etc. Normalerweise, wenn er so die Truppen stück für Stück aufstellt, tut er er relativ genau nach dieser Prioritätsliste. Möglicherweise hätte also die nächste Einheit in der Bauliste wieder im Osten gegen die Japaner aufgestellt werden müssen, mit denen er ja auch im Krieg ist (ich versteh auch nicht wieso, ist eigentlich unhistorisch, aber in HoI2 ist es so...) und mit denen ein Verhältnis von 1:1 in der AI vorgegeben ist. hat also der Japaner gerade wieder 5 Divisionen an die Rußlandgrenze verlegt, muß natürlich die KI nachziehen......

...so bis jetzt war eigentlich noch alles relativ logisch...jetzt kommt die spekulation: möglicherweise waren diese per event geschenkten Einheiten für die AI nur ein Arbeitsschritt, sprich er hat die gesammte Armee mit ungefähr 200 Divisionen wie eine Einzige Einheit behandelt, und sie dann dort aufgestellt wo die nächste einzelne Division hätte aufgestellt werden müssen. Und damit landen dann plötzlich 200 Divs in Vladi statt nur ein paar Prozent davon.

Werter Boron, diese These ließe sich beweisen, bzw widerlegen, wenn ihr aus eurem event mehrere einzelne macht. Also statt ein event mit 200 Divs, lieber 4 events (am besten auch noch Zeitversetzt um jeweils einen Tag) mit je 50 Divs. Dann könnte man schön sehen, ob er nun alle 4 Male nach Osten verschickt, oder vielleicht nur das erstemal, und die anderen 3 mal nach Westen. Nachdem nach der ersten Ostwelle, das Ungleichgewicht nach osten hergestellt ist, müßten die nächsten 3 Bahnladungen ja in die andere Richtung gehen. Ich hoffe dann nur nicht, daß dann eine an die türkische, und eine weitere an die finnische Grenze verlegt wird.. :D

thrawn
11.03.05, 14:54
Ich vermute dass so die AI sich ihre Invasionen selber verbietet , G'Kar hat dies in seiner Usa-DAIM AI ja auch gelöscht . In meinem 200% - Spiel sind die Amis ja auch gelandet aber in Marseille !

ich habe beim performance versuch denn franzosen nur mit denn flugzeugen angegriffen, und dort hat er königsberg invasioniert. zwar nur mit drei divisionen, meine ganze polenarmee stand auch daneben, aber der versuch war da. :)

Boron
17.03.05, 00:54
Habe heute ausgiebig wieder an meiner Russland-Ai weitergebastelt , böse Mitmenschen würden auch den Begriff gepfuscht verwenden ;) .

Die Einstellung max_redeploying = x bringt tatsächlich nichts , auch mit 0.03 hatte der Russe im zum Test laufenden Götterdämmerungsszenario 60-80 seiner knapp 600 Divisionen im Pool .

Die Einstellung strat_redeploy_threshold = xxxx ist aber tatsächlich bindend . Ich habe es zum Test auf 1000 gestellt und siehe da in 5 Savegames alle 3 Wochen hatte die Russland-AI jedes mal 0!!! Divisionen im Pool . Daher ist für Russland wohl ein Wert von ca. 120 gut , so verlegt er nur das was von Europa nach Asien gehen soll und umgekehrt . So etwas muss man der Russland-Ki leider zugestehen denn in meinem Testspiel waren auf einmal um die 100 Divisionen einfach so auf Wanderschaft in den Osten nach Vladivostok usw. . Per Pedes brauchen die dazu ja mindestens 4 Monate , auch nicht das Wahre .

Fazit : Ganz kann man der Ki ihren Unfug nicht abgewöhnen aber wenigstens "etwas" . Ich versuche es jetzt also noch einmal ein Spiel und hoffe dass es zumindest viel besser läuft als bei meinen bisherigen Versuchen wo ich leider immer bei Kriegsbeginn historisch 1941 vor Moskau stand und 42 eigentlich alles wichtige russische gefallen ist . Sollte es einigermaßen funktionieren stelle ich meine verbesserte AI wieder zum DL bereit .

G'Kar
17.03.05, 12:52
Eure Erfahrungen mit den zwei Werten entsprechen dem, was ich auch schon beobachtet habe, werter auch unverbesserlicher KI-Verbessern-Woller. ;)
Bei Max-Redeploying stelle ich mir das ungefähr so vor: Die KI merkt, "oh cool, ich verlege gerade gar niemanden, ich darf aber 2%, da könnte ich ja glatt mal eben schnell diese 30 Divs von A nach B und diese 20 Divs von C nach D..." - und *schwupps* stehen viel zu viele Divs im Forcepool. :rolleyes:
Die Strategic-Redeploy-Threshold funktioniert wahrscheinlich deshalb, weil man sich eine feste Anzahl von Tagen nicht so einfach schön rechnen kann... :D

Boron
18.03.05, 13:12
Naja zumindest ist es jetzt wieder einen Tick besser in meinem neuen Spiel . Und der Ami und der Brite haben jetzt auch eure Daim und die Briten sind schon 1940 in Hamburg gelandet das war ein Schock :D . Gute Arbeit werter G'Kar :) .

Bin gerade 1940 in meinem Testspiel aber durch meine zwei drastischen anderen Modifications , nämlich dem Russen nur 1000 Priorität für die Border mit mir zu geben und alle anderen Borderprioritäten zu löschen und durch die 100 Infrastruktur sieht es jetzt vielversprechend aus . Immerhin stehen jetzt 1940 auch in Friedenszeiten gut 250 russische Divisionen an meiner Grenze .
Als der Finnlandkrieg ausbrach hatte der Russe nix da oben :D . So haben die Finnen erst 10 russische Provinzen erobert nur um dann 1 Monat später von der russischen Dampfwalze schnell niedergewalzt zu werden im Winterkrieg ;) . Wenn die KI das strat Redeploy in den Griff kriegen sollte irgendwann ( z.b. 1.6 ^^) dann wäre die Hoi-KI eigentlich richtig gut :) .
Schlimmt ist ja auch das man Hoi immer am Stück spielen sollte denn wenn man immer nur 30-60 Minuten spielt dann verlegt die KI nur dauernd . Vielleicht werden in zukünftigen Patches die letzten Orders der KI gespeichert und sie kriegt dann nicht neue . Speichert man nämlich mitten in einer russischen Offensive und lädt später wieder neu vergisst die AI die Offensive und verlegt irgendwo anders hin :doh: .
Bin da etwas enttäuscht vom Hoi II Betateam das laut Handbuch ca. 50 Tester groß ist . Entweder das waren alles volle Fanboys oder Paradox hat ihre Beschwerden ignoriert . Wenn nur einer hier vom Forum Beta-Tester gewesen wäre hätte er diese Mängel sicher bemängelt , v.a. wenn dieser jemand z.b. Mantikor gewesen wäre oder ihr werter G'Kar oder auch meine Wenigkeit :D .

Arminus
18.03.05, 13:17
Es waren mehrere Regenten dieses Forums beta-Tester. Mantikor allerdings nicht. :rolleyes:

Boron
18.03.05, 13:30
Es waren mehrere Regenten dieses Forums beta-Tester. Mantikor allerdings nicht. :rolleyes:
Oh wer denn alles ? Ich wollte natürlich niemanden beleidigen :) .
Könnte ein Beta-Tester sich hier zu Wort melden und sagen ob die folgenden Punkte angeprangert wurden und was Paradox dazu meinte ?

1.Der Winterbug
2.Die dumme Handhabung des Strat. Redeploy der KI
3.Die Schwierigkeit im Allgemeinen , spielt man es Vanilla ist es zu leicht
4.In Vanilla eigentlich nie ein D-Day etc.
5.In Vanilla die miese Leistung der Japaner-KI insbesondere

Shanon
18.03.05, 13:56
Saubere Arbeit, sage ich da nur *Daumen hoch Smiley such*

Wenn man die Front Ratio auch für die Human_Border bzw deutsche Grenze gering setzt, stapeln sich die Divs der Russen doch nurnoch auf den ausgegebenen Provinzen mit hoher Priorität, oder?
Wäre es so nicht möglich dafür zu sorgen, dass ein realistischer Kriegsverlauf eintritt, indem man die deutsch/russische Grenze nicht wie bei deiner Modifikation mit Divs zupflastert, sondern die Divisionen weiter ins Landesinnere verlegt, sodass der Russe sozusagen erst seine Truppen mobilisieren (in dem Fall zur Front bringen) muss? So würde das DR erst leicht Gebietsgewinne machen, dann aber aufgehalten und im Idealfall zurückgedrängt werden.

X_MasterDave_X
21.03.05, 17:04
@Boron

das wird dir sicher kein Beta-tester sagen dürfen wegen der NDA.

Auch sollte man nicht vergessen, daß in der BETA-Phase eher auf andere Dinge geachtet wurde (allgemeine Bugs, Instabilitäten, Tuning etc.) Das eigentliche Feintuning mittels der AI´s wurde erst relativ spät fertiggestellt. Dafür gabs dann natürlich relativ wenig Zeit alle Probleme zu lösen. Man darf ja nicht übersehen, daß es äußerst schwierig ist dutzende/hunderte von AI´s zu schreiben, die alle optimal aufeinander abgestimmt werden müssen.

Sicher ist es als Modder relativ einfach (so wie es auch du gemacht hast...und viele andere vor dir) eine AI zu nehmen, und diese zu verbessern, indem man die Werte einfach positiv verändert für diese Nation. Allerdings, spielst du dann eine andere Nation, auf einem anderen Kriegsschauplatz (also statt als Deutscher gegen Russland, spielst du nächstes Mal als Japaner gegen die USA/China) dann kann deine Modifikation, plötzlich zu ganz seltsamen Ergebnissen führen, indem z.B, der Russe ständig kinderleicht den Deutschen und ganz Westeuropa platt macht. Dann hast du als Japaner plötlich viel leichteres Spiel, weil der Brite ganz woanders beschäftigt ist.

Also es ist sicherlich schwieriger als Flöhe zu hüten, ein AI-Konstruktion zu bauen, die für alle spielbare Nationen optimale und gleichzeitig halbwegs historische Ergebnisse liefert.

Und da Lothos noch immer an seinen AI´s feilt, wird sicher noch viel Zeit ins Land gehen, bis die AI halbwegs gut sein wird. Der 1.2 Patch wird sicherlich eine Verbesserung sein, aber Anlaß zur Kritik wird sicherlich auch weiterhin bestehen. Also vor 1.05 sollte man sich keine großen Hoffnungen machen.

Aber die gute Nachricht ist, daß HOI2 schon in Vers 1.1 ganz nett zu spielen ist. Und all die selbstgebastelten Mods (DAIM, deine Russland-KI, und viele andere) sind zumindest für die Zwischenzeit schon einmal eine ganz gute Lösung, wie man als ein ganz bestimmtes Land (in deinem Fall Deutschland) schon ganz nett spielen kann.

Natürlich kann ich deine Gedanken nachvollziehen. Ich hab mich auch oft gefragt, weshalb Lothos z.B. als Bauschema "on" gewählt hat. Aber man muß ihm natürlich auch zugute halten, daß er viele Monate Zeit zum Testen und zum ausbalanzieren hatte. Wahrscheinlich hat sich das andere Bauschema für die meisten Länder nicht bewährt.

Natürlich ist der gute LOTHOS auch nicht unfehlbar. Und auch er hat als kleiner Modder vor 1-2 Jahren angefangen. Ist eh schon bemerkenswert, wie ein Modder zum AI-Scripter von Paradox wurde. Läßt ja nicht gerade auf gute Programmierer bei Paradox schließen....aber das Thema hatten wir schon mal.

Seien wir froh, daß die Ergebnisse nicht schlechter waren. Und wie gesagt in einem halben Jahr sieht es sicherlich schon besser aus. Schade das Paradoxspiele wie Weine sind. Mit jedem Jahr werden sie besser.

Nur wer will dan noch HoI2 spielen, wenn HoI3 schon in den Startlöchern steht :rolleyes: