outfly/README.md

122 lines
3.8 KiB
Markdown

# OutFly
![screenshot](doc/images/screenshot1.jpg)
OutFly is an atmospheric, open world, 100% hard sci-fi 3D game that throws you into the [main ring](https://en.wikipedia.org/wiki/Rings_of_Jupiter#Main_ring) of Jupiter, hundreds of years into the future.
Key features:
- Open source forever
- Open world, realistic hard sci-fi, atmospheric, deadly
- Accurate star chart. Can you spot the constellations?
- Cross platform (verified on Linux & Windows)
- Written in [Rust](https://www.rust-lang.org) with the [Bevy game engine](https://bevyengine.org)
- Status: Early access, not much content
![screenshot](doc/images/screenshot2.jpg)
# Key Bindings
- Space: stop moving
- AWSD: accelerate
- Shift and Ctrl: accelerate up and down
- e: open communication channel to nearby astronauts
- t: toggle music (NOTE: currently no music is included in the git repo)
- m: mute sound effects
- q: enter/exit vehicle
- TAB: toggle augmented reality overlay (HUD, low-light amplifier)
# System Requirements
- Screen, keyboard, mouse
- Operating System: Linux, Windows, MacOS
- Ideally, a graphics card with vulkan support
If your GPU does not support vulkan, try rendering with OpenGL by setting the environment variable `WGPU_BACKEND` to `gl`, like:
```
WGPU_BACKEND=gl ./outfly
or
WGPU_BACKEND=gl cargo run
```
However, this may result in poor performance and visual glitches.
# Building
## General notes
For development, it's recommended to use `--features dev` to enable dynamic linking, e.g. like this:
```
cargo [run|build] --features dev
```
## On Linux
To run the pre-compiled version on Arch Linux, you need some basic libs:
```
pacman -S glibc libcap gcc-libs alsa-lib systemd-libs
```
To build the game on Arch Linux yourself, you need these, although you can replace `rust` with `rustup`:
```
pacman -S rust libx11 pkgconf alsa-lib
```
Then run the following commands, replacing `[URL]` with the clone URL of the git repository:
```
git clone [URL]
cd outfly
cargo run --release
```
NOTE: Audio is muted by default when run through `cargo run`, unless you add `--release`
## Building for Windows on Linux
```
rustup target add x86_64-pc-windows-gnu
pacman -S mingw-w64-toolchain # on ArchLinux. other distros have their equivalent package
cargo build --target=x86_64-pc-windows-gnu --release
```
More information here: https://bevy-cheatbook.github.io/setup/cross/linux-windows.html
## Building on Mac OS
Install homebrew, and then get the following dependencies:
```
brew install pkg-config molten-vk rustup
rustup-init
```
Download, compile and run the game:
```
git clone [URL]
cd outfly
cargo run --release
```
# Credits
- https://pixabay.com/sound-effects/typosonic-typing-192811
- https://pixabay.com/sound-effects/click-button-140881
- https://pixabay.com/sound-effects/data-transmission-sound-from-14664-72309
- https://pixabay.com/sound-effects/thrusters-loopwav-14699
- https://pixabay.com/sound-effects/rocket-loop-99748
- https://pixabay.com/sound-effects/350cc-bike-firing-32391
- https://pixabay.com/sound-effects/electricity-6353
- https://pixabay.com/sound-effects/ducati-696-monster-33217
- https://pixabay.com/sound-effects/high-energy-humming-195612
- Music: [Dead Space Style Ambient Music](https://pixabay.com/music/ambient-dead-space-style-ambient-music-184793) by [Sharvarian](https://www.fiverr.com/sharvarian)
- Star chart based on the [HYG Stellar database](https://github.com/astronexus/HYG-Database)
- Custom font Yupiter is based on:
- Noto Sans Symbols 2, Copyright 2022 The Noto Project Authors (https://github.com/notofonts/symbols)
- ZCOOL QingKe HuangYou, Copyright 2018 The ZCOOL QingKe HuangYou Project Authors (https://www.github.com/googlefonts/zcool-qingke-huangyou)
- Noto Sans SC, Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'.