OutFly is an atmospheric, open world, realistic 3D space 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.
Imagine a blend of [Fallout](https://en.wikipedia.org/wiki/Fallout_%28series%29) and [Outer Wilds](https://en.wikipedia.org/wiki/Outer_Wilds), 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.
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.
OutFly has typical game controls like mouse movement, `A/W/S/D` for horizontal movement, `Ctrl/Shift` for vertical movement. But in space, there is no friction to slow you down after the movement. [You just keep on moving](https://en.wikipedia.org/wiki/Newton%27s_laws_of_motion#First_law), until you hit something or accelerate in the opposite direction.
The `SPACE` key helps you move more intuitively by slowing you down. Hold it for a while to come to a halt. Combine it with movement keys for slower, more precise movement. You can also click to select another object and then hold the `SPACE` key to **match your velocity** to the target object. Essential for spaceflight!
When you're ready, take a look around, explore the starting area. There is a friendly person floating nearby in a red space suit that would love to talk to you.
The game is dark. After all, space is dark. The planets and moons orbit in real time, the map changes depending on when you play, and if you're unlucky, you start in the shadow of Jupiter and everything's even darker! Try the flashlight (`f` key), turning off shadows in the menu, and make sure that Augmented Reality is on (`TAB` key) which gives you a little extra light amplification.
Press `Esc` for the menu to restart the game if you get lost, explore more key bindings, game features, and the **achievements** to get some guidance on what you can do in the game.
But in the end, OutFly is an open world game with no true goals other than the ones you set for yourself. Just lean back, get cozy, and drift towards whatever catches your eye :)
2. Open a terminal and navigate to the directory where you unpacked outfly
3. If you are on ArchLinux, type the following commands. For other distributions, replace "pacman -S" with the distro's command to install packages. Also, the packages may be called slightly differently.
Alternatively, you can also install OutFly as a package, if your distribution has one. This will place OutFly in your "start menu". As of writing, only an ArchLinux AUR package exists, which you can install with this command:
No releases for these operating systems exist yet. For MacOS, you can build OutFly yourself using the [build instructions](https://codeberg.org/outfly/outfly/src/branch/main/build/README.md). Support for Android/iOS is planned for the future.
This will result in some visual glitches, reduced performance, as well as a lot of error messages about CubeArrays which you can safely ignore. You can alternatively achieve this by setting the environment variable `WGPU_BACKEND` to `gl`: `WPU_BACKEND=gl ./outfly`.
If you build without the "`embed_assets`" feature, the asset folder must be in the same path as the outfly binary. Possible solutions are to symlink the `assets` directory into the `target/$yourtarget/` folder, to instead run with `cargo run`, or to compile with "`--features embed_assets`" (which is enabled by default).