]> git.localhorst.tv Git - blank.git/blob - TODO
057b7359385a55917da083adbb8ae2df18fdfa1b
[blank.git] / 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 part which have their own local
9         transform that can be animated (like e.g. an arm or head)
10
11 textures
12
13         okay, now I need a better solution for the crosshair ^^
14
15 font rendering
16
17         with background now being a thing, a padding might be nice
18         that or maybe separate bg from fg rendering
19
20         it may also be feasible to get rid of SDL_ttf and use freetype
21         directly to eliminate the unneccessary surface creation
22         ftgl might also be worth looking at
23
24 command line
25
26         usefull for development and later on world administration
27
28 audio
29
30         do the sources thing rightâ„¢
31         (or at least in a way that it doesn't error out on shutdown :P )
32
33 persistence
34
35         merge IO counters, so number of operations per frame is kept
36         low, no matter what exactly is done
37
38         store some kind of byte order mark?
39
40 block asset loading
41
42         block type loader can determine which textures are needed in the array
43         it should compose a map while loading, assigning an ID to each
44         individual texture and after all types are loaded, load the appropriate
45         textures into the array
46
47         also, parameterization of chunk generator should be less static/dangerous
48
49 networking
50
51         exchange of chunks and entities
52
53 launcher ui
54
55         select or create a world with configurable parameters
56
57 entity ai
58
59         pathfinding, chase and roam states
60
61 (block) 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         also: how could block light affect entity lighting?
68         maybe get the interpolated light level at the entity's center and use
69         that as the light power for the directional lighting shader and use a
70         direction that's fixed relative to the camera?
71
72         there's a bug where a chunk's model is not updated if its neighbor
73         changes border light levels
74         I kinda mitigated it a little for direct neighbors during linking, but
75         it still can happen in (hopefully) rare corner cases
76
77         propagation through semi-filled blocks is wonky. I worked around it by
78         having the light propagate into solid blocks, but feels like this
79         could cause some weird behaviours
80
81 gravity
82
83         maybe like light levels? should also store a direction with it in
84         that case. also, global gravity may be a world option.
85         no, per-block gravity vector is most probably too expensive.
86         better have the chunks store a few point masses (maybe blocks that
87         emit gravitation?) and calculate from that
88
89 block attributes
90
91         when blocks are not just a solid rock of color, attributes may
92         become interesting. like labels on signs and contents of
93         containers
94
95 chunk traversal
96
97         maybe the chunk loader should keep an index of interesting, if not
98         all chunks by position, possibly base-relative
99
100         profiling indicates that this is not neccessary atm. maybe it will
101         when there's some more action in the world
102
103 transparency (blocks and entities)
104
105         transparent blocks because awesome
106
107 world generator that is not boring
108
109         maybe divide into biomes and add special features like
110         settlements, ruins, all kinds of interesting stuff
111
112 entity/world collision
113
114         first draft of entity/world collision is implemented
115         it jitters and has some surprising behaviour
116         finding a spawn point which doesn't put entities in solids is
117         now a little more crucial. press N if you're in trouble
118
119 better noise
120
121         current simplex noise implementation repeats itself pretty quickly