• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
Well, some wreid thing happen with mixing absenta with AI coding...

WTF.jpg


fullseparator.jpg


Two war fronts? A-H Taking control? no more! :D

Balkans.jpg


I think that I exceded a bit on wreidness, but this thing..Actualy works!

Germany Buildups/takes Belguim with no Cheat and A-H perfroms great Vs Rusia.

Anyways, I solved a couple of things:

More Agressive Rusian AI

Agresiverusia.jpg


ENG-OTT war Solved.

ENG_OTT.jpg


Ott2.jpg
 
Well, the German fronts isloator seems to work pretty well, maybe I will aply this to improve the Alpine front AI or event the Ottoman Front AI, also I'm thinking in doing something into the colonial war AI, ENG AI seems to spread tons of divisions trought africa with no aparent reason, maybe a colonial front country?:D

Anyways, for now some AI improvements among the entente seem to extend the war into 1915, but now all AI seem to be bit suicidal, (this might be due high recklesensesness and lack of reserves) but f I lower it no one tries to break trough the other one trenches, maybe some more reserves will do the tick, also German IA seems so confused if the Rusians makes his way to Berlin, his strategy is to hold on the russians while tries to take paris:confused: , so strange and usualy ends up with the Entente victory in late '15, anyways, I will update my changes now.
 
Last edited:
New version is out!

DOWNLOAD --> http://www.savefile.com/files/2001370

ONLY TESTED ON 0.43, to install on 0.5.1 just manualy modify the db/event.txt file

Code:
[B]Changelog:

-Disabled 95% of the Ai cheats (autodeploy events and GER-BEL Ai cheats)

-ENG - OTT AI partialy solved

-Better IA for A-H in the first motnths of the war ( serbian ofensive)

-German AI improved on all fronts

-Some changes to improve the production for al majors

-1915 AI revised for all majors

-Experimental Isolator for germany[/B]

Please note: this one is even more experimental than the last version, Germany has some trouble on holding the Rusians and all the AI's seems to not leave too much reserves, also Rusian production AI needs to be revised.
 
Last edited:
I think that i'm finally reaching something stable, something more than a beta version, :) today I spend some time playng with france and the germans managed to push me down to historical frontline:

Frenchborderline.jpg


wich i'm very proud off :D

in a counterpart, the englad Ai just don't work and the Russian one needs a border calibration.

If the last version was very unestable, this one is runs very fluid and stable, also AI cheats are no longer necesary, but will keep the option to retain some of them via event, for the sake of challenge:D

For now only last the colonial war problem(but i stll have some free tags :cool: )
 
Hey Panda.zip

I said that Lothos told me that the number of units on the front decides which country controls the front. Our problem was, that A-H still controls the front, even if Germany seems to have more troops there. I guess it has something to do with the garrison values. Nearly all german units on the eastern front are controlled by the garrison ai and therefore may not been taken into account while nearly the entire austrian front ist controlled by the frontline-AI. Maybe that's the point behind it.
 
Hey Panda.zip

I said that Lothos told me that the number of units on the front decides which country controls the front. Our problem was, that A-H still controls the front, even if Germany seems to have more troops there. I guess it has something to do with the garrison values. Nearly all german units on the eastern front are controlled by the garrison ai and therefore may not been taken into account while nearly the entire austrian front ist controlled by the frontline-AI. Maybe that's the point behind it.

Humm, I just tried to set all the garrison vaules to 0 for ger ai, also it's a bit strange that Ger AI can be enabled disabled throught the hungarian independence ( or other provincial changes), maybe that is conected with the front Ai somehow, a reset perhaps?, I will just try to make hungarian independent and then re-inherit it inmediatly.
 
I played around with a new set of AI files, here are my first results.

Augiust 28th: Let us hope that further test will prove these results:



Screenshot One: Germany advancing immediately through belgium while holding the southern lines against a (very weak) french AI.



Screenshot Two: Same date/time in the east: Germany is holding more or less the front. I marked two movements which indicate that the german AI is controlling the front. Exp_forces for Germany are off, which means that all german forces must be controlled by the german AI. Furthermore 70% of the A-H units are reserved for the garrison AI and therefore cannot make any advance.

I'll post further results soon.
 
Now a few testruns later, I can tell that the AI is still attacking Belgium immediatly. A better french AI slowed down the german advance in the east, while germany still prevents a russian breakthrough to Berlin. From what I can tell, it seems that with my files, Germany seems to control both mayor fronts.

Here a short extract from my AI files:

GER_BEL_buildup.ai
Code:
# German invasion of Belgium AI (by v.Manstein)
# Phase 1: Buildup

combat = {
	BEL = 300
}

max_garrison_prop = 0.30
min_garrison_prop = 0.20

max_front_ratio = 1.2
max_front_ratios = {
	BEL = 15.0
	FRA = 7.5
	RUS = 0.25
}

garrison = {
	defend_overseas_beaches = yes
	home_multiplier 	= 1.0
	overseas_multiplier 	= 1.0
	home_peace_cap 		= 20
	war_zone_odds 		= 1.001
	key_point_prio_mult	= 0.0
	revolt_risk_mult	= 0.2

	# PRIORITIES:
	beach			= 0	# Beach level 2
	capital			= 40	# Our capital
	human_border		= 0	# Ignored for allied human players
	war_target		= 50	# The next country targeted for attack by this AI
	reserves		= 10

	opposing_alliance	= 20	# For neutrals, all alliances are "opposing"
	claim_threat		= 0	# If we are neutral, countries with claims on us get this
	unstable_border		= 0	# Bordering countries at war with someone else get this

	# Borders with specific countries
	country_priorities = {
		SWE = -1
		U11 = -1
		SCH = -1
		BEL = 100
		LUX = 80
		RUS = 20
		HOL = 10
		FRA = 50
	}
	ignore = { 
		206 # Memel (easy to sourround)
	}
	# Build up a Frontline against Belgium
	province_priorities = {
		75 = 100 	# Cologne
		66 = 100 	# Aachen
	}
	area_multiplier = {
		75 = 5.0 	# Cologne
		66 = 5.0 	# Aachen
	}
}

GER_BEL_invasion.ai
Code:
# German invasion of Belgium AI (by v.Manstein)
# Phase 1: Buildup

combat = {
	BEL = 150
	LUX = 120
	FRA = 100
}

max_garrison_prop = 0.10
min_garrison_prop = 0.05

max_front_ratio = 1.2
max_front_ratios = {
	BEL = 15.0
	LUX = 10.0
	FRA = 7.5
	RUS = 0.5
}

garrison = {
	defend_overseas_beaches = no
	
	home_multiplier 	= 1.0
	overseas_multiplier 	= 0.3
	home_peace_cap 		= 10
	war_zone_odds 		= 1.001
	key_point_prio_mult	= 0.0
	revolt_risk_mult	= 0.05

	# PRIORITIES:
	beach			= 0	# Beach level 2
	capital			= 0	# Our capital
	human_border		= 0	# Ignored for allied human players
	war_target		= 0	# The next country targeted for attack by this AI
	reserves 		= 0	# bonus for provinces just behind a frontline.
	
	opposing_alliance	= 0	# For neutrals, all alliances are "opposing"
	claim_threat		= 0	# If we are neutral, countries with claims on us get this
	unstable_border		= 0	# Bordering countries at war with someone else get this

	# Borders with specific countries
	country_priorities = {
		SWE = -1
		SCH = -1
		U11 = -1
		DEN = 5
		HOL = 20
		RUS = 50
		FRA = 80
		LUX = 100
		BEL = 120
	}
	ignore = { 
		206 # Memel (easy to sourround)
	}
	province_priorities = {
		# Behind the lines to prevent french breakthrough	
		74 = 50	 # Saarbrücken
		314 = 50 # Stuttgart
		315 = 50 # Freiburg
	}
	area_multiplier = { }
}
front = { 
	recklessness 		= 2 # 0-3
	distrib_vs_ai 		= reactive
	distrib_vs_human 	= reactive

	enemy_reinf_days	= 6
	reserve_prop		= 0.0
	panic_ratio_vs_ai	= 1.75
	panic_ratio_vs_human	= 1.25
	base_attack_odds	= 1.020
	min_attack_odds		= 1.001
	max_attack_odds		= 2.000
	reinforce_odds		= 1.02
	withdraw_odds		= 0.95

	province_priorities = {
		# Not directly through France
		72 = 0.2	# Metz
		317 = 0.1 	# Cherbourg
		318 = 0.1	# Dijon
		
		# Main Attack
		66 = 10.0  # Aachen
		75 = 10.0  # Cologne
		51 = 15.0  # Brussels
		50 = 10.0  # Antwerpen
		68 = 10.0  # Liege
		65 = 10.0  # Namur
		69 = 10.0  # Bastogne
		52 = 10.0  # Mons
		45 = 10.0  # Ghent
		70 = 10.0  # Arlons
		71 = 15.0  # Luxembourg
		56 = 15.0  # Paris
	}
}

ai_events.txt
Code:
event = { 		
    country = GER 		
    id = 2500000	
    random = no 		
    style = 0
    picture = "schlieffen" 		
		
    name = "Schlieffen Plan Phase 1" 		
    desc = "EVT_21002_DESC" 		
			
    trigger = { 	
	ai = yes	
        event = 3001 		
    } 		
			
    date = { day = 0 month = january year = 1914 } 		
    offset = 1 		
    deathdate = { day = 0 month = january year = 1925 } 		
		
    action_a = {
        name = "OK" 				
	ai_chance = 100
        command = { type = ai which = "switch\ger_bel_buildup.ai" }
    } 	
}
event = { 		
    country = GER 		
    id = 2500001	
    random = no 		
    style = 0
    picture = "schlieffen" 		
		
    name = "Schlieffen Plan Phase 2" 		
    desc = "EVT_21002_DESC" 		
			
    trigger = { 	
	ai = yes	
        war = { country = GER country = BEL }  		
    } 		
			
    date = { day = 0 month = january year = 1914 } 		
    offset = 1 		
    deathdate = { day = 0 month = january year = 1925 } 		
		
    action_a = {
        name = "OK" 				
	ai_chance = 100
        command = { type = ai which = "switch\ger_bel_invasion.ai" }
    } 	
}
 
Here's a summary of the most important austrian values:
Code:
min_garrison_prop = 0.60 	# Minimal percentage of troops kept behind the lines as garrison (0..1)
max_garrison_prop = 0.75 	# Maximal percentage of troops kept behind the lines as garrison (0..1)

exp_force_ratio = 0.00 		# percentage of forces which can be lent as expeditionary forces (0..1)
exp_force_ratios = {
	# override the expeditionary forces rate for specific countries
	GER = 0.5
}

The high garrison-values caused Austria to advance slowly. Max. 40% of its units is used for offensive operations (most likely against Serbia).
 
Did your testruns proved my experiences?

Yes, now Germany has the control again :) , if you want to know which AI is in charge look at the national army comparison, is germany has 180 divisions and A-H only 40 the germans are in control.

Anyways, for now i don't want to disable the german separators, otherwise the german AI keeps moving forces betwen the two fronts and gets beaten easly if one of the ententes is a human.

well, i think that i have an idea for recreating the whole BEF thing in a confortable way (AKA not using expedicionary spaming :D )
 
Ah thanks for the army comparison trick. This will help me a lot.

Moving around troops between the two fronts can be reduced with some AI commands. Lothos once told me how, I'll have a look into the chat history asap.

Even if we're far away from a good working AI, I now have the hope that we can build an AI without cheating, which is worth the name.
 
Ah thanks for the army comparison trick. This will help me a lot.

Moving around troops between the two fronts can be reduced with some AI commands. Lothos once told me how, I'll have a look into the chat history asap.

Even if we're far away from a good working AI, I now have the hope that we can build an AI without cheating, which is worth the name.

Well, I personally don't see the separator thing as an ai cheats, I see them as an extension off the AI coding, they provide a more focused German AI and a more agressive early-1914 A-H AI, or a workable ENG-OTT AI; I know that they are not nice so i pretend to keep the option of disable them via event, like some AI cheats.
 
Last edited:
I can't really believe that there is no other solution. Using such strange hacks should be really the last thing to solve our problem.
 
I can't really believe that there is no other solution. Using such strange hacks should be really the last thing to solve our problem.

And I must agree with you, AI can perform well without them, but less eficiently.

Anyways, I would put some sugestions in that one:

Code:
# German invasion of Belgium AI (by v.Manstein)
[COLOR="DeepSkyBlue"][B]#Revised by panda.zip[/B][/COLOR]
# Phase 1: Buildup

combat = {
	BEL = 150
	LUX = 120
	FRA = 100
}

[COLOR="DeepSkyBlue"][B]max_garrison_prop = 0.05
min_garrison_prop = 0.04[/B]
[B]
max_front_ratio = 1.05[/B]

[B]max_front_ratios = {
        #more stable fronts
	BEL =  6.0
	LUX =  6.0
	FRA = 0.8 #set it at 4 when bel is done
	RUS = 0.4
}[/B][/COLOR]

garrison = {
	defend_overseas_beaches = no
	
	home_multiplier 	= 1.0
	overseas_multiplier 	= 0.3
	home_peace_cap 		= 10
	war_zone_odds 		= 1.001
	key_point_prio_mult	= 0.0
	revolt_risk_mult	= 0.05

	# PRIORITIES:
	beach			= 0	# Beach level 2
	capital			= 0	# Our capital
	human_border		= 0	# Ignored for allied human players
	war_target		= 0	# The next country targeted for attack by this AI
[COLOR="DeepSkyBlue"]	[B]reserves 		= 0.1	# bonus for provinces just behind a frontline.[/B][/COLOR]
	
	opposing_alliance	= 0	# For neutrals, all alliances are "opposing"
	claim_threat		= 0	# If we are neutral, countries with claims on us get this
	unstable_border		= 0	# Bordering countries at war with someone else get this

	# Borders with specific countries
	country_priorities = {
		SWE = -1
		SCH = -1
		U11 = -1
		DEN = 5
		HOL = 20
		RUS = 50
		FRA = 80
		LUX = 100
		BEL = 120
	}
	ignore = { 
		206 # Memel (easy to sourround)
	}
	province_priorities = {
		# Behind the lines to prevent french breakthrough	
		74 = 50	 # Saarbrücken
		314 = 50 # Stuttgart
		315 = 50 # Freiburg
	}
	area_multiplier = { }
}
front = { 
	recklessness 		= 2 # 0-3
	distrib_vs_ai 		= reactive
	distrib_vs_human 	= reactive

	enemy_reinf_days	= 6
	[COLOR="DeepSkyBlue"]reserve_prop		= 0.1[/COLOR]
	panic_ratio_vs_ai	= 1.75
	panic_ratio_vs_human	= 1.25
	base_attack_odds	= 1.020
	min_attack_odds		= 1.001
	max_attack_odds		= 2.000
	reinforce_odds		= 1.02
	withdraw_odds		= 0.95

	province_priorities = {

		# Not directly through France [COLOR="DeepSkyBlue"][B]But keep the option[/B][/COLOR]
[COLOR="DeepSkyBlue"][B]		72 = 0.5	# Metz
		317 = 0.5 	# Cherbourg
		318 = 0.5	# Dijon[/B][/COLOR]
		
		# Main Attack
		66 = 10.0  # Aachen
		75 = 10.0  # Cologne
		51 = 15.0  # Brussels
		50 = 10.0  # Antwerpen
		68 = 10.0  # Liege
		65 = 10.0  # Namur
		69 = 10.0  # Bastogne
		52 = 10.0  # Mons
		45 = 10.0  # Ghent
		70 = 10.0  # Arlons
		71 = 15.0  # Luxembourg
		56 = 15.0  # Paris
	}
}
 
Lothos advised me to turn off reserves for the front AI to avoid unit shifting. If we like to keep reserves, we must raise the garrison prop and turn reserves on for the garrison AI.

But: Raising the garrison value will reduce the ammount of units available for offensive. Keep that in mind.