]> git.localhorst.tv Git - blank.git/blob - doc/todo
added simple command line
[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 networking
33
34         definitely needs throttling for the internets
35
36         players stats (who's connected, their ping, and game-relevant
37         things) should be sent to clients
38
39
40 launcher ui
41
42         select or create a world with configurable parameters
43
44 entity ai
45
46         pathfinding, obstacle avoidance, better turning behaviour
47
48 (block) lighting
49
50         occlusion/neighbor light mixing is implemented, but still linear
51         this could be solved by using a pre-interpolated light texture and
52         mapping light levels to coordinates on that
53
54         also: how could block light affect entity lighting?
55         maybe get the interpolated light level at the entity's center and use
56         that as the light power for the directional lighting shader and use a
57         direction that's fixed relative to the camera?
58
59         there's a bug where a chunk's model is not updated if its neighbor
60         changes border light levels
61         I kinda mitigated it a little for direct neighbors during linking, but
62         it still can happen in (hopefully) rare corner cases
63
64         propagation through semi-filled blocks is wonky. I worked around it by
65         having the light propagate into solid blocks, but feels like this
66         could cause some weird behaviours
67
68 gravity
69
70         maybe like light levels? should also store a direction with it in
71         that case. also, global gravity may be a world option.
72         no, per-block gravity vector is most probably too expensive.
73         better have the chunks store a few point masses (maybe blocks that
74         emit gravitation?) and calculate from that
75
76 block attributes
77
78         when blocks are not just a solid rock of color, attributes may
79         become interesting. like labels on signs and contents of
80         containers
81
82 transparency (blocks and entities)
83
84         transparent blocks because awesome
85
86 world generator that is not boring
87
88         well, it's different
89         still needs way more block types and structure generation
90         a minimum distance from origin could be interesting as well, to ensure
91         the spawn vicinity doesn't contain bloks with would be useless at the
92         beginning (if there even is such a thing), also it would encourage
93         exploration
94         biomes seem too small, maybe that will become easier to tune when
95         there's a little more diversity between them
96
97 entity/world collision
98
99         first draft of entity/world collision is implemented
100         it jitters and has some surprising behaviour
101
102 spawning
103
104         need a way to find a suitable location to spawn new players in
105         I imagine a "random block" function of ChunkIndex could be nice
106         (also for use with the AI spawner)
107         also, finding a spawn position for a player must no fail. after a
108         certain number of tries, the world must change to safely accomodate
109         the player.
110         chunk generation could be adjusted to make a little more room near the
111         origin (since that's where the usual spawn point will be), but that's
112         not strictly necessary and might overcomplicate the generation
113         if all fails, the spawner has to modify the world
114         how much space has to be cleared and how to make sure the spawning
115         space connects to "open space" I don't know yet, it's all a little
116         fuzzy anyway
117
118 sprite/particle system
119
120         these could help make the world seem more alive