183 lines
6.4 KiB
Markdown
183 lines
6.4 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: slow down
|
|
- AWSD: accelerate
|
|
- Shift and Ctrl: accelerate up and down
|
|
- JKLUIO: mouseless camera rotation
|
|
- E: interact: talk to people, enter vehicles
|
|
- T: toggle music (NOTE: currently no music is included in the git repo)
|
|
- M: mute sound effects
|
|
- Q: exit vehicle
|
|
- R: rotate (hold r while moving the mouse)
|
|
- F: toggle 3rd person view
|
|
- TAB: toggle augmented reality overlay (HUD, low-light amplifier)
|
|
|
|
Cheats:
|
|
|
|
- V/B: Impossible acceleration forward/backward
|
|
- Shift+V/B: Same as V/B, but a thousand times faster
|
|
- C: Impossible instant stopping
|
|
|
|
# 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.
|
|
|
|
# Running OutFly
|
|
|
|
1. Download a release for your operating system at https://codeberg.org/hut/outfly/releases
|
|
2. On Linux, you need the dependency packages: `glibc libcap gcc-libs alsa-lib systemd-libs`. These are the names for ArchLinux, they may differ on your distribution.
|
|
3. Unpack and run the outfly/outfly.exe executable.
|
|
1. On Windows, just double-click on outfly.exe
|
|
2. On Linux, open the console and type this:
|
|
|
|
```
|
|
cd [path-to-extracted-outfly-directory]
|
|
./outfly
|
|
```
|
|
|
|
# Building
|
|
|
|
If there is no package for the version or operating system that you need, or if you wish to tinker on the game, you can also build outfly yourself.
|
|
|
|
For development, it's recommended to use `--features dev` to enable dynamic linking for faster compile times, e.g. like this:
|
|
|
|
```
|
|
cargo [run|build] --features dev
|
|
```
|
|
|
|
## On Linux
|
|
|
|
Install the build dependencies. On ArchLinux, it's the following, though 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
|
|
```
|
|
|
|
# Changelog
|
|
|
|
- v0.5.1:
|
|
- Fix asteroid despawning
|
|
- Add cheat codes
|
|
- Add moon Thebe
|
|
- v0.5.0:
|
|
- Implement dynamically spawning asteroids all over the ring
|
|
- Changed from 32-bit to 64-bit precision physics
|
|
- Center rendering coordinate system on player to fix visual glitches
|
|
- v0.4.1: Add visible ring around Jupiter
|
|
- v0.4.0:
|
|
- Implement physics, collisions
|
|
- Implement 3rd person view
|
|
- Implement realistic camera control with pitch/yaw/rotation
|
|
- Add Galilean moons (Io, Europa, Ganymede, Callisto)
|
|
- Add light sources, better illumination of pizzeria
|
|
- Add mysterious monoliths
|
|
- v0.3.0:
|
|
- Implement vehicles
|
|
- Add MeteorAceGT racing vehicle
|
|
- Add background music "Dead Space Style Ambient Music"
|
|
- Add custom font Yupiter based on ZCOOL QingKe HuangYou
|
|
- v0.2.0:
|
|
- Add Jupiter
|
|
- Add new pizzeria model with neon sign
|
|
- Add astronaut suit model OutFly™ SecondSkyn
|
|
- Add more conversations
|
|
- Implement parser for "defs.txt" to spawn world objects and chats
|
|
- v0.1.3: Add pizzeria
|
|
- v0.1.2:
|
|
- Replace skybox with accurate star chart
|
|
- Implement conversation system
|
|
- v0.1.1: Better sky box and HUD
|
|
- v0.1.0: First release with basic controls, HUD, sounds, skybox, sun
|
|
|
|
# Credits and License
|
|
|
|
- Source code: GPL Version 3.0
|
|
- 3D models: Original art, placed under the Creative Commons CC0 License
|
|
- Photographs of celestial bodies: By NASA, public domain
|
|
- Original sound files:
|
|
- wakeup.ogg: Creative Commons CC0 License
|
|
- Other sound files: [Pixabay Content License](https://pixabay.com/service/license-summary)
|
|
- 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
|
|
- https://pixabay.com/sound-effects/box-crash-106687
|
|
- https://pixabay.com/sound-effects/electric-fan-motor-blades-removed-13169
|
|
- Music: [Cinematic Cello](https://pixabay.com/music/build-up-scenes-cinematic-cello-115667) by [Aleksey Chistilin](https://pixabay.com/users/lexin_music-28841948/), [Pixabay Content License](https://pixabay.com/service/license-summary)
|
|
- Star chart based on the [HYG Stellar database](https://github.com/astronexus/HYG-Database)
|
|
- Font Yupiter-Regular.ttf is placed under the SIL OPEN FONT LICENSE Version 1.1 and 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'.
|