-
Notifications
You must be signed in to change notification settings - Fork 18
Features
Nick McDonald edited this page Jan 20, 2020
·
1 revision
- Implemented Feature
- Not Implemented Yet
In no particular order, here are the major aspects which I would like to have in this simulation.
- Inventory and Resource Hierarchy System
- Buildings and Individual Agent Progression
- Agent Groups and Social Interaction
- World Generation and Complex Systems
- Movement Keys rotate according to camera rotation
- Better Handling for Simultaneous / Multi-Tick Inputs
- Full Sprite Animation Pipeline
- Shadow Mapping
- Normal Mapping
- Day Night Cycle
- FBO rendering for fancy effects
- Water Reflections
- Arbitrary Water Reflections (might never do this - very expensive)
- Sprite Texture Shadows
- Transparent Selection Volumes (i.e. look into buildings through walls)
- Bloom Effect
- Particle Handling
- Sprite Texture Picking (i.e. outlining upon selection)
- Greedy Meshing for Voxel Data
- Support for differently shaped blocks WITH GREEDY MESHING
- Only remesh chunks which are freshly loaded
- Doing a world edit simply adds cube vertices to the chunk mesh for speed
- Choice of block color based on bezier curves, parameterized by hashed block position for simple variation
- Support for textured surfaces (aesthetic choice, but also some distinct uses
-
Implement more block shape prototypes
- Loading from a resource file would be best!
- Grasses, plants, slopes, steps, slabs, pillars, beams, small objects
- Reimplement LOD upon Zoom-Out
- Multiple possible save files, loading via commandline argument
- Convert flat array to octree and back for compact storage file sizes
- Chunks are loaded dynamically according to the camera position
- World sizes are theoretically arbitrary (limited by storage size and loading times due to single region file)
- World edits are stored in an editBuffer and written to memory on chunk deload
- Split single world region file into multiple region files for faster access
- Multithread Chunk Saving and Loading
- Reduce flat array size by using bytes instead of ints
To-Do Master