A wholesome 3D space game in the rings of Jupiter https://codeberg.org/hut/outfly
 
 
 
 
Go to file
hut 42fd96a96d bump to v0.4.0 2024-03-31 05:16:02 +02:00
assets add second MeteorAceGT behind pizza place 2024-03-31 04:11:49 +02:00
doc add another screenshot to readme 2024-03-22 16:25:40 +01:00
src play collision sound only on start of collision 2024-03-31 05:13:21 +02:00
.gitignore ignore "extra" directory 2024-03-22 11:45:57 +01:00
Cargo.lock bump to v0.4.0 2024-03-31 05:16:02 +02:00
Cargo.toml bump to v0.4.0 2024-03-31 05:16:02 +02:00
README.md add reaction wheel sound 2024-03-31 01:35:37 +01:00

README.md

OutFly

screenshot

OutFly is an atmospheric, open world, 100% hard sci-fi 3D game that throws you into the 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 with the Bevy game engine
  • Status: Early access, not much content

screenshot

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
  • r: rotate (hold r while moving the mouse)
  • f: toggle 3rd person view
  • TAB: toggle augmented reality overlay (HUD, low-light amplifier)

Extra key bindings for mouseless playing:

  • j: look left
  • i: look up
  • k: look down
  • l: look right
  • u: rotate left
  • o: rotate right

System Requirements

  • Screen, keyboard
  • 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