Jump to content

Axis AI V 1.01 Progress


Recommended Posts

Thus far have set the framework for the global variables and have streamlined the Axis Early Conquests Scripts (1939 - Fall of France).

Here's the global variables are working:

1. Greenland and part of Canada (The snowy islands) are now German. Placed on them are 5+ German corps (Build limits increased to accommodate). Each corps represents a certain global variable:

- The 3,3 corps represents the Date-Based Global Variables. At position 3,3 it is the 1939 To Fall of France Variable. Thus scripts meant to be done within this time frame will have ACTIVATE_POSTIONs set for 3,3. And of course scripts that should NOT activate in this timeframe have a 3,3 CANCEL_POSITION. And vice versa for other time frames, each has its own tile.

The diplomacy global variable also has its own corps. This corps will move to the tile of the diplo target nation, and thus activate a diplo script for that nation.

Since only one corps is avaiable for most global variables, only one option will be picked (usually)

; Diplomacy Trigger Tiles: Spain: 4,7 Sweden: 3,6 Iraq: 2,7 Turkey: 1,7

;

; Date-Based Trigger Tiles: 1939 to Fall of France 3,3 Fall of France to Barbarossa Build-Up 2,3

; Barbarossa Build-Up 1,3 Barbarossa 2,4 1942-1943 3,4 1943+ 5,4

;

; Research Trigger Tiles: Standard Axis Balance 8,10 Land Combat Emphasis 9,9 Land/Air Emphasis 10,10

; Land/Sea Emphasis 9,10 Land/Development Emphasis

This here shows how the scripts work in action. Note that now the AI on Turn 1 will decide to build-up for France or do a Turn 2 Belgium Rush. Another corps is designated for strategic positions such as these. This means that one strategic position may "lock in" that corps, which converesely takes the AI down an entire road of appropriate scripts. SO if the AIK decides to play a rush game, ahving the apporpriate trigger tile locked in will ensure the proper scripts are activated.

So far testing shows that the AI can take France by April with the "Fast France" option. Current % I have set up is 25% fast attack, 75% wait and build-up

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; AXIS SCRIPTS - 1939 TO FALL OF FRANCE

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;

{

#NAME= Date Based Global Variable - 1939 to Fall of France

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 100

#LEVEL= 0

#PLAN_ID= 0

#SIZE= 0

#LENGTH= 1

#GOAL_POSITION= 3,3

#DATE= 1939/09/03

#STEAL= 3

#FRIENDLY_POSITION= 84,16

#VARIABLE_CONDITION= 5 [1] [100] [0]

#VARIABLE_CONDITION= 2 [2] [100] [0]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 0,0 [0,0] [0,0] [0]

#CANCEL_POSITION= 3,3 [0,0] [1,1] [1]

}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

{

#NAME= Initial Check - Random Diplomacy - Spain

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 60

#LEVEL= 0

#PLAN_ID= 0

#SIZE= 0

#LENGTH= 1

#GOAL_POSITION= 4,7

#DATE= 1939/09/03

#STEAL= 3

#FRIENDLY_POSITION= 84,16

#VARIABLE_CONDITION= 5 [1] [100] [0]

#VARIABLE_CONDITION= 2 [2] [100] [0]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 0,0 [0,0] [0,0] [0]

#CANCEL_POSITION= 4,7 [0,0] [1,1] [1]

#CANCEL_POSITION= 3,6 [0,0] [1,1] [1]

#CANCEL_POSITION= 1,7 [0,0] [1,1] [1]

}

{

#NAME= Initial Check - Random Diplomacy - Sweden

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 30

#LEVEL= 0

#PLAN_ID= 0

#SIZE= 0

#LENGTH= 1

#GOAL_POSITION= 3,6

#DATE= 1939/09/03

#STEAL= 3

#FRIENDLY_POSITION= 84,16

#VARIABLE_CONDITION= 5 [1] [100] [0]

#VARIABLE_CONDITION= 2 [2] [100] [0]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 0,0 [0,0] [0,0] [0]

#CANCEL_POSITION= 3,6 [0,0] [1,1] [1]

#CANCEL_POSITION= 4,7 [0,0] [1,1] [1]

#CANCEL_POSITION= 1,7 [0,0] [1,1] [1]

}

{

#NAME= Initial Check - Random Diplomacy - Turkey

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 10

#LEVEL= 0

#PLAN_ID= 0

#SIZE= 0

#LENGTH= 1

#GOAL_POSITION= 1,7

#DATE= 1939/09/03

#STEAL= 3

#FRIENDLY_POSITION= 84,16

#VARIABLE_CONDITION= 5 [1] [100] [0]

#VARIABLE_CONDITION= 2 [2] [100] [0]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 0,0 [0,0] [0,0] [0]

#CANCEL_POSITION= 1,7 [0,0] [1,1] [1]

#CANCEL_POSITION= 4,7 [0,0] [1,1] [1]

#CANCEL_POSITION= 3,6 [0,0] [1,1] [1]

}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

{

#NAME= Time Line Global Variable - France: Fast or Slow? - Fast

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 25

#LEVEL= 0

#PLAN_ID= 0

#SIZE= 0

#LENGTH= 1

#GOAL_POSITION= 16,1

#DATE= 1939/09/03

#STEAL= 3

#FRIENDLY_POSITION= 84,16

#VARIABLE_CONDITION= 5 [1] [100] [0]

#VARIABLE_CONDITION= 2 [2] [100] [0]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 3,3 [0,0] [1,1] [1]

#CANCEL_POSITION= 16,1 [0,0] [1,1] [1]

#CANCEL_POSITION= 16,2 [0,0] [1,1] [1]

}

{

#NAME= Time Line Global Variable - France: Fast or Slow? - Slow

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 75

#LEVEL= 0

#PLAN_ID= 0

#SIZE= 0

#LENGTH= 1

#GOAL_POSITION= 16,2

#DATE= 1939/09/03

#STEAL= 3

#FRIENDLY_POSITION= 84,16

#VARIABLE_CONDITION= 5 [1] [100] [0]

#VARIABLE_CONDITION= 2 [2] [100] [0]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 3,3 [0,0] [1,1] [1]

#CANCEL_POSITION= 16,1 [0,0] [1,1] [1]

#CANCEL_POSITION= 16,2 [0,0] [1,1] [1]

}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

{

#NAME= Germany Build Up Offensive - Warsaw - Fast France Offensive

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 100

#LEVEL= 0

#PLAN_ID= 1

#SIZE= 4

#LENGTH= 0

#GOAL_POSITION= 95,15

#DATE= 1939/09/03

#STEAL= 3

#FRIENDLY_POSITION= 84,16

#VARIABLE_CONDITION= 5 [1] [100] [0]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 16,1 [0,0] [1,1] [1]

#CANCEL_POSITION= 0,0 [0,0] [1,1] [0]

}

{

#NAME= Germany Build Up Offensive - Brussels - Fast France Offensive

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 100

#LEVEL= 0

#PLAN_ID= 1

#SIZE= 5

#LENGTH= 1

#GOAL_POSITION= 72,16

#DATE= 1939/09/03

#STEAL= 3

#FRIENDLY_POSITION= 84,16

#VARIABLE_CONDITION= 5 [1] [100] [0]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 16,1 [0,0] [1,1] [1]

; Axis unit already in Brussels (due to possible Allied DoW)

#CANCEL_POSITION= 72,16 [0,0] [1,1] [1]

}

{

#NAME= Germany Build Up Amphibious - Copenhagen - Fast France Offensive

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 100

#LEVEL= 0

#PLAN_ID= 2

#SIZE= 1

#LENGTH= 1

#GOAL_POSITION= 81,12

#DATE= 1940/03/03

#STEAL= 3

#FRIENDLY_POSITION= 84,16

#VARIABLE_CONDITION= 5 [1] [100] [0]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 16,1 [0,0] [1,1] [1]

; Axis unit already in Copenhagen (due to possible Allied DoW)

#CANCEL_POSITION= 81,12 [0,0] [1,1] [1]

}

{

#NAME= Germany Build Up Offensive - Paris - Fast France Offensive

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 100

#LEVEL= 0

#PLAN_ID= 1

#SIZE= 5

#LENGTH= 0

#GOAL_POSITION= 69,18

#DATE= 1939/09/03

#STEAL= 2

; Brussels

#FRIENDLY_POSITION= 72,16

; France politically aligned with Allies and not surrendered

#VARIABLE_CONDITION= 2 [2] [100] [0]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 16,1 [0,0] [1,1] [1]

#CANCEL_POSITION= 0,0 [0,0] [1,1] [0]

}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

{

#NAME= Germany Build Up Offensive - Brussels - Slow France Offensive

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 100

#LEVEL= 0

#PLAN_ID= 1

#SIZE= 8

#LENGTH= 1

#GOAL_POSITION= 72,16

#DATE= 1940/01/03

#STEAL= 3

#FRIENDLY_POSITION= 84,16

; Poland politically aligned with Allies and surrendered

#VARIABLE_CONDITION= 33 [2] [100] [1]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 16,2 [0,0] [1,1] [1]

; Axis unit already in Brussels (due to possible Allied DoW)

#CANCEL_POSITION= 72,16 [0,0] [1,1] [1]

}

{

#NAME= Germany Build Up Amphibious - Copenhagen - Slow France Offensive

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 100

#LEVEL= 0

#PLAN_ID= 2

#SIZE= 1

#LENGTH= 1

#GOAL_POSITION= 81,12

#DATE= 1940/01/03

#STEAL= 3

; Konigsberg

#FRIENDLY_POSITION= 94,12

#VARIABLE_CONDITION= 5 [1] [100] [0]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 16,2 [0,0] [1,1] [1]

; Axis unit already in Copenhagen (due to possible Allied DoW)

#CANCEL_POSITION= 81,12 [0,0] [1,1] [1]

}

{

#NAME= Germany Build Up Offensive - Paris - Slow France Offensive

#POPUP=

#FLAG= 1

#TYPE= 1

#COUNTRY_ID= 5

#TRIGGER= 100

#LEVEL= 0

#PLAN_ID= 1

#SIZE= 9

#LENGTH= 0

#GOAL_POSITION= 69,18

#DATE= 1939/09/03

#STEAL= 2

; Brussels

#FRIENDLY_POSITION= 72,16

; France politically aligned with Allies and not surrendered

#VARIABLE_CONDITION= 2 [2] [100] [0]

#TACTICAL_CONDITION= 84,16 [3]

#ACTIVATE_POSITION= 16,2 [0,0] [1,1] [1]

#CANCEL_POSITION= 0,0 [0,0] [1,1] [0]

}

Link to comment
Share on other sites

Progress So Far:

- Scripting is complete. Now in the process of ironing out kinks and ensuring all scripts activate properly.

- Axis diplomacy is now HIGHLY variable. The Axis may press Spain, Sweden, Turkey, Switzerland, USA, USSR, or even put a chit or two into Iraq in 1939 to counter the common Brit Iraq diplo move. It will also take advantage of % rises in Spain, Turkey, etc due to scripted events.

- Sealion scripts overhauled big time. AI is much less likely to Sealion, should only do it when Russia is almost whipped (and by then most players would quit anyways).

- More possible invasions for Axis added/

- Purchases and research scripts tweaked, I regularily get games where 5-6 tanks w/ tech lvl 3 or 4 start Barbarossa! :eek:

- Global variables added and direct all AI behavior.

Link to comment
Share on other sites

I know the feeling, especially, using 1 when I should use 2, and then finding out that the French units I scripted to go to Cairo via The Loop, can't do it. Didn't realize my problem until I looked at the Loop event scripts. Ugh, and so stayed in place.

PS: I thought that since Naval untis have a higher chance of going Free French I would place the French corps from Tunis and Beruit on Transports and send them via the Loop to Cairo, to ensure they were still at sea when France surrendered.

Link to comment
Share on other sites

Ah yeah, I forgot ND has some pretty lengthy scripts. I try to test a whole session and write down everything that needs changing so I can do them in batches. It's tempting to stop at the 1st sign of something, change it and then test again but unless it's major I'll keep playing through it.

Link to comment
Share on other sites

Yes it is not a major problem with a small script set, but my scripts for the Axis AI alone are currently almost 300. Add in the fact that since the scripts interact with one another, I can't delete the rest to test a few.

I usually try to test changes in batches, but if it is a problem that stops the rest of my variables from triggering, then I have to test after every change.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...