• Stars
    star
    428
  • Rank 101,481 (Top 2 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created over 8 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Rusty Vangers clone

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:

  • WSAD: movement in the game, rotating the camera around the car during the pause
  • left shift: turbo
  • left alt: jump
  • P: enter/exit pause for debugging
  • R: reset forces and orientation of the mechous
  • <>: step physics frame back/forward during the pause
  • Esc: exit

game

3D model viewer

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

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

Controls:

  • AD: rotate the camera
  • Esc: exit

item view

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

mechous debugging

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:

  • WSAD: move the camera along X-Y plane
  • ZX: move the camera along Z plane
  • Alt + WSAD: rotate the camera
  • Esc: exit

level view

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.

More Repositories

1

blade

Sharp and simple graphics library
Rust
479
star
2

froggy

Component Graph System experiment
Rust
297
star
3

copyless

[deprecated] Avoid memcpy calls when working with standard containers
Rust
281
star
4

mint

Math Interoperability Types
Rust
226
star
5

baryon

Fast prototyping 3D engine
Rust
74
star
6

claymore

Just another tactical RPG in dark fantasy setting
Rust
53
star
7

yasteroids

Yet another Asteroids clone
Rust
52
star
8

choir

Task Orchestration Framework
Rust
46
star
9

wasm-triangle

Rust+GL+WASM triangle sample
Rust
42
star
10

webgpu-servo

WebGPU prototope in Servo browser
35
star
11

pegasus

[DEPRECATED] GFX + Specs framework that lets you fly
Rust
33
star
12

obj

Basic Wavefront OBJ loader
Rust
29
star
13

dotfiles

Configuration for systems I use
Nix
26
star
14

slides

Slides and source material used for presentations
HTML
17
star
15

binary-space-partition

Abstract BSP tree in Rust
Rust
13
star
16

simplecs

Simple Entity-Component System
Rust
11
star
17

wgpu-bench

WebGPU-native benchmark
Rust
11
star
18

ticketed_lock

Ticketed lock synchronization primitive
Rust
11
star
19

dark

Practical BWT-based compressor
Rust
10
star
20

rs-voir

Reservoir logic for understanding spatio/tempral resampling
Rust
8
star
21

shader-translation-benchmark

Benchmarking tools for shader translation
GLSL
7
star
22

scene-rs

[obsolete] Experiments in higher-level code on top of gfx-rs
Rust
7
star
23

graphics

Mind Map of Graphics
7
star
24

synqueue

Yet another MPMC queue
Rust
6
star
25

webgpu-debate

Reconstructions of important debates in WebGPU
HTML
6
star
26

syncell

Sync alternative to RefCell
Rust
6
star
27

WebGLNext-Comparison

Unofficial comparison of WebGL-Next proposals
5
star
28

grid-rs

Generalized grids in Rust
Rust
4
star
29

gfx_kiss

[DEPRECATED] Simple drawing API for gfx-rs
Rust
3
star
30

dark-archon

[old] Fast BWT-based compressor
C
3
star
31

shotgun

Simple game with Baryon
Rust
3
star
32

Framework-Linux

Issues related to Framework laptop on Linux
3
star
33

kvark.github.io

Tinkering log source
SCSS
2
star
34

vulkan-buster

Collection of Vulkan bug tests
Rust
2
star
35

bitflags-serial

Nicely serialized bitflags
Rust
2
star
36

fps-stat

Frame time number crunching
Rust
2
star
37

kri

[old] Modern OpenGL-3 engine, a playground for experimental design concepts and features
Boo
2
star
38

presto-stats

Presto CSV reports analyzer
Rust
2
star
39

gl-bench

Simple fill-rate benchmark in GL
Rust
2
star
40

chaos

Rust
1
star
41

sublime-wgsl

WGSL syntax package for Sublime Text
1
star
42

image-aa-metric

Image anti-aliasing quality metrics
Rust
1
star
43

gl-buster

Simple test app for reproducing GL driver bugs
Rust
1
star
44

gfxbench-test

Test results of gfxbench for API comparison
1
star
45

gfx_pipeline

Rendering pipelines for gfx_scene
Rust
1
star
46

learnet

Just learning code in NN
Rust
1
star