-
Notifications
You must be signed in to change notification settings - Fork 1
/
conf.ini
136 lines (130 loc) · 8.6 KB
/
conf.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
; Configure who's playing this game. Computer ids come from the Chromosomes
; section below, and human names are arbitrary.
[Players]
humans={"player1","player2"} ; type: arr str, length: 0-8
computers={"cp0","cp5"} ; type: arr str, length: 0-8
; Control how long the AIs train for if you would like to improve the toughness
; of your computer opponents.
[Training]
games=0 ; type: int, range: 0-2^16
; Optionally log gameplay to file with a specified directory. The directory will
; be created if it does not exist. One log file will be created for every game.
; The coloumn width of the logs is also settable.
[Logging]
log=true ; type: bool, true/false
dir="training_sessions" ; type: str, length: 1-255
columns=120 ; type: int, range: >= 80
; This section allows manipulating all the troop settings in the game.
; These include the number of starting troops, minimum per turn, the number of
; countries needed per extra troop, and if you would like to randomly distribute
; them at the start of the game.
[Troops]
beginning=40 ; type: int, range: 0-2^8
minimum=3 ; type: int, range: 0-2^8
bonus=3 ; type: int, range: 0-2^8
random=false ; type: bool, true/false
; Cards sets can be traded in for troops. A card will be generated for each
; country, and will be assigned a random type each game. A set is defined as
; either: a) one of every type or b) all the same type. Wilds can only be
; combined with type b. The traded set must have more 'naturals' than wilds.
; Below you can change the set of card types and the number of wilds, both which
; comprise the deck. You can also define what each trade is worth up to some
; point. Once the trades array is exhausted every trade after will be worth a
; constant increment from the previous. Lastly, note the number of cards required
; per trade in is the same as the number of types there are.
[Cards]
types={"CANNON","SOILDER","CALVARY"} ; type: arr str, length: 2-2^8
wilds=2 ; type: int, range: 0-2^8
trades={4,6,8,10,12,15} ; type: arr int, range 0-2^8, length: 0-2^8
incr=5 ; type: int, range 1-2^8
; Chromosomes determine the 'personality' of the AIs. Each is made up of an
; array of traits which can take on values from 0-2^8. Below is a short explanation
; of each trait. 0 means it does not posses the trait, and it will not be used
; during the decision making process for that AI.
;
; - offense: [world domination speed]
; - defence: [building up troops]
; - armies: [higher number of troops]
; - continents: [continent bonuses]
; - card_b: [card bonus]
; - troop_b: [troop bonus]
; - claim: [country placement at game start]
; - troops: [troop placement at game start]
; - takeover: [overtaking opponents for cards]
; - borders: [fority borders]
;
; Variable cps is used to track which AIs are used during gameplay/training.
; The traits var is used to track the nuber of elements in each chromosome.
; You can also control the mutation rate of the AI's DNA if they train and elect
; if you would like to perform elitism between generations of new AI's.
; If you elect to perform elitism you can also define the percentile of elitism.
; This is for easy extensibility in case one would like to adjust the internals
; of the AIs.
[Chromosomes]
cps={"cp0","cp1","cp2","cp3","cp4","cp5","cp6","cp7"} ; type: arr str, length 2-2^8
traits=10 ; type: int, range 0-2^8
mutation=0.01 ; type: float, range: 0.00-1.00
elitism=true ; type: bool, true/false
percentile=0.1 ; type: float, range: 0.00-1.00
lbound=0 ; type: int, range 0-2^8
ubound=255 ; type: int, range 0-2^8
cp0={2,0,0,5,0,3,0,0,9,0} ; type: arr int, length: 2^8
cp1={0,2,0,5,0,0,0,0,3,0}
cp2={0,2,0,0,7,2,0,0,0,0}
cp3={7,0,9,0,0,0,5,0,7,9}
cp4={0,0,5,0,0,0,5,0,0,0}
cp5={0,9,0,0,7,0,0,0,3,0}
cp6={7,2,5,0,0,2,9,0,0,9}
cp7={0,0,3,0,0,0,0,3,0,0}
; Risky also allows for custom maps. Inputs needed are the names of continents,
; there bonuses (1:1 correspondence), if you would like to randomly distrbute the
; countries at the start of the game, the countries themselves, and the board.
; To construct the board a key value pair is required for each country. Each entry
; should follow the format: [country]={[continent],[adjacencies...]}.
[Map]
continents={"Asia","North_America","Europe","Africa","South_America","Oceana"} ; type: arr str, length: 1-2^8
continents_bonus={7,5,5,3,2,2} ; type: arr int, range 0-2^8, length: 1-2^8
random=false ; type: bool, true/false
countries={"Alaska","Northwest_Territory","Greenland","Alberta","Ontario","Quebec","Western_United_States","Eastern_United_States","Central_America","Iceland","Scandinavia","Ukraine","Great_Britain","Northern_Europe","Western_Europe","Southern_Europe","Ural","Siberia","Yakutsk","Kamchatka","Irkutsk","Mongolia","Japan","Afghanistan","China","Middle_East","India","Siam","Venezuela","Peru","Brazil","Argentina","North_Africa","Egypt","Congo","East_Africa","South_Africa","Madagascar","Indonesia","New_Guinea","Western_Australia","Eastern_Australia"}
Alaska={"North_America","Northwest_Territory","Alberta","Kamchatka"}
Northwest_Territory={"North_America","Alaska","Alberta","Ontario","Greenland"}
Greenland={"North_America","Quebec","Ontario","Northwest_Territory","Iceland"}
Alberta={"North_America","Alaska","Northwest_Territory","Ontario","Western_United_States"}
Ontario={"North_America","Alberta","Northwest_Territory","Greenland","Quebec","Western_United_States","Eastern_United_States"}
Quebec={"North_America","Ontario","Greenland","Eastern_United_States"}
Western_United_States={"North_America","Alberta","Ontario","Eastern_United_States","Central_America"}
Eastern_United_States={"North_America","Western_United_States","Ontario","Quebec","Central_America"}
Central_America={"North_America","Western_United_States","Eastern_United_States","Venezuela"}
Iceland={"Europe","Greenland","Great_Britain","Scandinavia"}
Scandinavia={"Europe","Iceland","Great_Britain","Northern_Europe","Ukraine"}
Ukraine={"Europe","Scandinavia","Northern_Europe","Southern_Europe","Ural","Middle_East","Afghanistan"}
Great_Britain={"Europe","Iceland","Western_Europe","Scandinavia","Northern_Europe"}
Northern_Europe={"Europe","Western_Europe","Southern_Europe","Ukraine","Great_Britain","Scandinavia"}
Western_Europe={"Europe","Great_Britain","Northern_Europe","Southern_Europe","North_Africa"}
Southern_Europe={"Europe","Western_Europe","Northern_Europe","Ukraine","Middle_East","Egypt","North_Africa"}
Ural={"Asia","Ukraine","Siberia","China","Afghanistan"}
Siberia={"Asia","Ural","Yakutsk","Irkutsk","Mongolia","China"}
Yakutsk={"Asia","Siberia","Kamchatka","Irkutsk"}
Kamchatka={"Asia","Yakutsk","Irkutsk","Mongolia","Japan","Alaska"}
Irkutsk={"Asia","Siberia","Yakutsk","Kamchatka","Mongolia"}
Mongolia={"Asia","Siberia","Irkutsk","Kamchatka","Japan","China"}
Japan={"Asia","Kamchatka","Mongolia"}
Afghanistan={"Asia","Ural","China","India","Middle_East","Ukraine"}
China={"Asia","Siam","India","Afghanistan","Ural","Siberia","Mongolia"}
Middle_East={"Asia","Southern_Europe","Ukraine","Afghanistan","India","Egypt","East_Africa"}
India={"Asia","Middle_East","Afghanistan","China","Siam"}
Siam={"Asia","India","China","Indonesia"}
Venezuela={"South_America","Central_America","Peru","Brazil"}
Peru={"South_America","Venezuela","Brazil","Argentina"}
Brazil={"South_America","Venezuela","Peru","Argentina","North_Africa"}
Argentina={"South_America","Peru","Brazil"}
North_Africa={"Africa","Brazil","Western_Europe","Southern_Europe","Egypt","East_Africa","Congo"}
Egypt={"Africa","North_Africa","Southern_Europe","Middle_East","East_Africa"}
Congo={"Africa","North_Africa","East_Africa","South_Africa"}
East_Africa={"Africa","Egypt","North_Africa","Congo","South_Africa","Madagascar","Middle_East"}
South_Africa={"Africa","Congo","East_Africa","Madagascar"}
Madagascar={"Africa","South_Africa","East_Africa"}
Indonesia={"Oceana","Siam","New_Guinea","Western_Australia"}
New_Guinea={"Oceana","Indonesia","Eastern_Australia"}
Western_Australia={"Oceana","Indonesia","Eastern_Australia"}
Eastern_Australia={"Oceana","Western_Australia","New_Guinea"}