A todo list for zoxel porting and beyond
the core game: voxels > physics3D > devices > players > game
flesh out core: ui > blueprints > skeletons > animations > sounds > music
gameplay elements: stats > items > actions > skills > quests > dialogue
-
[-]
-
speed up terrain generation OctreeTerrainChunkSystem
-
speed up mesh building on cpu OctreeChunkUVsBuildSystem
-
stream functions, loading new/unloading chunks based on camera
-
frustrum camera culling with chunk bounds
- bake mesh on gpu test
- bake a voxel mesh on gpu test
- bake voxels on gpu (implementation)
- rewrite terrain function in octree
- voxel lighting
- voxel gravity
- voxel logic (redstone)
- use octree chunks for vox models
- greedy mesh to cull faces
- ambient occlusion on models
- optional black outline like before
-
- basic voxel collision system
- variable gravity
- interact with chunk gravity fields
-
remake data links for player with multiple devices
- a devices ui that shows connected devices
- a connect ui, when opened, shows all not connected devices
- a fps controller, spawns a child camera and links to player character3D for movement
-
[-]
- save games
- load save game ui, with new game, delete game buttons
- new game ui
- confirm ui for deletion
-
[-]
- slider ui
- input field
- list ui
- basic tooltip ui
- add padding on buttons
- point editor for font
- style data files, binary and text support?
- ZextColor & ZextOutlineColor components
- ui style so buttons have same or similar color/s
- animate font with slight jiggly
-
blueprint entities, prefabs, module, etc
-
process blueprint node events
-
process blueprint complete event
- blueprint editor ui
- pan view port
- input and output nodes
- texture output node (extend output prefab)
- full screen toggle
- save/load blueprints to binary files
-
bone entities
-
bone debug tool - overlay over vox model
-
bone shader and deformation for bone matrices (bone deformation)
- animation viewer for testing
- space key to toggle animation
- animation curves on bones
- curve viewer
- blending between anims
- possibly a animation controller
- sound ui - show soundwave of latest sounds
-
[-]
- music editor / viewer ui showing notes and sound types
- space key to toggle music playing
- tooltip ui
-
create basic stat and stat meta entities
-
link stats to a test entity
-
stat types: base, stat, state, regen, attribute, buff, etc
-
damage systems
-
test function with 10k stat entities
-
save/load many entities stats at once into binary files
- bar overlays (for health)
- stat list ui, toggle key for test entity
- basic entities, module, prefabs, etc
- basic entities, module, prefabs, etc
-
basic entities, module, prefabs, etc
- actionbar frame + icon ui
- actionbar ui
- basic entities, module, prefabs, etc
-
basic entities, module, prefabs, etc
-
dialogue tree is simply a series of dialogue node entities, the root node is the first one
- extend node window for a dialogue editor
- extend node ui for dialogue node ui
- add dialogue input for dialogue node ui
- basic entities, module, prefabs, etc
- basic entities, module, prefabs, etc
-
a master volume option that effects all others, using curve values from 0 to 10
-
music volume option
-
sound volume option
-
render distance option
-
options entities that save these simple settings with ids
-
option meta data that links ids saved to names / functions
-
save / load options to user file
- an options ui with sliders for the above options, generically for option entities
-
finish sub modules
- lobby ui
- chat ui
- render textures
- portal camera and portal entities
- portal camera position systems
- noise effect (adds noise on top)
- vignette effect (dark edges, exponential foggy)
- depth of field (add blur on distance)
- bloom (make sunny suns)
- multiple apps for network testing
- get a working change filter working for flecs
- using a simple byte component to check when it changes
- next replicate onto my systems
- fog of war, to encourage player exploration
- place entity inside chunk, entity has a bounds, gets closest position available ??
- fps frame rate viewer - line ui for last x (3) seconds