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