2024-03-31 19:46:37 +00:00
# OutFly
2024-03-22 14:41:10 +00:00
![screenshot ](doc/images/screenshot1.jpg )
2024-04-04 19:30:15 +00:00
OutFly is an atmospheric, open world, 100% hard sci-fi 3D game that throws you into the [Rings of Jupiter ](https://en.wikipedia.org/wiki/Rings_of_Jupiter ) with a self-sufficient sportswear space suit that will take you anywhere.
2024-04-04 19:18:33 +00:00
2024-04-04 19:37:37 +00:00
Imagine a blend of [Fallout ](https://en.wikipedia.org/wiki/Fallout_%28series%29 ) and [Outer Wilds ](https://en.wikipedia.org/wiki/Outer_Wilds ) with a splash of [Firefly ](https://en.wikipedia.org/wiki/Firefly_%28TV_series%29 ), where you are free to explore the breathtaking expanse of the Jupiter system and discover what life could be like after hundreds of years of space colonization.
2024-03-22 15:06:28 +00:00
2024-04-04 20:17:51 +00:00
This game aims to respect the player as much as possible. It doesn't waste your time: Despite the vastness of space, nothing takes too long. Speed cheats are active by default, allowing you to visit places you normally couldn't, without passing out from the g-forces. There are no anxiety-causing features (apart of, maybe, space itself), no loading screens, nothing to micromanage, not even save games. You can plunge into the game any time you feel like it, and it's up to you whether you just want to soak in the beautiful scenery, engage with the survival mechanics [still in development], or dive into the game story [still in development]. And finally, it's not just DRM-free but completely open source, allowing you to tinker on any part of the game to your liking.
2024-03-22 15:29:37 +00:00
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
2024-03-22 15:06:28 +00:00
2024-04-04 18:01:58 +00:00
Links:
- [Source code ](https://codeberg.org/hut/outfly )
- [itch.io page ](https://wholesomevacuum.itch.io/outfly )
- [Chatroom ](https://matrix.to/#/#outfly:pub.solar )
2024-03-22 15:15:43 +00:00
![screenshot ](doc/images/screenshot2.jpg )
2024-03-22 15:38:31 +00:00
# Key Bindings
2024-04-03 12:29:51 +00:00
- Space: Slow down
- AWSD/Shift/Ctrl: Accelerate
2024-04-03 13:06:35 +00:00
- R: Rotate (hold & move mouse)
2024-04-03 12:29:51 +00:00
- E: Interact: Talk to people, enter vehicles
- Q: Exit vehicle
2024-04-03 13:06:35 +00:00
- Tab: Toggle HUD/AR
2024-04-03 12:29:51 +00:00
- F: Toggle 3rd person view
- T: Toggle music
2024-04-03 13:06:35 +00:00
- M: Toggle sound effects
- JKULIO: Mouseless camera rotation
2024-03-22 15:38:31 +00:00
2024-04-02 15:24:39 +00:00
Cheats:
2024-04-03 12:27:44 +00:00
- V/B: Impossible acceleration forward/backward
- Shift+V/B: Same as V/B, but a thousand times faster
2024-04-03 12:29:51 +00:00
- C: Impossibly instant stopping
2024-04-02 15:24:39 +00:00
2024-03-22 15:06:28 +00:00
# System Requirements
2024-03-30 18:36:43 +00:00
- Screen, keyboard
2024-03-30 13:25:48 +00:00
- Operating System: Linux, Windows, MacOS
- Ideally, a graphics card with vulkan support
2024-03-22 15:06:28 +00:00
2024-03-30 13:25:48 +00:00
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
```
2024-03-30 12:40:41 +00:00
2024-03-30 13:26:59 +00:00
However, this may result in poor performance and visual glitches.
2024-03-22 15:06:28 +00:00
2024-03-31 16:47:13 +00:00
# Running OutFly
2024-03-30 13:31:02 +00:00
2024-03-31 16:47:13 +00:00
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:
2024-03-30 13:31:02 +00:00
```
2024-03-31 16:47:13 +00:00
cd [path-to-extracted-outfly-directory]
./outfly
2024-03-30 13:31:02 +00:00
```
2024-03-31 16:47:13 +00:00
# Building
2024-03-17 15:09:40 +00:00
2024-03-31 16:47:13 +00:00
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:
2024-03-17 15:09:40 +00:00
```
2024-03-31 16:47:13 +00:00
cargo [run|build] --features dev
2024-03-17 15:09:40 +00:00
```
2024-03-31 16:47:13 +00:00
## On Linux
Install the build dependencies. On ArchLinux, it's the following, though you can replace `rust` with `rustup` :
2024-03-17 15:09:40 +00:00
```
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
2024-03-22 11:28:19 +00:00
cargo run --release
2024-03-17 15:09:40 +00:00
```
2024-03-18 01:24:52 +00:00
2024-03-22 11:28:19 +00:00
NOTE: Audio is muted by default when run through `cargo run` , unless you add `--release`
2024-03-22 10:46:12 +00:00
## 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
2024-03-30 12:52:15 +00:00
## 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
```
2024-04-04 01:20:38 +00:00
## Building for WASM/Browser
This is a work in progress, for now these are just some general hints:
```
git clone [URL]
cd outfly
rustup target install wasm32-unknown-unknown
pacman -S wasm-bindgen binaryen
mkdir outfly_wasm
cargo build --release --target wasm32-unknown-unknown
wasm-bindgen --out-name outfly --out-dir outfly_wasm --target web target/wasm32-unknown-unknown/release/outfly.wasm
wasm-opt -Oz --output wasm/outfly_bg.wasm wasm/outfly_bg.wasm
echo '< script type = "module" > import init from "./outfly.js" ; init ( ) < / script > ' > wasm/index.html
python -m http.server -d wasm
```
2024-04-01 04:04:37 +00:00
# Changelog
2024-04-03 12:48:31 +00:00
- v0.5.2:
2024-04-04 01:32:27 +00:00
- Change BGM to Cinematic Cello by Aleksey Chistilin
2024-04-03 12:48:31 +00:00
- Fix vehicle exiting
2024-04-02 15:47:38 +00:00
- v0.5.1:
- Fix asteroid despawning
- Add cheat codes
- Add moon Thebe
2024-04-02 05:23:30 +00:00
- 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
2024-04-01 04:04:37 +00:00
- 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
2024-03-31 18:43:34 +00:00
# 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
2024-04-03 12:21:28 +00:00
- 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 )
2024-03-22 15:29:37 +00:00
- Star chart based on the [HYG Stellar database ](https://github.com/astronexus/HYG-Database )
2024-03-31 18:43:34 +00:00
- Font Yupiter-Regular.ttf is placed under the SIL OPEN FONT LICENSE Version 1.1 and is based on:
2024-03-22 13:35:07 +00:00
- 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'.