aboutsummaryrefslogtreecommitdiff
path: root/design/notes.txt
blob: ef2bb25c8aaeec0a871aecbca3a4ed8fcffbbdb7 (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
tasks: (date)

[x] implement rm unit (issued on 18:02:21, done on 18:02:21)
[x] implement armor calculation (issued on 18:02:21, done on 18:02:21)
[x] implement augment calculations (issued on 18:02:21, done on 18:02:21)
[x] implement augment hud view (issued on 18:02:21, done on 18:02:21)
[ ] implement sound (issued on 18:02:21)
[ ] implement end of battle condition (issued on 19:02:21)
[ ] implement stats hud view (issued on 18:02:21)
[x] implement battery calculation (issued on 18:02:21, done on 19:02:21)
[ ] implement brain behaviour (issued on 18:02:21)
[ ] implement component levels (issued on 18:02:21)
[ ] implement persistent settings (issued on 18:02:21)
[ ] implement net hud and minilobby (issued on 18:02:21)
[ ] implement army hud view (issued on 18:02:21)
[ ] implement cost function (issued on 18:02:21)
[ ] implement lobby cost constraints (issued on 18:02:21)
[ ] implement edit unit directly (issued on 18:02:21)
[ ] implement naming template and army (issued on 18:02:21)
[ ] implement move animation (issued on 18:02:21)
[ ] implement fire animation (issued on 18:02:21)
[ ] implement explosions (issued on 18:02:21)
[ ] design 3d units (issued on 18:02:21)
[ ] design 3d map tiles (issued on 18:02:21)
[ ] implement 3d units (issued on 18:02:21)
[ ] design component sprites (issued on 18:02:21)


bugs:

[ ] symmetric integration (found on 18:02:21)
    (on army movement and fire, equal armies should fair equally)


testing:

[ ] write test suit (issued on 19:02:21)
[ ] armor calculations (issued on 18:02:21)


balance:

[ ] balance components (issued on 18:02:21)


view from 18:02:21 to the end:
    game is make templates, assemble for army, fight other army
    multiplayer up to 2 ppl
    armies, templates and settings are persistent
    


details:

implement components level:
    could do it globally, every level is +5%atk and +10% cost
    could set each weapon stat as a vector, v[level] is the stat
    what is max level? 5?
    work
    global: just implement the function
    local: that's #components * #attributes * #levels, n^3 operations
    both: local weights, worst of both worlds
    global is a quick solution, but i'm not here to do things quickly, i want to do them good.
    so local is better, but requires to
    . revolutionize every json parser
    . write a lot of numbers
    . design with a lot more variables in play
    before writing 10000 numbers i should design, or autogenerate them
    settled on 3 lvls, autogenerated with python
    
implement rm unit: -> done, paper note solution

implement armor calculation:
    consider bonuses for damage reduction
    aggregate them and spit out a percentage
    editor remove units funct to make it possible to have a test case
    army has to rebuild grid ref on load
-> done, barely tested

implement augment calculation:
    there are a lot of bonuses to keep track. do one at a time.
    ok add_armor as a malus %
    ok add_damage (only if same damage type weapon) as a bonus %
    ok add_range as a fixed sum
    ok add_cooldown
    ok add_hp
    ok add_speed
-> done, not tested

implement stats hud view:
? stats have to include individual weapon cooldowns and damage, what to do
    either put all as lines in stats (clean, but ugly)
    or modify the components directly (messy)
! put them in stats later

implement sound:
    partially done, need sound design
    
implement battery calculations:
    every component but the battery has an upkeep
    upkeep gets paid at the end of the turn
    if no charge: no shooting or moving
    weapons that drain energy do so (wow, also what?)
    yellow small text! yay!
-> done, tested briefely, testing is delayed until i write test suite