A wholesome 3D space game in the rings of Jupiter https://codeberg.org/hut/outfly
Find a file
2024-03-30 19:47:47 +01:00
assets rotate MeteorAceGT model to face front 2024-03-30 17:09:21 +01:00
doc add another screenshot to readme 2024-03-22 16:25:40 +01:00
src more appropriate masses 2024-03-30 19:47:47 +01:00
.gitignore ignore "extra" directory 2024-03-22 11:45:57 +01:00
Cargo.lock bump bevy version to 0.13.1 2024-03-30 19:14:01 +01:00
Cargo.toml bump bevy version to 0.13.1 2024-03-30 19:14:01 +01:00
README.md add jilk+uo keys for mouseless camera control 2024-03-30 19:36:43 +01:00

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