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
entity ai
- pathfinding, obstacle avoidance, better turning behaviour
+ pathfinding, better turning behaviour
-(block) lighting
+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
- also: how could block light affect entity lighting?
- maybe get the interpolated light level at the entity's center and use
- that as the light power for the directional lighting shader and use a
- direction that's fixed relative to the camera?
-
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
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
- maybe like light levels? should also store a direction with it in
- that case. also, global gravity may be a world option.
- no, per-block gravity vector is most probably too expensive.
- better have the chunks store a few point masses (maybe blocks that
- emit gravitation?) and calculate from that
+ 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
biomes seem too small, maybe that will become easier to tune when
there's a little more diversity between them
-entity/world collision
-
- first draft of entity/world collision is implemented
- it jitters and has some surprising behaviour
-
spawning
need a way to find a suitable location to spawn new players in
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