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
lighting
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
entity/world collision
- first draft of entity/world collision is implemented
- it jitters and has some surprising behaviour
+ I don't like the force/spring based collision response, maybe revert
+ back to impulses
+ also, it fails in some cases
spawning
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