|
3 weeks ago | |
---|---|---|
assets/nil/blocks | 2 months ago | |
src | 3 weeks ago | |
.editorconfig | 3 months ago | |
.gitignore | 3 months ago | |
Cargo.lock | 3 months ago | |
Cargo.toml | 3 months ago | |
Makefile | 3 months ago | |
README.md | 3 months ago |
After installing Rust, the project can be started with either make
or cargo run
.
Using make fps
should display an FPS indicator, which can be useful for performance monitoring.
Files inside assets/
are iterated through recursively to generate the set of items used in the game. A file such as assets/nil/blocks/nullium.yml
can be referenced in the codebase with the identifier "nil/blocks/nullium"
.
Each YAML file must specify a default texture
key, referencing a PNG texture, and a model
key, referencing an OBJ model file.
Additional conditions can be added to these files to swap models or textures when the object is in a particular state.
model: nil/blocks/block
texture: nil/blocks/nullium
OBJ files can be exported from Blender. All vertex positions should be within the range of [-0.5..0.5]
.
In this project, "emissive pixels" are defined as pixels which are not subject to any lighting effects (they do not actually emit any light). An emissive pixel can be created by setting its alpha channel to exactly 254.