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