]> de.git.xonotic.org Git - xonotic/xonotic.wiki.git/blob - Bot.md
cff7ec02ba3d13696048856ef2aa2595fcce2de3
[xonotic/xonotic.wiki.git] / Bot.md
1 h1. Bot
2
3 h2. General behaviour
4
5 h3. Goals
6
7 h2. Pathfinding
8
9 h3. Goals
10
11 * Plan A - Grid based
12
13 * Plan B - Waypoints based
14 ** Cached waypoint links
15
16 * A* based
17
18 * Cached nodes _(applies to both plans)_
19 ** This means that most of map discovery or waypoint creation will be done offline
20
21 h2. Navigation
22
23 h3. Goals
24
25 * Steering behaviour
26
27 * Swimming
28 ** Support getting out of water
29 ** Float in the same place if until a path is found
30 ** Eventually support navigation under water as long as the pathfinder supports it too
31
32 * Able to get out of lava, acid, etc
33 ** Ideally it should request quickly a new path to the pathfinder, instead of improvising on the movement code
34
35 * Never, ever, get stuck in the same place. Wander around if there nothing better to do.
36
37 * Able to rocket-jump _(as a last resource measure, when they're thrown into space void)_
38
39 * Plan A - Waypoint based
40 ** Avoid path congestion _(this happens when more than one bot on the same team are traveling over the same path)_
41
42 * Filter insanely quick movements (aka shaking)
43
44
45 h2. Talking
46
47 h3. Goals
48
49
50 h2. Aiming
51
52 h3. Goals
53
54
55 h2. Coding guidelines
56
57 h2. Links