It's Fugitive, with more Ds.
- Development: quick dev scenes, running the VR client from the editor, local multi-client testing, AI internals and mapping guidelines
- How to release: tag-driven releases, the manual workflows, secrets and dry runs
Download Releases here:
- https://wavesonics.itch.io/fugitive-3d
- https://sidequestvr.com/app/1192
- https://play.google.com/store/apps/details?id=com.darkrockstudios.games.fugitive3d
This is the normal 3D client
Controls:
- WASD - Movement
- Ctrl - Crouch
- Space - Jump
- Q (hold) - Cops Lock car
- E - Get in or out of car
- F - Toggle flashlight
- M (hold) - Map
This client should run on both Oculus Quest as well as PC VR
Controls: On Foot:
- Left Stick - Movement
- Real Crouch - Crouch
- [Not in VR] - Jump
- A - Sprint
- B - Toggle flashlight
- X (hold) - Cops Lock car
- Left Stick In - Map
- Y - Toggle HUD (Better FPS on Quest with HUD off)
In Car:
- Left Stick - Movement
- Left Trigger - Honk Horn
- A - Get in or out of car
- Right Trigger - Break Car
The host (the first player to join, until they leave) is the server's admin and the only one who can add AI players, from the lobby's Add AI Fugitive button and the Easy / Medium / Hard picker beside it, or remove them through the Kick menu. The server enforces this regardless of what a client sends. The same lobby panel serves flat and VR clients. Bots only ever play as Fugitives, count toward the map's Fugitive team size, and can be removed with the same Kick menu as a human. They are driven entirely by the dedicated server: clients see them as ordinary remote hiders.
How the bots think is covered in Development.
The quickest way to run a dedicated server. Every release publishes
ghcr.io/fugitivethegame/fugitive3d-server (tags X.Y.Z and latest):
docker run -d --name fugitive3d -p 31000:31000/udp \
-e SERVER_NAME="My Server" \
ghcr.io/fugitivethegame/fugitive3d-server:latestOr with docker/compose.yaml, which also persists the server's identity
across restarts:
cd docker
docker compose up -d
docker compose logs -f # expect "Server started."Environment: SERVER_NAME, SERVER_PORT (default 31000, UDP) and
SERVER_FLAGS for anything else, such as --public. Players on the same LAN
see the server in the in-game browser automatically; --public lists it for
everyone, and needs the UDP port forwarded to the host, because the server
repository pings it back at boot and the server exits if that fails.
To build the image yourself from a release: docker build --build-arg VERSION=0.8.0 -t fugitive3d-server docker/.
To run a server from the Godot editor instead, see Development.
--port xxxxxThe port to bind to, default is31000--name "My Server"The name to show in the server browser--publicadvertises to the public Server Repository.--nolanprevents advertising to LAN clients--nostatsprevents reporting of anonymous gameplay stats--fpsprint server FPS to log periodically
Dark Rock Studios is all about building Free and Open Source Software.
🐛 Found bugs?
💡 Have suggestions?
📚 Want to help translate?
🎮 Interested in our other apps?
👉 Join our community of Open Source enthusiasts on Discord!