A full-stack simulation environment modelling a quadcopter with real battery drain, wind turbulence, swarm AI, and an autopilot mode. Open source and free to run.
Drone Sim is a Godot 4.6 project built around a realistic quadcopter flight model. Physics, swarm AI, terrain, and VR all run inside the same Godot scene. Open the project, hit play, and you're in the air.
Flight physics, swarm AI, terrain, VR, day/night cycle. Runs at 1080p/60fps with Forward Plus rendering.
Includes a Dockerfile for running the sim headless. Useful for server deployments or automated testing.
All source code is available. Fork it, modify the physics constants, add new modes — it's yours to do with as you like.
Real-time flight physics and shape formations. More screenshots can be dropped into the images/ folder anytime.
Feed the sim a PNG or a 3D model. It runs edge detection on the input and distributes the swarm along the edges — the drones form the shape in mid-air.
Built around a DJI Mini 4K-inspired quadcopter. The constants for wind, battery, and physics are all exposed at the top of Drone.gd if you want to tune them.
Throttle, pitch, roll, yaw — all with input smoothing, hover hold, tilt limits, and ground clearance detection.
Three turbulence layers run simultaneously: fast jitter, medium sway, and slow drift. Gusts affect drone attitude in real time.
Around 20 minutes of flight life. Aggressive manoeuvres burn more. At critical charge the drone returns home and lands automatically.
39 boids-driven drones with cohesion, separation, and alignment. Five preset formations — Star, Circle, Heart, Diamond, Wave — plus edge detection mode: give the sim a PNG or 3D model and it runs edge detection on it, then positions the swarm along the detected edges to trace the shape in the sky.
Configurable waypoint lists with smooth navigation. Load a route and watch the drone fly it while you switch camera angles.
First-person flight on any OpenXR-compatible headset. VRManager detects your runtime at launch — SteamVR, Monado, whatever you have.
Terrain3D plugin, town generator, HDR sky, day/night cycle, and a minimap. The environment changes as you fly through it.
The main menu gives you four options. Each one is independent — you're not locked into a single setup.
Full keyboard control with physics running. Good starting point for understanding the flight model.
39 drones running boids behaviour. Tab through formations and watch them reorganise mid-flight.
Pre-set waypoint route. The drone handles navigation — you just watch or switch camera angles.
First-person view through any OpenXR headset. Needs a runtime (SteamVR or Monado) running first.
All keys are active in Single Drone mode. In Swarm mode, Tab is the main extra key you'll use.
| Key | Action | Details |
|---|---|---|
| Space | Throttle up | Increase altitude and motor output |
| Shift | Throttle down | Reduce altitude and motor output |
| W | Pitch forward | Move the drone forward |
| S | Pitch back | Move the drone backward |
| A | Strafe left | Lateral roll movement |
| D | Strafe right | Lateral roll movement |
| Q | Yaw left | Rotate counter-clockwise |
| E | Yaw right | Rotate clockwise |
| H | Hover hold | Toggle altitude lock at current height |
| F | Camera toggle | Switch between first-person and chase camera |
| Tab | Next formation | Swarm mode — cycles Star, Circle, Heart, Diamond, Wave |
You need Godot 4.6 installed. That's it. Clone the repo, open the project, and press play.
git clone https://github.com/Kristians2324/Drone-Sim-Master.git
cd Drone-Sim-Master
Click Import, point it at Godot-drone-master/, select project.godot. The first import takes about a minute while it processes assets.
The main menu loads. Pick Single Drone, Swarm, or Autopilot and you're flying.
Just Godot. Download the engine, open the project, and you're good to go.
The sim uses Forward Plus rendering. Any GPU from the last five years should handle it fine.
Only if you want VR. SteamVR or Monado both work. Not needed for desktop play.
OpenXR is enabled in the project settings already. You just need a runtime running on your machine before you launch.
Launch SteamVR, Monado, or anything else that exposes an OpenXR interface on your system.
Godot detects the active runtime and enables VRManager automatically. Nothing to configure.
You're in first-person. The same controls apply — throttle, pitch, roll, yaw.
Standalone releases ready to play for Windows, Linux, and macOS.
All standalone packages include 3D drone models, city buildings, nature assets, textures, and sound. Extract the zip and run the game.