]> git.localhorst.tv Git - blank.git/blob - doc/todo
direct fix collision response
[blank.git] / doc / todo
1 block placement/removal timers
2
3         removal timing depending on the tool/block combination
4         animation for remove
5
6 composite entity animations
7
8         complex entities are made up of parts which have their own local
9         transform that can be animated (like e.g. an arm or head)
10
11 font rendering
12
13         with background now being a thing, a padding might be nice
14         that or maybe separate bg from fg rendering
15
16         it may also be feasible to get rid of SDL_ttf and use freetype
17         directly to eliminate the unneccessary surface creation
18         ftgl might also be worth looking at
19
20 command line
21
22         more commands pls
23         and show me their output
24
25 persistence
26
27         merge IO counters, so number of operations per frame is kept
28         low, no matter what exactly is done
29
30         store some kind of byte order mark?
31
32         world and player names should be normalized so they can safely
33         be used in path names
34
35 networking
36
37         definitely needs throttling for the internets
38
39         players stats (who's connected, their ping, and game-relevant
40         things) should be sent to clients
41
42         some method for authenticating a player might be nice
43
44         maybe stale and inexistent chunks should be visualized (e.g. by
45         drawing a semi-transparent box around them)
46
47         make a chunk data counting a little safer
48
49 threading
50
51         (clientside) networking and disk IO are prime candidates for threading
52
53 launcher ui
54
55         select or create a world with configurable parameters
56
57 entity ai
58
59         pathfinding, better turning behaviour
60
61 lighting
62
63         occlusion/neighbor light mixing is implemented, but still linear
64         this could be solved by using a pre-interpolated light texture and
65         mapping light levels to coordinates on that
66
67         there's a bug where a chunk's model is not updated if its neighbor
68         changes border light levels
69         I kinda mitigated it a little for direct neighbors during linking, but
70         it still can happen in (hopefully) rare corner cases
71
72         propagation through semi-filled blocks is wonky. I worked around it by
73         having the light propagate into solid blocks, but feels like this
74         could cause some weird behaviours
75
76         entity lighting is now derived from block light levels
77         it's not interpolated and the calculation is very basic, so it
78         has some unexpected effects
79
80 gravity
81
82         now implemented as optional gravity emitter per block type
83         let's see how that pans out
84         maybe players should be given the option to switch between
85         walk and fly mode
86
87 block attributes
88
89         when blocks are not just a solid rock of color, attributes may
90         become interesting. like labels on signs and contents of
91         containers
92
93 transparency (blocks and entities)
94
95         transparent blocks because awesome
96
97 world generator that is not boring
98
99         well, it's different
100         still needs way more block types and structure generation
101         a minimum distance from origin could be interesting as well, to ensure
102         the spawn vicinity doesn't contain bloks with would be useless at the
103         beginning (if there even is such a thing), also it would encourage
104         exploration
105         biomes seem too small, maybe that will become easier to tune when
106         there's a little more diversity between them
107
108 spawning
109
110         need a way to find a suitable location to spawn new players in
111         I imagine a "random block" function of ChunkIndex could be nice
112         (also for use with the AI spawner)
113         also, finding a spawn position for a player must no fail. after a
114         certain number of tries, the world must change to safely accomodate
115         the player.
116         chunk generation could be adjusted to make a little more room near the
117         origin (since that's where the usual spawn point will be), but that's
118         not strictly necessary and might overcomplicate the generation
119         if all fails, the spawner has to modify the world
120         how much space has to be cleared and how to make sure the spawning
121         space connects to "open space" I don't know yet, it's all a little
122         fuzzy anyway
123
124 sprite/particle system
125
126         these could help make the world seem more alive
127
128 items
129
130         items representing both blocks and non-blocks (such as tools, weapons,
131         armor), with a simpler physics simulation than entities, much like the
132         one for particles
133         they can be picked up by entities, so those should have one or more parts
134         in their skeleton to render them when they're "held"
135         players' inventories have to be changed so they select an item rather
136         than a block
137         item IDs could be the block ID for blocks, and anything from 2^16 up for
138         non-blocks