Home

Awesome

Vange-rs

Check Gitter

Vangers is a legendary game featuring unique gameplay and technical innovation. The idea of this project is to replicate the old look and behavior, but with native hardware acceleration for the graphics.

You need the original game in order to try out vange-rs. The path to resources needs to be set in config/settings.ron.

logo

Technology

The game uses:

The level can be rendered in a variety of ways, see dedicated wiki page. The best of all is a voxelized ray tracing method, described in our blog.

Instructions

The project is structured to provide multiple binaries. road binary is for the main game, which includes mechouses, items, and the level. You can find the binaries produced automatically in the releases.

git clone https://github.com/kvark/vange-rs
cd vange-rs
cp config/settings.template.ron config/settings.ron
edit config/settings.ron # set the game path
cargo run

Note: leaving the level="" empty in the config would load a flat boring debug level.

Note: with backend="Auto" the engine tries the available backends in this order: Metal, Vulkan, DX12.

Controls:

<img alt="game" src="etc/shots/Road11-pause.png" width="25%">

3D model viewer

model binary loads a selected "m3d" from games resource to observe.

cargo run --bin model resource/m3d/items/i21.m3d

Controls:

<img alt="item view" src="etc/shots/Road6a-item.png" width="20%">

Without the argument, the viewer shows configured car and debug collision info:

<img alt="mechous debugging" src="etc/shots/Road10-debug-shape.png" width="25%">

Level viewer

level binary allows to fly over a level with free camera. Useful for debugging the level rendering shader.

cargo run --bin level
cargo run --bin level -- resource/iscreen/ldata/l0/escave.ini # load menu

Controls:

<img alt="level view" src="etc/shots/Road16-raymax.png" width="50%">

Converter

convert binary is a command line utility for converting the game data into formats that are more interoperable. Please see the wiki page for the usage instructions.