Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Multithreaded voxel engine with multiplayer networking based on wgpu (a.k.a another attempt at ripping off Minecraft)

License

NotificationsYou must be signed in to change notification settings

griffi-gh/kubi

Repository files navigation

Heavily multithreaded voxel engine with multiplayer networking.
Written in Rust usingwgpu

features

  • multithreaded procedural world generation
  • procedural structures and block queue
  • multithreaded mesh generation
  • cubic chunks (32x32x32)
  • low-level wgpu renderer (gles3 before the major rewrite)
  • frustum culling
  • multiplayer networking
  • immediate ui system[1]
  • cross platform: windows, linux, osx, android[2]
  • universal input system: supports keyboard, mouse, gamepad and touch input[3]
  • support for semi-transparet blocks[4]
[1] - developed out-of-treehere since 2024
[2] - android support is experimental
[3] - mouse and gamepad input is not supported on android
[4] - work in progress, may cause issues

download

Latest nightly release

build for windows/linux

cargo build -p kubicargo run -p kubi#or, build with release mode optimizations:cargo run -p kubi --release

build for android

please note that android support is highly experimental!
gamepad and mouse input is currently not supported

prerequisites: Android SDK, NDK, command line tools, platform-tools, latest JDK
(make sure that yourPATH,ANDROID_HOME andANDROID_NDK_ROOT variables are configured properly)

Setup:

latest unpublished (git) version of cargo-apk is required

cargo install --git https://github.com/rust-mobile/cargo-apk cargo-apkrustup target add aarch64-linux-android

Build:

--no-default-features is required for keyboard input!
(prefer-raw-events featuremust be disabled on android)
Mouse input is not implemented, touch only!

cargo apk build -p kubi --lib --no-default-features

Run on device (using adb):

cargo apk run -p kubi --lib --no-default-features

touch controls

touch control scheme

  • Left side:Movement
  • Rigth side:Camera controls
  • Bottom right corner:
    • B (e.g. place blocks)
    • A (e.g. break, attack)

mutiplayer

to join a multiplayer server, just pass the ip address as the first argument

cargo run -p kubi -- 127.0.0.1:1234

server configuration

[server]address ="0.0.0.0:12345"# ip address to bind tomax_clients =32# max amount of connected clientstimeout_ms =10000# client timeout in ms[world]seed =0xfeb_face_dead_cafe# worldgen seed to use[query]name ="Kubi Server"# server name

"In-house" libraries

deprecated:

~ uwu

About

Multithreaded voxel engine with multiplayer networking based on wgpu (a.k.a another attempt at ripping off Minecraft)

Topics

Resources

License

Stars

Watchers

Forks

Languages


[8]ページ先頭

©2009-2025 Movatter.jp