- maybe store a min/max solidity, humidity, temperature, rarity, etc.
- for each block type (with the option to deactivate generation
- altogether) and use different noise overlays for each
-
-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
+ well, it's different
+ still needs way more block types and structure generation
+ a minimum distance from origin could be interesting as well, to ensure
+ the spawn vicinity doesn't contain bloks with would be useless at the
+ beginning (if there even is such a thing), also it would encourage
+ exploration
+ biomes seem too small, maybe that will become easier to tune when
+ there's a little more diversity between them
+
+ 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
+
+ need a way to find a suitable location to spawn new players in
+ I imagine a "random block" function of ChunkIndex could be nice
+ (also for use with the AI spawner)
+ also, finding a spawn position for a player must no fail. after a
+ certain number of tries, the world must change to safely accomodate
+ the player.
+ chunk generation could be adjusted to make a little more room near the
+ origin (since that's where the usual spawn point will be), but that's
+ not strictly necessary and might overcomplicate the generation
+ if all fails, the spawner has to modify the world
+ how much space has to be cleared and how to make sure the spawning
+ space connects to "open space" I don't know yet, it's all a little
+ fuzzy anyway
+
+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