๐ Demo for procedural generation using the Bevy game engine
infinigen 
Minecraft-like procedural generation using the Bevy game engine.
- chunks along all axes (X, Y and Z)
- adjustable zoom level for viewing a world at different levels of detail
Why?
This is a sandbox for experimenting with Bevy and efficient chunk rendering, and trying out different things in Rust. There are no gameplay elements like physics or editing blocks. I'm keeping this code up to date with the latest Bevy version as new versions are released.
Quickstart
Make sure OS dependencies for Bevy are installed.
These commands should be run from within the root directory of the repo in order to pick up assets, otherwise block textures will be replaced with colours.
cargo run --release # best performance
cargo run --release --features jemalloc # on macOS/Linux
Controls
- WASD - to move around
- Space - ascend
- Shift - descend
- F3 - toggle wireframes
- F7 - toggle debug panels
Configuration
See infinigen.config.yml for what can be configured. Pass the path to a configuration file when launching.
cargo run --release -- --config infinigen.config.yml
Specific settings can also be overridden via environment variables.
INFINIGEN_WORLD=Flat cargo run --release
Development
All textures are derived from images generated with Midjourney.
Simplest way to change how the world generates is to edit crates/extras/src/worldgen/mountain_islands.rs.