Unobserved is an experimental space action and conquest game built with Godot. Pilot a lone ship through a hidden galaxy, survive escalating enemy waves, collect upgrades and artifacts, and colonize every planet to claim victory.
Status: Early prototype (
v0.0.1). Gameplay, balance, networking, and project structure are still evolving.
- Explore a large galaxy obscured by fog of war.
- Fight enemy waves and destroy asteroids for experience.
- Level up and assemble a build from weapons, drones, shields, mobility, radar, and pickup upgrades.
- Collect active artifacts such as Wormhole Dash, Vortex, Nuke, and Explorer Beacon.
- Deploy Colony Beacons to invade nearby planets.
- Conquer every world before your ship is destroyed.
The project supports offline play and experimental server-authoritative multiplayer over ENet.
| Input | Action |
|---|---|
| Right-click or hold right mouse | Move the ship |
| Left-drag | Pan the camera |
WASD or arrow keys |
Pan the camera |
| Mouse wheel or trackpad gesture | Zoom |
| Left-click the ship | Follow the ship |
Space |
Center the camera on the ship |
1–9 |
Activate an artifact from the artifact bar |
Esc |
Open options or cancel artifact placement |
| Left-click while placing | Confirm artifact placement |
| Right-click while placing | Cancel artifact placement |
- Godot Engine 4.7 with GDScript support
- A desktop platform supported by Godot
- Bun only if serving a local web export
The project uses Godot's Mobile renderer and Jolt Physics.
Clone the repository:
git clone https://github.com/sortegam/unobserved.git
cd unobservedOpen the project in Godot and run it:
godot --editor --path .Press F6 in the editor to run the current scene, or F5 to launch the game from scenes/main_menu.tscn.
You can also start the game directly:
godot --path .Start a headless server on the default UDP port:
godot --headless --path . -- --server --port 2456 --max-players 100Connect a client:
godot --path . -- --join 127.0.0.1 --port 2456 --name Player1The repository also includes a local two-client launch helper:
make test-networkSet GODOT=/path/to/godot when the executable is not available at the Makefile's default path. Multiplayer is experimental and intended for development testing.
Run the headless type check:
make typecheckKey project directories:
scenes/ Game, UI, item, and artifact scenes
scripts/ Gameplay, UI, networking, and wave logic
resources/waves/ Data-driven enemy wave timelines
galaxy_entities/ Procedural planets and other space entities
shaders/ Gameplay and procedural visual effects
textures/ Ships, items, artifacts, planets, and UI art
sfx/ Music, sound effects, and audio bus layout
addons/ Editor tooling, including the wave builder
The main menu is res://scenes/main_menu.tscn; the primary gameplay scene is res://scenes/galaxy.tscn.
Export the configured Web preset:
godot --headless --path . --export-release Web build/web/index.htmlServe the build with the included Bun server, which provides the cross-origin isolation headers required by the threaded web export:
bun run serve.tsThen open http://localhost:3000.
- Designed and programmed by Sergi.io
- Built with Godot Engine
- Planet sprites based on Pixel Planet Generator by Deep-Fold
Additional attribution is available from the in-game main menu.
Unobserved is free software released under the GNU General Public License v3.0 (GPL-3.0-only).
Third-party assets and dependencies remain subject to their respective licenses.
