A project to create a fully functioning, open source flight simulator with good performance.
- Create a page for the user to create and input an API access token.
- Store the access token somehow.
- Create a page to allow the user to choose an airport and runway to begin at.
- Create the main page where the user can fly the airplane.
- Allow the main page to download the terrain.
- Allow each tile of the terrain to have elevation data.
- Allow the user to choose the radius of the tile.
- Add an option for the user to add & customise fog.
- Give the program an active tile - and a secondry tile to be in the background.
- Add 3d particle clouds.
- Rename "findLocation" to setupPage.
- Allow the clouds to be adjusted in the setup page.
- Add movement to the clouds.
- Migrate to Cesium.js.
- Add a reset button.
- Remove uneeded Cesium.js objects in the canvas.
- Allow the game to switch between flying, and choose a location. Ensure it starts of by allowing the user to switch between these, instead of using the setupSection.
- Add a pause button where the user can change the position of the plane.
- Change the pause button to a keyboard shortcut.
- Change the settings page to an overlay.
- Add a plane 3d model.
- Change the pause hotkey to "p".
- Add a throttle.
- Add a speed indicator.
- Integrate the plane 3d model in a separate canvas.
- Add a shadow under the plane.
- Add more CSS variables.
- Add 3d particle based clouds.
- Add more settings to the clouds in the setup page - a proper weather engine.
- Add better physics.
- Prevent the camera from going underground.
- Allow the plane to collide with the terrain.
- Add UI features - a throttle, a speed guage, an artificial horizon, etc.
- Add weather & realistic lighting.
- Add emergency capabilities to aircraft.
- Add a settings panel to edit everything.
- Add realistic volumetric lighting.
pip3 install flask
git clone https://github.com/nathan-a-macleod/open-flight-sim.git
cd open-flight-sim/src
python3 app.py
If you would like to contribute, please go ahead! The more people who can contribute to this project, the quicker it will improve and the more polished it will be. Helping with the project will also help it to gain popularity, so that more people will discover it - meaning it will improve faster and faster.