Variables Explanation in AICPU and INI

warrencini

Youth Team
If you are interested in individual players' AI, you may probably know how to edit the following variables...so that the different player style can be shown... (e.g. Owen really runs faster than others... and won't get caught by the slow Chinese defenders)


Within the INI file...

//Option values used in CPU TACTIC_doBestKick
MAX_OPTION_VALUE = 1000000

//Shot
OPTION_VALUE_SHOT_DIST = 275
OPTION_VALUE_SHOT_ANGLE = 6000
OPTION_VALUE_SHOT_NUMDEF = 20000

//Clearrance
OPTION_VALUE_CLEARRANCE = 3000

//Cross
OPTION_VALUE_CROSS = 100

//Dribble
OPTION_VALUE_DRIBBLE_FORWARD = 400
OPTION_VALUE_DRIBBLE_SAFE = 350
OPTION_VALUE_DRIBBLE = 300000
OPTION_VALUE_DRIBBLE_MOMENTUM = 500
OPTION_VALUE_DRIBBLE_BREAKAWAY = 250000

//Real Dribble
//OPTION_VALUE_REALDRIBBLE = 800
//OPTION_VALUE_MAX_REALDRIBBLE_TIME = 1000
//OPTION_VALUE_REALDRIBBLE_AWARE_DIST = 300

//Sprint Dribble
OPTION_VALUE_SPRINTDRIBBLE = 150000
OPTION_VALUE_SPRINTDRIBBLE_NETDIST = 50
OPTION_VALUE_SPRINTDRIBBLE_SAFE = 2000

//General Pass
OPTION_VALUE_45DEGREE_CROSS = 800000
OPTION_VALUE_LONGPASS_KILLTIME = 500000
OPTION_VALUE_LOB_PASS_FORWARD = 90
OPTION_VALUE_LOB_RECV_SAFE = 45
OPTION_VALUE_MIN_LOB_PASS_DIST = 1200
OPTION_VALUE_MAX_LOB_PASS_DIST = 4000

//Conservative Pass
OPTION_VALUE_PASS_FORWARD = 150
OPTION_VALUE_PASS_SAFE = 600
OPTION_VALUE_RECV_SAFE = 100
OPTION_VALUE_MIN_PASS_DIST = 400
OPTION_VALUE_MAX_PASS_DIST = 2500
OPTION_VALUE_MAX_GROUND_PASS_DIST = 2000

//Throughpass
OPTION_VALUE_THROUGH_PASS_FORWARD = 100
OPTION_VALUE_THROUGH_PASS_SAFE = 100
OPTION_VALUE_MIN_THROUGH_PASS_DIST = 300
OPTION_VALUE_MAX_THROUGH_PASS_DIST = 2000

//Wall pass
OPTION_VALUE_WALLPASS = 360000

/// *** make sure these two are a minimum of 5!!! ***
FK_EDGE_BUFFER = 20
FK_GOALLINE_BUFFER = 20

GOALIE_RUN_FORWARD_WITH_BALL = 10
GOALIE_RUN_SIDEWAYS_WITH_BALL = 3
GOALIE_TIME_BEFORE_CPU_KICK = 120
GOALIE_TIME_BEFORE_USER_KICK = 360

// goalie positoning factors
// what percentage further out do you play when an attacker has a clear line to your net (200 means twice as far out)
NO_DEFENDER_DISTANCE_PERCENT = 200

// what percentage further out do you play when an attacker has no clear line to your net (200 means twice as far out)
DEFENDER_DISTANCE_PERCENT = 100

// how wide of a wedge do you consider when looking for clear lines to the net (centre to edge angle, in degrees)
DEFENDER_ANGULAR_WIDTH = 10

// how far is "far from net", where you play a fixed distance to the ball, and what is distance do you play? (in feet)
FAR_FROM_NET = 200

// when the ball is in the penalty area, what percentage of the distance to it do you play (modified by defender/no defender decision on top of this number)
PENBOX_PERCENT_TO_TARGET = 10

// when the ball is NOT in the penalty area, what percentage of the distance to it do you play (modified by defender/no defender decision on top of this number)
FIELD_PERCENT_TO_TARGET = 15

DRIBBLE_KNOCK_TEAMMATE_DISTANCE = 12
DRIBBLE_KNOCK_OPPONENT_DISTANCE = 18

// Bumpy ground!
BUMPY_GROUND_MAX_VEL_UP = 50000
BUMPY_GROUND_MIN_XZ_VEL = 100000
BUMPY_GROUND_TESTS_X = 10
BUMPY_GROUND_TESTS_Z = 10

// Save determination
SAVE_SPEED_WEIGHT = 100
SAVE_TRAVEL_WEIGHT = 10
SAVE_SKILL_WEIGHT = 50
SAVE_DEFENCE_WEIGHT = 200
SAVE_ATTACK_WEIGHT = 200
SAVE_RANDOM_WEIGHT = 5

SAVE_THRESHOLD = 2250
ATTACK_THRESHOLD = 15
DEFENCE_THRESHOLD = 15

// See gdata.h for description of parameters. To update these, use goalie
// tuning dialog in testbed, then "Save to clipboard" and paste here.
NEARTHIRD_LINEDISTANCE = 8
MIDDLETHIRD_LINEDISTANCE = 21
FARTHIRD_LINEDISTANCE = 41
DEADZONE_X = 54
DEADZONE_Z = 30
CHARGE_MAX_BOX_WIDTH = 150
CHARGE_MAX_BOX_LENGTH = 65
CHARGE_ALWAYS_BOX_WIDTH = 59
CHARGE_ALWAYS_BOX_LENGTH = 17
CHARGE_STRIP_BOX_WIDTH = 121
CHARGE_STRIP_BOX_LENGTH = 48
CHARGE_ALWAYS_RANGE = 11
CHARGE_STRIP_RANGE = 7
CHARGE_STOP_RANGE = 2
CHARGE_TACKLE_ANGLE = 130
CHARGE_COMMIT_TIME = 20
MAX_BALL_PREDICT_TIME = 20
BALL_PREDICT_RANGE = 40
TARGET_ANTICIPATION = 80
ANCHOR_ANTICIPATION = 100
ANCHOR_WIDTH = 12
ANCHOR_MAX_BALL_ANGLE = 18
THREAT_WIDTH = 24
PRIMARY_THREAT_WIDTH = 4
SECONDARY_THREAT_WIDTH = 4

FATIGUE_CURVE:FATFUNC = interpolation=Linear numpoints=7 scalars=[0.0 1.0 0.0 1.0] data=[0 1 0.1425 1 0.1875 0.6875 0.365 0.4125 0.5775 0.2225 0.83 0.125 1 0.125]

FATIGUE_ATTRIBUTE_EFFECT:FATFUNC = interpolation=Linear numpoints=2 scalars=[0.0 6.0 0.0 1.0] data=[0 0.94 1 0.6325]

STAMINA_RECHARGE = interpolation=Linear numpoints=5 scalars=[0.0 1.0 0.0 2.0] data=[0 0.06 0.1775 0.08 0.4975 0.145 0.7825 0.2375 1 0.355]

STAMINA_DROP_MULTIPLIER:FATFUNC = 0.11

STAMINA_DROP:FATFUNC = 2.9

COVER_DIST = 8

The followings are variables inside the AICPU file that I don't know how to edit...

CPU_CLOSEDOWN_RATE_OWNTHIRD = 3
CPU_CLOSEDOWN_RATE_THEIRTHIRD = 5
CPU_CLOSEDOWN_DIST_PER_SECOND_OWNTHIRD = 40
CPU_CLOSEDOWN_DIST_PER_SECOND_THEIRTHIRD = 40
IDC_POSITION_ALGORITHM_1 = 0
IDC_POSITION_ALGORITHM_2 = 0
IDC_POSITION_ALGORITHM_3 = 0
IDC_POSITION_ALGORITHM_4 = 1
IDC_POSITION_Distance_1 = 7
IDC_POSITION_Distance_2 = 10
IDC_POSITION_Distance_3 = 12
IDC_POSITION_Distance_4 = 14
IDC_POSITION_TACKLE_DISTANCE = 64
IDC_POSITION_CLOSE_RATE_ATTACKING = 9
IDC_POSITION_CLOSE_RATE_DEFENDING = 7
IDC_POSITION_CLOSE_PER_SECOND_DEFENDING = 0
IDC_POSITION_CLOSE_PER_SECOND_ATTACKING = 0
IDC_POSITION_STAND_NET = 0
IDC_POSITION_STAND_BALL = 1
IDC_POSITION_ERRORS_WITH_BALL = 0
IDC_POSITION_ERRORS_WITHOUT_BALL = 0
IDC_POSITION_MARKING_DESTINATION = 112
IDC_POSITION_MARKING_FORMATION = 23
IDC_POSITION_SHOW_HOME = 1
IDC_POSITION_SHOW_AWAY = 0
IDC_POPTIONS_FORMATIONPOS = 0
IDC_POPTIONS_SHOW_ATTACKING_PLAYERS = 0
IDC_POPTIONS_SHOW_DEFENDING_PLAYERS = 0
IDC_POPTIONS_LINE_TO_MARKED = 0
IDC_POPTIONS_LINE_TO_TARGET = 0
IDC_POPTIONS_LINE_TO_RAW_FORMATION = 0
IDC_POPTIONS_SHOW_OFFSIDE = 0
IDC_POSITION_OVERRIDE_DIFFICULTY = 1
IDC_POSITION_NUM_ATTACKERS = 3
IDC_POS_FINE_REPULSION = 362
IDC_POS_FINE_REPULSION_ATTACK = 320
IDC_POS_FINE_MIN_ACCEL = 100
IDC_POS_FINE_DEAK_FRAMES = 5
IDC_POS_FINE_TIME_TO_CLOSE = 150
IDC_POS_FINE_SNIPER = 1500
IDC_POS_FINE_CARRIER_BONUS = 300
IDC_POS_FINE_NOT_USED_PENALTY = 800
IDC_POS_FINE_PREDICTER_LENGTH = 10
IDC_POS_FINE_ALWAY_FACE_BALL = 148
IDC_POS_FINE_BEHIND_IGNORE = 111
IDC_POS_MOVE_MARKING_FACE = 198
IDC_POS_MOVE_MARKING_SLOW_JOG = 21
IDC_POS_MOVE_MARKING_JOG = 72
IDC_POS_MOVE_MARKING_SPRINT = 227
IDC_POS_MOVE_MARKING_STOP_SLOW_JOG = 17
IDC_POS_MOVE_MARKING_STOP_JOG = 41
IDC_POS_MOVE_MARKING_STOP_SPRINT = 104
IDC_POS_MOVE_ATTACK_FACE = 157
IDC_POS_MOVE_ATTACK_JOG = 82
IDC_POS_MOVE_ATTACK_SPRINT = 200
IDC_POS_MOVE_ATTACK_SLOW_JOG = 21
IDC_POS_MOVE_ATTACK_STOP_JOG = 44
IDC_POS_MOVE_ATTACK_STOP_SPRINT = 98
IDC_POS_MOVE_ATTACK_STOP_SLOW_JOG = 15
IDC_POS_MOVE_REGULAR_FACE = 522
IDC_POS_MOVE_REGULAR_JOG = 285
IDC_POS_MOVE_REGULAR_SPRINT = 900
IDC_POS_MOVE_REGULAR_SLOW_JOG = 104
IDC_POS_MOVE_REGULAR_STOP_JOG = 136
IDC_POS_MOVE_REGULAR_STOP_SPRINT = 382
IDC_POS_MOVE_REGULAR_STOP_SLOW_JOG = 58

Finally, thank you very much for your help.
 


Top