Chunkee is a voxel engine written in Rust, designed to be integrated with the Godot game engine.
-
Build the GDExtension
cargo build -p chunkee-godot
This will compile the Rust code into a dynamic library that Godot can use.
-
Run the Godot Project
cd .. godot ./godot/project.godotNote: This requires the
godotcommand to be available in your system's PATH.
The project is structured as a Cargo workspace and is made up of two main components:
chunkee-core: The heart of the engine, responsible for core functionalities like world generation, chunk management, and meshing.chunkee-godot: A GDExtension that bridges thechunkee-corelibrary with Godot, allowing you to use the engine's features within a Godot project.
-
Project:
- Make chunkee-godot agnostic
-
Meshing:
- Faster meshing crate: https://crates.io/crates/binary-greedy-meshing
- Different voxel rendering methods (Transvoxel, Dual Contouring etc..)
-
Generation:
- Come up with system for placing entities across chunk boundaries (trees, buildings etc..)
- Better API for converting between coordinate systems (world_position, world_vector, LOD, voxel_size)
-
Rendering
- Move mesh packing to ChunkeeManager worker thread
-
Performance
- Object pools to reduce memory fragmentation and improve cache locality
- Better chunk deallocation, SVO interner is currently bloating.