Mercurial > malikania
annotate doc/specs/battle.md @ 166:0f1f4919792e
Docs: add battle.md specifications
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 03 Jul 2018 21:45:44 +0200 |
parents | |
children |
rev | line source |
---|---|
166
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 # Battle |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 This document describes the battle system in Malikania's Kingdom. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 # Synopsis |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 Malikania is a 2D MMORPG where battles occur in a different map system. When a |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 battle starts, a grid is shown where players and ennemies are placed on cells. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 Battles usually end once all ennemies or all players are defeated. Once finished |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 players win random amount of money and optionally ennemy content. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 # Terms |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 - battle: the battle game concept. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 - cell: a cell position in the grid. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 - grid: the battle grid owning players, ennemies and decorative objects. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 - spell: a spell that can be cast on a specific cell. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 - player: a human player. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 - ennemy: an IA character. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 - character: a player or ennemy. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 # Battle creation |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 When the player walks on a map, battle randomly starts after several footsteps, |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 the number if randomly created and may be different in maps. This can also |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 disabled as we may need to create maps without battle (e.g. villages). |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 If the player is in a group, the required footsteps is defined among the number |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 of players in a group (see below). |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 The scenario is obviously allowed to spawn battles on different events, such as |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 after a discussion with an ennemy. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 # Grid system |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 The battle contains a 20x20 size grid where characters move on adjacent cells |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 when they are ready to play. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 The grid may contain up to 16 characters at max (8 players, 8 ennemies). It is |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 possible to increase this limits in case of dynamic character spawning spells. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 # Turn time |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 Each character must wait to be ready to perform a set of actions which can be to |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 move into the grid or casting a spell. This time is determined using the agility |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 level from the character. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 The default time is set to 10 seconds, more agility reduces the turn time. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 TODO: determine math function. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 # Spells |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 Each character have their own set of spells, those spells objects are recreated |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 at each battle to store local variables needed to perform the spell correctly. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 # Groups |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 When a group is walking on a map and all players are enough close to each |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 others, the battle will starts will all players in that group. Anybody else on |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 the map that is not in the group won't be included in that battle. |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 When a player does not follow the group quickly enough, a warning will be |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 emitted on the client to indicate that it will not be included in the battle if |
0f1f4919792e
Docs: add battle.md specifications
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 it does not come quickly. It is not removed from the group though. |