]> git.localhorst.tv Git - blank.git/blobdiff - doc/todo
indexed iteration in ray/world collision tests
[blank.git] / doc / todo
index 707491b43c6e3034f6ec6c2bf9738e7aa882f2da..4bbfb7dc5930f3874415114c2c8d5c4a1ddd2832 100644 (file)
--- a/doc/todo
+++ b/doc/todo
@@ -19,7 +19,7 @@ font rendering
 
 command line
 
-       useful for development and later on world administration
+       more commands pls
 
 persistence
 
@@ -28,12 +28,26 @@ persistence
 
        store some kind of byte order mark?
 
+       world and player names should be normalized so they can safely
+       be used in path names
+
 networking
 
-       write tests
-       do some manual testing
-       some more testing
-       a little optimization
+       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
 
@@ -41,19 +55,14 @@ 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
@@ -63,13 +72,16 @@ entity ai
        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
 
@@ -92,10 +104,14 @@ world generator that is not boring
        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
+       chunk generation takes too long, it's incredibly annoying
+       should look into speeding it up and executing on a different thread
+       compute shaders might be another approach, though that would require
+       opengl 4.3, block the gpu, and generally doesn't lend itself well to
+       threading (cpu wise). It also requires servers to load GL. maybe not
+       such a great idea after all
+       using interpolation between samples of simplex noise now (big thanks
+       to notch ;) ), I'll see how that fares or can be tweaked
 
 spawning
 
@@ -117,6 +133,14 @@ sprite/particle system
 
        these could help make the world seem more alive
 
-server
-
-       fix segfault at disconnect
+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