kubi/README.md

83 lines
1.9 KiB
Markdown
Raw Normal View History

2023-01-19 20:28:08 -06:00
<h1 align="center">Kubi</h1>
2023-05-16 06:42:55 -05:00
<p align="center">
2023-05-17 05:58:05 -05:00
Voxel engine written in Rust
2023-05-16 06:42:55 -05:00
</p>
<div align="center">
<img src=".readme/game.gif" width="512">
</div>
2023-05-17 22:09:19 -05:00
2023-05-16 06:42:55 -05:00
<h2>features</h2>
2023-05-17 22:09:19 -05:00
2023-05-16 06:42:55 -05:00
<p>
<ul>
<li>multithreaded procedural world generation</li>
<li>procedural structures</li>
<li>multithreaded mesh generation</li>
<li>cubic chunks (32x32x32)</li>
<li>low-level OpenGL renderer, targetting OpenGL ES 3.0</li>
<li>frustum culling</li>
<li>work-in-progress multiplayer support</li>
<li>block placement system</li>
<li>partial gamepad input support</li>
2023-05-20 23:53:47 -05:00
<li>(experimental) android support</li>
2023-05-16 06:42:55 -05:00
</ul>
</p>
2023-05-17 22:09:19 -05:00
<h2>download</h2>
<a href="https://github.com/griffi-gh/kubi/releases/tag/nightly">Latest nightly release</a>
2023-05-16 06:42:55 -05:00
<h2>building</h2>
build/run
2023-05-20 23:53:47 -05:00
```bash
cargo build --bin kubi
cargo run --bin kubi
2023-05-16 06:42:55 -05:00
```
build with nightly features
2023-05-20 23:53:47 -05:00
```bash
cargo +nightly build --bin kubi -r --features nightly
```
build for android
2023-05-21 05:41:09 -05:00
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)
2023-05-20 23:53:47 -05:00
```bash
cargo install cargo-apk
cargo target add aarch64-linux-android
cargo apk build -p kubi
cargo apk run -p kubi
2023-05-16 06:42:55 -05:00
```
<h2>mutiplayer</h2>
to join a multiplayer server, just pass the ip address as an argument
```sh
cargo run -p kubi -- 127.0.0.1:1234
```
<h2>server configuration</h2>
```
[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
```
2023-02-12 15:18:11 -06:00
<h6 align="right"><i>~ uwu</i></h6>