]> git.localhorst.tv Git - blank.git/blobdiff - TODO
show camera position in debug overlay
[blank.git] / TODO
diff --git a/TODO b/TODO
index 69ae48aab80a2a6bcfeddcc01fcaa57fcdc1758e..8cea29221b5cc7ee94086e8b4cd359a655ac2b9b 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,8 +1,7 @@
 block placement/removal timers
 
 block placement/removal timers
 
-       currently block placement and removal is instantaneous. it should
-       actually take some time to place and remove a block. with
-       removal timing depending on the tool used to remove the block
+       removal timing depending on the tool/block combination
+       animation for remove
 
 composite entity animations
 
 
 composite entity animations
 
@@ -13,13 +12,18 @@ textures
 
        do I need to say anything? :)
 
 
        do I need to say anything? :)
 
-command line
+font rendering
 
 
-       usefull for development and later on world administration
+       with background now being a thing, a padding might be nice
+       that or maybe separate bg from fg rendering
 
 
-font 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
 
 
-       mostly for labelled blocks and some ui elements
+command line
+
+       usefull for development and later on world administration
 
 networking
 
 
 networking
 
@@ -40,14 +44,31 @@ entity ai
 
 (block) lighting
 
 
 (block) lighting
 
-       lighting via light emitting blocks and brightness from the
-       manhattan distance to a light source. light levels should be
-       cached with each block and only recalculated on update
+       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
+       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
 
 gravity
 
        maybe like light levels? should also store a direction with it in
        that case. also, global gravity may be a world option.
 
 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
 
 block attributes
 
 
 block attributes
 
@@ -57,10 +78,11 @@ block attributes
 
 chunk traversal
 
 
 chunk traversal
 
-       going from one chunk to the neighboring is highly wasteful as of
-       now. each chunk should have links to its neighbours. also, maybe
-       the chunk loader should keep an index of interesting, if not all
-       chunks by position, possibly base-relative
+       maybe the chunk loader should keep an index of interesting, if not
+       all chunks by position, possibly base-relative
+
+       profiling indicates that this is not neccessary atm. maybe it will
+       when there's some more action in the world
 
 transparency (blocks and entities)
 
 
 transparency (blocks and entities)
 
@@ -70,3 +92,14 @@ world generator that is not boring
 
        maybe divide into biomes and add special features like
        settlements, ruins, all kinds of interesting stuff
 
        maybe divide into biomes and add special features like
        settlements, ruins, all kinds of interesting stuff
+
+entity/world collision
+
+       first draft of entity/world collision is implemented
+       it jitters and has some surprising behaviour
+       finding a spawn point which doesn't put entities in solids is
+       now a little more crucial. press N if you're in trouble
+
+better noise
+
+       current simplex noise implementation repeats itself pretty quickly