-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStrategicPlanningLanguage.txt
More file actions
160 lines (133 loc) · 5.3 KB
/
StrategicPlanningLanguage.txt
File metadata and controls
160 lines (133 loc) · 5.3 KB
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
**************************************************
*** Strategic Planning Language Specification ****
**************************************************
Two Parts to the language.
Query and Order
*************
*** Query ***
*************
A Query is a request of information from the AI
Query
QueryObject
HowMany - How many of these do you have?
1 Argument(ObjectType)
ObjectType - Object type to count
HowManyGreedy - How many of these and related do you have?
1 Argument(ObjectType)
ObjectType - Object type to count, as well as sub and parent types
HowManyAvailable - How many of these to spare?
1 Argument(ObjectType)
ObjectType - Object type to count
HowManyGreedyAvailable - How many of these and related to spare?
1 Argument(ObjectType)
ObjectType - Object type to count, as well as sub and parent types
QueryTime
HowLong - How long to complete an order?
1 Argument(Order)
Order - A previously agreed Order
HowLongStart - How long till start an order?
1 Argument(Order)
Order - Either previously agreed Order or OrderWIP
QueryAssessment
AttackStrength - Evaluate attack strengths / weaknesses
1 Argument(Player/Team)
Player/Team - Evaluate the player or team given with all available information to AI's team
DefenseStrength - Evaluate defense strengths / weaknesses
1 Argument(Player/Team)
Player/Team - Evaluate the player or team given with all available information to AI's team
TotalStrength
AttackStrength(Player/Team) && DefenseStrength(Player/Team)
AssessAll - Assess TotalStrength of all players and return matching strengths to weaknesses
*************
*** Order ***
*************
An Order is a request to the AI to carry out a task
Order ::= Order | Order && Order
4 Main Types of order
Attack, Defend, Trade and Explore
Attack - Attack orders are given to direct the AI to attack a location or structure or base.
Assasinate - Orders the AI to take out a single structure or unit without regard to others. Should withdraw after completion
2 Arguments (Object, Severity, After)
Object - The Target
Severity - How important it is to succeed
After - Optional list of Orders that must be completed first
Destroy - Orders the AI to completly destroy a base
2 Arguments (Base, Severity, After)
Base - The Base to destroy
Severity - How important it is to succeed
After - Optional list of Orders that must be completed first
Neutralize - Orders the AI to keep the enemy out of a region
3 Arguments (Location, Radius, Severity, After)
Location - Location to use as center point
Radius - How wide around the center point to go
Severity - How important it is to succeed
After - Optional list of Orders that must be completed first
Defend - Defend orders the AI to perform defensive tasks
Grow - Orders the AI to improve its own base defenses
3 Arguments (Base, Type, Severity, After)
Base - The Base to grow
Type - The thing to defend against
Severity - How much resources to put into this. Out of 5.
After - Optional list of Orders that must be completed first
Occupy - Orders the AI to construct a base in an area
3 Arguments (Location, Type, Severity, After)
Location - The location to use as center point
Type - The purpose of the base
Severity - How large/Strong will the base be
After - Optional list of Orders that must be completed first
OccupyForMe - Orders the AI to construct a base for me in an area
(Occupy followed by GiveBase)
3 Arguments (Location, Type, Severity, After)
Location - The location to use as center point
Type - The purpose of the base
Severity - How large/Strong will the base be
After - Optional list of Orders that must be completed first
Explore - Explores the terrain
Explore - Explore a geographical location
3 Arguments (Location, Radius, Severity, After)
Location - The Location to use as center point
Radius - How much to explore around the point
Severity - How soon should we explore
After - Optional list of Orders that must be completed first
Search - Search for a particular item
4 Arguments (Resource,Location, Radius, Severity, After)
Resource - The Resource we are looking for
Location - The Location to use as center point
Radius - How much to explore around the point
Severity - How soon should we explore
After - Optional list of Orders that must be completed first
Trade - Negotiates trade of units/resource/buildings
Give - Orders the AI to hand over control
GiveObject
1 Argument (Object)
Object - The Object to be transferred
GiveGroup
1 Argument (Group)
Group - The Group to be transferred
GiveBase
1 Argument (Base)
Base - The Base to be transferred
GiveAll
0 Arguments
Receive
ReceiveObject
1 Argument (Object)
Object - The Object to be transferred
ReceiveGroup
1 Argument (Group)
Group - The Group to be transferred
ReceiveBase
1 Argument (Base)
Base - The Base to be transferred
ReceiveAll
0 Arguments
Swap
SwapObject
2 Arguments (ObjectMine, ObjectYours)
GiveObject(ObjectMine) && ReceiveObject(ObjectYours);
SwapGroup
2 Arguments (GroupMine, GroupYours)
GiveGroup(GroupMine) && ReceiveGroup(GroupYours);
SwapBase
2 Arguments (BaseMine, BaseYours)
GiveBase(BaseMine) && ReceiveBase(BaseYours);