mirror of
https://github.com/griffi-gh/kubi.git
synced 2024-11-13 19:08:41 -06:00
.cargo | ||
.github/workflows | ||
.readme | ||
.vscode | ||
assets/blocks | ||
kubi | ||
kubi-logging | ||
kubi-server | ||
kubi-shared | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
README.md | ||
Server.toml |
Kubi
Voxel engine written in Rust
features
- multithreaded procedural world generation
- procedural structures
- multithreaded mesh generation
- cubic chunks (32x32x32)
- low-level OpenGL renderer, targetting OpenGL ES 3.0
- frustum culling
- work-in-progress multiplayer support
- block placement system
- partial gamepad input support
- (experimental) android support
download
Latest nightly releasebuilding
build/run
cargo build --bin kubi
cargo run --bin kubi
build in release mode, with nightly optimizations
cargo +nightly build --bin kubi --features nightly --release
build for android
please note that android support is purely experimental! gamepad, keyboard and mouse input is currently borked, and touch controls are not available. srgb and blending are broken too, which leads to many rendering issues
prerequisites: Android SDK, NDK, platform-tools, latest JDK (all should be in $PATH)
Setup:
cargo install cargo-apk
cargo target add aarch64-linux-android
Build:
--no-default-features
is required for keyboard input!
cargo apk build -p kubi --no-default-features
Run:
cargo apk run -p kubi --features nightly
mutiplayer
to join a multiplayer server, just pass the ip address as an argument
cargo run -p kubi -- 127.0.0.1:1234
server configuration
[server]
address = "0.0.0.0:12345" # ip address to bind to
max_clients = 32 # max amount of connected clients
timeout_ms = 10000 # client timeout in ms
[world]
seed = 0xfeb_face_dead_cafe # worldgen seed to use
[query]
name = "Kubi Server" # server name