]> git.localhorst.tv Git - blank.git/blobdiff - TODO
split chunk redering from world model
[blank.git] / TODO
diff --git a/TODO b/TODO
index 926a35516e4ed01b3d455ce7be77d163affd099e..b77cdae4859fa7d4c4b23d1352824f98bfae72e4 100644 (file)
--- a/TODO
+++ b/TODO
@@ -8,26 +8,33 @@ composite entity animations
        complex entities are made up of part which have their own local
        transform that can be animated (like e.g. an arm or head)
 
-textures
+font rendering
+
+       with background now being a thing, a padding might be nice
+       that or maybe separate bg from fg rendering
 
-       do I need to say anything? :)
+       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
 
        usefull for development and later on world administration
 
-font rendering
+persistence
 
-       mostly for labelled blocks and some ui elements
+       merge IO counters, so number of operations per frame is kept
+       low, no matter what exactly is done
 
-networking
+       store some kind of byte order mark?
 
-       exchange of chunks and entities
+block asset loading
 
-persistence
+       parameterization of chunk generator should be less static/dangerous
 
-       unloaded chunks should be saved to disk and restored when they
-       are loaded again
+networking
+
+       exchange of chunks and entities
 
 launcher ui
 
@@ -44,11 +51,26 @@ entity ai
        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.
+       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
 
@@ -61,6 +83,9 @@ chunk traversal
        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)
 
        transparent blocks because awesome
@@ -72,9 +97,10 @@ world generator that is not boring
 
 entity/world collision
 
-       entities should be stopped from entering solid parts of the world
-
-       also, current ray/obb intersection test sucks
+       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