Skip to content

A fast multiplayer shooter on wheels written in Rust using the fyrox (formerly rg3d) game engine

License

Notifications You must be signed in to change notification settings

git2013vb/rustcycles

 
 

Repository files navigation

RustCycles

A fast multiplayer shooter on wheels

License (AGPL3) CI Audit Dependency status Discord Total lines Lines of comments

Gameplay

RustCycles is a third person shooter that's about movement, not aim. You have to be smart and think fast.

This is not even a prototype yet. Don't be disappointed, bookmark it and come back a few months later ;)

Development

Install git LFS before cloning this repo.

Linux (debian) dependencies: sudo apt install libasound2-dev libudev-dev pkg-config xorg-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libfontconfig1-dev

After that, just use cargo run.

Fast compiles (optional)

You can make the game compile significantly faster and iterate quicker:

Use nightly, lld and -Zshare-generics

  • Run this in project root: ln -s rust-toolchain-example.toml rust-toolchain.toml; cd .cargo; ln -s config-example.toml config.toml; cd -
  • Reduction from 12 s to 2.5 s

Prevent rust-analyzer from locking the target directory

If you're using RA with clippy instead of check, add this to your VSCode config (or something similar for your editor):

"rust-analyzer.server.extraEnv": {
    "CARGO_TARGET_DIR": "target/ra"
}

Explanation: Normally, if rust-analyzer runs cargo clippy on save, it locks target so if you switch to a terminal and do cargo run, it blocks the build for over a second which is currently a third of the build time. This will make rust-analyzer make use a separate target directory so that it'll never block a build at the expense of slightly more disk space (but not double since most files don't seem to be shared between cargo and RA). Alternatively, you could disable saving when losing focus, disable running check on save or use the terminal inside VSCode to build RustCycles.

On linux, use the mold linker

  • ~/your/path/to/mold -run cargo build
  • Reduction from 2.5 s to 2.3 s
  • Might not be worth it for now (you need to compile it yourself), maybe when the game gets larger

Check formatting on commit (optional)

Enable extra checks before every commit: copy/symlink pre-commit-example to pre-commit and run git config core.hooksPath git-hooks. It gets checked on CI anyway, this just catches issues faster.

LICENSE

AGPL-v3 or newer

About

A fast multiplayer shooter on wheels written in Rust using the fyrox (formerly rg3d) game engine

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 98.6%
  • Other 1.4%