-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtodo.txt
120 lines (100 loc) · 4.06 KB
/
todo.txt
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
How about
----
-- --
-- The game itelf --
-- --
[x] On 'game creation', generate a map in some 'bounds'
[x] Asteroids
[ ] Gas clouds
[ ] Structures (space stationy bits whatever)
[x] Need collectables
[x] Need the ability to produce collectables by damaging things
[x] Need to display those collectables in the UI
[x] Collectables probably need to timeout after a a bit to avoid clutter
[ ] Need a building menu that is aware of the collectables/other built shit
[ ] Bring back latency indicator
[ ] Bring back player list
[ ] Score should be based on resource collection, kills, building, etc
-- --
-- Issues --
-- --
[x] Starfield pls
[x] Work out what's going on with the dodgy collision sync
[x] Need more info on the 'sync' object so we can have different sizes asteroids
[x] we've got a disconnection problem happening after a timeout despite pings taking place
- Not a bug, browser is disabling ticks when backgrounded, might need to detect that..
[x] Visual indication of the 'bounds'
[ ] Don't allow leaving of the 'bounds'
[ ] Don't spawn the player ship until the first sync has been received
[ ] Starfields need updating based on the actual game info we receive from server
[ ] What will it take to have a 4x bigger world?
- Efficiency in ticking 'scene' (do asteroids need a tick?)
- Static vs Dynamic entities?
- Sweep for AABB, if a lot of the static geometry is already in sorted lists...
- Unpack the foldls into tail recursive fns..
- Note: A bigger world isn't actually that interesting unless there is content in it
-- --
-- Gameplay Tweaks --
-- --
[ ] Need a boost mechanism to spice up the speed a little
[ ] We need to add a debug console to adjust things 'live'
- Change values in client
- Change values on server :/
- Server needs to validate, maybe they're just special 'events' (DebugEvent)
[ ] Think about perhaps interpolating bullet-spread if the ship is rotating when firing
- Or bring back auto-targeting/lock ala hoverbattles (!!)
-- --
-- Control --
-- --
[ ] Game workflow
- Create new game (how many players)
- Public?
- Get the URL, give it to pals (or wait for people otherwise)
- Once enough people joined, 5 second countdown and go..
-- --
-- thoughts --
-- --
[x] Slow down the space ship, there is no need for such speed
Start off with no shield, small health
Resources to collect
Metal(s)
Rock
Bio matter
Gases
Structures to create
Space port
Automatable shit, no farming.
Automatable shit, defence.
Could we do hybrid RTS?
- State how many players you want
- Wait for players to join
- Spawn across the 'map' from each other
- Randomised resources/etc distributed across the map
- Randomised things to shoot at other than the other player (maybe)
- Fly around shooty shooty
- Fly around buildy buildy
- Minimap with alerts when fighty fighty
- Respawn back at base so long as spawner still exists
-- Tech
[x] Move ev into a Variant
[x] Sort out the namespaces again
[x] Move most components outside of 'game'
[ ] Generify the networking aspect of this
[ ] Generify the rendering aspect of this
[ ] Newtypes for width/height
[ ] Newtypes for Game/Player...
[ ] Newtype for game names
[ ] Purge wrap/unwrap
[ ] Ticks should really be a type (and should have conversion to/from seconds/milliseconds)
[ ] Break up LocalContext
[ ] Just sort out main.purs on the client in general :S :S :S
[ ] Probably need to spin up the game itself in a spawnProcess on the server to avoid blocking
[ ] Show loading screen whilst pre-loading assets on client
[ ] Need to profile the hot loop, probably benefits to be had by unpacking the records
[ ] Can the game itself be a Sisy construct (the handling of commands/events/etc, the loop, networking)
-- Entirely unnecessary stuff
[ ] Infinite background (load/render on demand (yawn))
[ ] Shaders/layers
[ ] Proper collision
[x] Asteroids
[x] Might want to move health/shield data into the state of the component itself, but then we'd need a way to get it out...