]> git.localhorst.tv Git - blank.git/blob - TODO
show player orientation in debug overlay
[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 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         usefull for development and later on world administration
23
24 audio
25
26         do the sources thing rightâ„¢
27         (or at least in a way that it doesn't error out on shutdown :P )
28
29 persistence
30
31         merge IO counters, so number of operations per frame is kept
32         low, no matter what exactly is done
33
34         store some kind of byte order mark?
35
36 block asset loading
37
38         parameterization of chunk generator should be less static/dangerous
39
40 networking
41
42         exchange of chunks and entities
43
44 launcher ui
45
46         select or create a world with configurable parameters
47
48 entity ai
49
50         pathfinding, chase and roam states
51
52 (block) lighting
53
54         occlusion/neighbor light mixing is implemented, but still linear
55         this could be solved by using a pre-interpolated light texture and
56         mapping light levels to coordinates on that
57
58         also: how could block light affect entity lighting?
59         maybe get the interpolated light level at the entity's center and use
60         that as the light power for the directional lighting shader and use a
61         direction that's fixed relative to the camera?
62
63         there's a bug where a chunk's model is not updated if its neighbor
64         changes border light levels
65         I kinda mitigated it a little for direct neighbors during linking, but
66         it still can happen in (hopefully) rare corner cases
67
68         propagation through semi-filled blocks is wonky. I worked around it by
69         having the light propagate into solid blocks, but feels like this
70         could cause some weird behaviours
71
72 gravity
73
74         maybe like light levels? should also store a direction with it in
75         that case. also, global gravity may be a world option.
76         no, per-block gravity vector is most probably too expensive.
77         better have the chunks store a few point masses (maybe blocks that
78         emit gravitation?) and calculate from that
79
80 block attributes
81
82         when blocks are not just a solid rock of color, attributes may
83         become interesting. like labels on signs and contents of
84         containers
85
86 chunk traversal
87
88         maybe the chunk loader should keep an index of interesting, if not
89         all chunks by position, possibly base-relative
90
91         profiling indicates that this is not neccessary atm. maybe it will
92         when there's some more action in the world
93
94 transparency (blocks and entities)
95
96         transparent blocks because awesome
97
98 world generator that is not boring
99
100         maybe divide into biomes and add special features like
101         settlements, ruins, all kinds of interesting stuff
102
103 entity/world collision
104
105         first draft of entity/world collision is implemented
106         it jitters and has some surprising behaviour
107         finding a spawn point which doesn't put entities in solids is
108         now a little more crucial. press N if you're in trouble
109
110 better noise
111
112         current simplex noise implementation repeats itself pretty quickly