Skip to content
This repository has been archived by the owner on Dec 8, 2021. It is now read-only.

realliance/senior-game

Repository files navigation

Senior Game

Senior Design CEN4914 Spring 2021

Dependencies

  • Git LFS
  • Rustup
  • lld (Install via package manager on linux, use cargo-binutils if on Windows)

Getting Started

Setting up Rust

# Install Rust Toolchain via Rustup

rustup toolchain install nightly
rustup default nightly

# If on Linux, install cargo-binutils

cargo install -f cargo-binutils

# Install LLD Linker Component

rustup component add llvm-tools-preview

Pre-Commit

This repository uses the pre-commit tool to facilitate some automatic code corrections.

Before beginning coding, install pre-commit and set up the hook:

# Install git hook
pre-commit install

Using rustfmt

# Run rustfmt from root of project

cargo fmt

Running Project Crates

# Run Client
cd senior_game_client/
cargo run

# Run Server
cd senior_game_server/
cargo run

# Run Scene Serializer
cd senior_game_shared/
cargo run

Production Client Builds

Production client builds can be built with the build-linux-client.sh and build-windows-client.sh scripts. Appropriate values need to be supplied for the environment variables SENTRY_DSN and RELEASE.

Project Structure

senior_game_client

Client crate, will be built into the client executable

For bevy's dynamic linking feature (faster compilation times), use cargo run --features bevy/dynamic

senior_game_server

Server crate, will be built into the headless server executable

senior_game_shared

Shared library and tool create. Builds into a scene creation tool and can be seperately included as a dependency for shared objects and systems.

Learning Bevy

Bevy Book

Official Bevy Examples

Our Networking Crate

Our Physics Crate

Incomplete but Decent Resource on Bevy

Good Example for System Design

Awesome Bevy

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •