Fly over photorealistic Earth – guess the region, find your way home, or just explore. Single player and multiplayer.
Play: https://flightoverearth.com
![]() |
![]() |
| Start – single or multiplayer | Pick a plane, mode, and map range |
![]() |
![]() |
| Fly anywhere | Stay careful :) |
- Guess the region – one minute of flight, then mark on the map where you are (Poland / Europe / World).
- Fly home – start ~30 km from the address you enter, 10 minutes to get back.
- Free flight – pick a city and fly.
| Key | Action |
|---|---|
W A S D |
Fly |
Shift |
Boost |
Ctrl |
Brake |
T |
Talk (hold) |
Esc |
Pause |
Node.js 18+ and a free Cesium ion token.
git clone https://github.com/bartosz-ciesielski/flight-over-the-world.git
cd flight-over-the-world
npm install
cp .env.example .env- Create an account at ion.cesium.com.
- Create a token (Access tokens).
- In My Assets add Google Photorealistic 3D Tiles (asset
2275207). - Put one or more tokens in
.envasVITE_CESIUM_ION_KEYS=token1,token2,token3. - For production, set the same comma-separated list as the GitHub secret
VITE_CESIUM_ION_KEYS.
Use a separate Cesium ion account per token. On HTTP 429 the game keeps high tile quality and switches to the next key, then retries the tiles that failed. One key still works; more keys keep the map sharp under load.
npm run devOpen the address from the terminal (usually http://localhost:5173). In multiplayer one player clicks Multiplayer, the other opens the copied link.
Do not commit the key – .env is in .gitignore. Tiles do not load in the menu, only after you start a flight.
MIT – free to use, copy, and modify.





