This is the repository for the CS1666 game by team Krusty Krabs.
Use cargo to build and run it
cargo run [--release] -- [arguments]
client --help
to see client arguments-i <server ip address>
-p <server port>
-c <local client port>
server --help
to see server arguments-f <save file>
-p <server port>
- Get commits in by at latest Tuesday at noon. The early the better. This gives the manager enough time to work on merging and making sure it builds.
- Make your own changes in your own fork. Then make a PR to the canonical repository.
- Use
rustfmt
before commit. Make sure your code actually compiles. - Follow Rust naming conventions. Use clippy!
- Write comments! Especially for code that is unclear.
- Write tests where appropriate and/or necessary.
- Install Rust via
rustup
. - Install
ldd
orzld
, see Bevy fast compile setup. - Install
rustfmt
viarustup component add rustfmt
. - (Optionally) Install
rust-analyzer
. In VSCode, it can be found as an extension. - Install
pre-commit
(pip3 install --user pre-commit
) and install the pre-commit git hooks (pre-commit install
). - Set your editor to remove trailing whitespace.
- A/D: move left/right
- Space: jump
- LMB: mine block under cursor
- G: mine block below you
- Arrow keys: move free look camera
- R: re-center camera to player
- O: toggle network loss simulation (drop all packets in and out)
- P: queue a ping to be sent to the server
- F1: force-cycle game state (menu -> game -> credits)
- Ctrl+Q: quit game
- (server saves and loads automatically)
- F2: dump terrain information into the console (lots of junk)
- F2: dump basic chunk information