1 block placement/removal timers
3 removal timing depending on the tool/block combination
6 composite entity animations
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)
13 with background now being a thing, a padding might be nice
14 that or maybe separate bg from fg rendering
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
23 and show me their output
27 merge IO counters, so number of operations per frame is kept
28 low, no matter what exactly is done
30 store some kind of byte order mark?
34 definitely needs throttling for the internets
36 players stats (who's connected, their ping, and game-relevant
37 things) should be sent to clients
42 select or create a world with configurable parameters
46 pathfinding, obstacle avoidance, better turning behaviour
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
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?
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
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
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
78 when blocks are not just a solid rock of color, attributes may
79 become interesting. like labels on signs and contents of
82 transparency (blocks and entities)
84 transparent blocks because awesome
86 world generator that is not boring
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
94 biomes seem too small, maybe that will become easier to tune when
95 there's a little more diversity between them
97 entity/world collision
99 first draft of entity/world collision is implemented
100 it jitters and has some surprising behaviour
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
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
118 sprite/particle system
120 these could help make the world seem more alive