aboutsummaryrefslogtreecommitdiff
path: root/rules/en/ai.md
blob: 7667d9c4cb660ce31b08e404b27e9eeaf7cec0e1 (plain)
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
% AI

# Concepts

* The algorithms for the AIs should be as simple as possible
* They must be executable by human players with normal game materials
* They should not take much time
* Players want to play the game not execute the AI
* Decision making should  most of the time rely on RNG
* We do not specify how the players implement their randomness

# Units

To execute a units AI the players follow the introductions in the AI logic
in descending order.
If no further steps can be executed the unit gets tapped.

Any ambiguity is decided at random (multiple units in attack range, multiple most distant tiles, ...).

## Aggressive
```
1. If enemy Unit in attack Range then
  attack enemy Unit in Range
2. While move action available do
  3a. If enemy unit exists
    move towards nearest enemy unit until it is in attack range
    if attack action avail then proceed at 1.
  3b. Otherwise
    move to random tile in movement range
```

## Shy
```
1. If not in the attack Range of an enemy Unit then
  activate full action if available
2. If move action available then
  move to most distant point from all enemy units
3. If enemy Unit in attack Range then
  attack enemy Unit in Range
```

## Wandering X
```
1. If enemy unit in Range X then
  execute aggressive AI
2. If move action available then
  move to random tile in movement Range
  proceed at 1.
```

## Target-oriented TARGET
```
1. Use full action if possible
2a. If a TARGET exists and is reachable
  Move onto or towards nearest TARGET
  3a. If enemy Unit in attack Range
    attack enemy Unit in Range
2b. Otherwise
  execute wandering 3 AI
```

# The Kraken

Instructions for the opponent player in "The Kraken" game mode.  
It starts the game with *The Kraken* unit on its spawn tile.

## Turn structure
```
0. (Shuffle discard pile into empty deck)
1. Gain 5 Resource per player
2. Upkeep:
  2.1 While sum of upkeep cost bigger than available resource
    destroy random unit
  2.2 Pay all upkeep cost
3. Actions:
  3.1 Draw a card
  3.2 If the card is playable then
    play the card
    proceed at 3.1
  3.3 activate all own units
4. Discard the unused card
```

# The Tyrant

* Instructions for the opponent player in "The Tyrant" game mode.
* It starts the game with the *The Tyrant* unit on its spawn tile.
* The players win if they kill *The Tyrant*.
* They loose the game if at least 2 repression marks per player are placed on *The Tyrant*.

## Turn structure
```
0. (Shuffle discard pile into empty deck)
1. Gain 5 resource per player
2. Upkeep:
  2.1 While sum of upkeep cost bigger than available resource
    destroy random unit
  2.2 Pay all upkeep cost
3. Actions:
  3.1 Draw a card
  3.2 If the card is playable then
    play the card
    proceed at 3.1
  3.3 activate all own units
4. Discard the unused card
```