This is a little flight sim made in Bevy.
- Support for both keyboard and gamepad, but gamepad is recommended
- Terrain with real-world elevation data and collisions
- Loading data from GLTF with custom properties
- 3D cockpit with clickable buttons
- Collisions with
avian3d - Water with screen space reflections
- A settings file (settings.json)
First you need to install Rust from here, if you haven't already, and git-lfs by installing it with your package manager and then running git lfs install.
git clone https://github.com/wesfly/bevy_fs.git
cd bevy_fs
git lfs pull # Pull the big filesUse cargo run --release to run the program from the project root folder.
To start flying, you need to go to the cockpit view and turn on the engine. The switch is located in the center console and is labelled ENG.
If you now bring the throttle to 100%, you should start flying.
You will start in the air, you just need to throttle up.
The settings are located in settings.json at the root of this project.
Terrain data will be stored in the terrain_cache folder after the first fetch (the game window will be unresponsive while fetching). To change the location or the resolution, change terrain.coordinates or terrain.level_of_detail in the settings. Note that the maximum level of detail is 14, in some regions even less.
You can change input methods in the settings.
F3to take a screenshot (output:screenshots/user)RMB + dragto orbit cameraCto switch the camera view- Mouse wheel to zoom camera
Rto reset cameraGto raise or lower landing gear
- Left stick to throttle and yaw
- Right stick to pitch and roll
- Left stick to steer
DPadUpandDPadDownto throttle up and down respectively
WASDQEto steerPgUpandPgDownto throttle up and down respectively
Contributions are welcome.
If you have any problems regarding this repository, please report them as an issue. Thanks!

