block placement/removal timers removal timing depending on the tool/block combination animation for remove composite entity animations complex entities are made up of parts which have their own local transform that can be animated (like e.g. an arm or head) font rendering with background now being a thing, a padding might be nice that or maybe separate bg from fg rendering it may also be feasible to get rid of SDL_ttf and use freetype directly to eliminate the unneccessary surface creation ftgl might also be worth looking at command line more commands pls persistence merge IO counters, so number of operations per frame is kept low, no matter what exactly is done store some kind of byte order mark? world and player names should be normalized so they can safely be used in path names networking definitely needs throttling for the internets players stats (who's connected, their ping, and game-relevant things) should be sent to clients some method for authenticating a player might be nice maybe stale and inexistent chunks should be visualized (e.g. by drawing a semi-transparent box around them) make a chunk data counting a little safer threading (clientside) networking and disk IO are prime candidates for threading launcher ui select or create a world with configurable parameters entity ai pathfinding, better turning behaviour lighting occlusion/neighbor light mixing is implemented, but still linear this could be solved by using a pre-interpolated light texture and mapping light levels to coordinates on that there's a bug where a chunk's model is not updated if its neighbor changes border light levels I kinda mitigated it a little for direct neighbors during linking, but it still can happen in (hopefully) rare corner cases propagation through semi-filled blocks is wonky. I worked around it by having the light propagate into solid blocks, but feels like this could cause some weird behaviours entity lighting is now derived from block light levels it's not interpolated and the calculation is very basic, so it has some unexpected effects gravity now implemented as optional gravity emitter per block type let's see how that pans out maybe players should be given the option to switch between walk and fly mode block attributes when blocks are not just a solid rock of color, attributes may become interesting. like labels on signs and contents of containers transparency (blocks and entities) transparent blocks because awesome world generator that is not boring well, it's different still needs way more block types and structure generation a minimum distance from origin could be interesting as well, to ensure the spawn vicinity doesn't contain bloks with would be useless at the beginning (if there even is such a thing), also it would encourage exploration biomes seem too small, maybe that will become easier to tune when there's a little more diversity between them chunk generation takes too long, it's incredibly annoying should look into speeding it up and executing on a different thread spawning need a way to find a suitable location to spawn new players in I imagine a "random block" function of ChunkIndex could be nice (also for use with the AI spawner) also, finding a spawn position for a player must no fail. after a certain number of tries, the world must change to safely accomodate the player. chunk generation could be adjusted to make a little more room near the origin (since that's where the usual spawn point will be), but that's not strictly necessary and might overcomplicate the generation if all fails, the spawner has to modify the world how much space has to be cleared and how to make sure the spawning space connects to "open space" I don't know yet, it's all a little fuzzy anyway sprite/particle system these could help make the world seem more alive items items representing both blocks and non-blocks (such as tools, weapons, armor), with a simpler physics simulation than entities, much like the one for particles they can be picked up by entities, so those should have one or more parts in their skeleton to render them when they're "held" players' inventories have to be changed so they select an item rather than a block item IDs could be the block ID for blocks, and anything from 2^16 up for non-blocks