-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathDesign Doc 2.0
93 lines (68 loc) · 1.43 KB
/
Design Doc 2.0
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
core features
ID Maps (for different types: item, creature, etc.)
Diffculty based generation
Dynamic world generation (buildings, overworld, etc.)
Dynamic creature generation
Dynamic Item generation
Item crafting system
Spell crafting system
(skill exp/leveling)
Effect on persistants
Extensive hook system (on items/creatures/tiles)
Tile objects (1 per tile)
Limbic system (creatures have limbs, can add/remove)
Creature Factions
- faction disposition
- creature disposition
Modular Display
Multiplayer
- Display back end for server
- Thin client with output/input
Dialogue
Quests/Campaigns
Containers (item holding items)
Plants/fungi as tile entities
Corpses drop and stuff
AI (neural network)
Genetics (creatures breed to creature more creatures)
Taming
Event system (timing)
------------------------------
struct Game
struct World
struct Zone
struct Tile ?
struct Persistant
struct Item
struct Creature
struct TileEntity ?
struct ItemImp
struct CreatureImp
struct ItemGenerator
struct CreatureGenerator
struct Effect
struct EffectImp ?
struct action ???
struct Game {
bool multiplayer;
vector? Worlds;
master faction table?
}
struct World{
ZoneGenerator;
ItemGeneratorGenerator;
CreatureGeneratorGenerator;
DATA_STRUCTURE Zones!
}
struct Zone{
DATA_STRUCTURE tiles;
ItemGenerator
CreatureGenerator
MAP( uuid->Persistant ) things;
int zoneID;
}
struct Persistant{
int(long long?) uuid;
bool alive;
int type;
}