Skip to content

barnex/scathanna2

Repository files navigation

Scathanna 2

A multiplayer first person shooter written from scratch in Rust (not using any existing engine/renderer) and WGPU. Successor of my voxel game Scathanna.

fig

Features

Lighting

I wrote this game as an excuse to implement physics-based global illumination based on a hand-written ray tracer.

It uses statistical methods like Stratified sampling and Low-discrepancy sequences to bake noise-free lightmaps just a few minutes.

Example of a baked lightmap (all textures have been removed to show only the lighting):

fig

Indirect light can bounce many times and travel deep into otherwise unlit areas. E.g., this tunnel is illuminated from the top only, yet the light travels deep and falls off very naturally.

fig

Networked multiplayer

Multiplayer deathmatch and team match games can be played over the network.

fig

Built-in editor

The map editor works by letting the user place a number of "blocks" with pre-defined shapes, inspired by LEGO blocks. This allows for relatively complex structures to be built reasonably intuitively.

fig

Installation

Works on Linux, Mac and Windows.

Make sure you have Rust installed from rustup.rs.

Linux only: install dependencies (example for Ubuntu):

sudo apt install \
	libfontconfig-dev
	cmake
	libasound2-dev

Then

git clone https://github.com/barnex/scathanna-v2.git
cd scathanna-v2

cargo run --release --bin server &
cargo run --release --bin play

Gallery

fig

fig

fig

fig

Releases

No releases published

Packages

No packages published