A community-made 3D open city sandbox built with GDevelop 5. Walk around a living city (traffic that stops at red lights, people walking the sidewalks and crossing the streets), jump into any car, walk into houses and shops, and collect all the cash.
The game is automatically built on every commit to master. Play it here: GDevelop Open Game Preview. Desktop builds (Windows, macOS, Linux) are attached to each run of the Auto Build workflow.
| Action | Keys |
|---|---|
| Move | WASD |
| Sprint / jump | Shift / Space |
| Look around | Mouse (click the game to capture it) or arrow keys |
| Enter / exit a car or building | E |
| Pick up a blaster / shoot | Walk over it / hold left mouse button (not while sprinting) |
| Drive / handbrake | WASD / Space |
| Back to the menu | Esc |
- Open
src/game.jsonwith GDevelop 5.6 or newer. Titleis the menu,Cityis the open world andInterioris the inside of a building. Events shared by both game scenes (on-foot movement, camera, money HUD) are external events (OnFoot,Camera,Hud) linked from each scene.Player,Cashand the HUD texts are global objects.- Each house and shop in
Cityhas an invisibleDoorZonecovering the building plus a small margin: standing next to the building lets you enter it. The instance variablesLayout(the external layout to load:Home1,Home2,Home3,DinerorGrocery) andHouseIdare fixed in the scene, so the same building always opens the same interior. Cash collected inside a building is remembered in the globalInteriorCollectedstructure. To add an interior, create an external layout for theInteriorscene with aDoormat(exit), aPlayer(spawn), oneCash, and invisibleCollidercubes for the floor and walls. - Blasters (Pistol, Rifle, Cannon, Shotgun, Sniper, Minigun) are in the
Gunsgroup ofCity. Their stats are object variables (FireRate,Damage,Spread,Pellets,BulletSpeed, ...). The HUD icon is theWeaponIconsprite: one animation per blaster, named like the blaster object. - Traffic and pedestrians are driven by the JavaScript event in the
City lifegroup ofCity. Cars (theCarsgroup) follow the lanes of the road grid, turn at crossings, stop at the traffic lights and for anything in front of them; pedestrians walk around each block and cross at the lights.CAR_COUNTandPED_COUNTat the top of the script set how many there are (extra ones are created at start). Street furniture (lights, trees, dumpsters) uses its own physics layer, so pedestrians walk past it while cars and the player still collide with it. - The city is built from Kenney 3D kits (CC0); see
src/assets/CREDITS.md. Kenney.glbmodels reference an externalTextures/colormap.png; embed the texture into the.glbbefore adding a new model, or it will render without colors once exported.
cd build
npm ci
npm run check # verify every resource file exists
npm run build # HTML5 export in build/gdExport
npm run electron-build # Electron export in build/gdExportThe GDevelop version used for exports is pinned by the gdcore-tools version in build/package.json.
To move to a newer GDevelop, bump that dependency and run npm run migrate to resave the project in the new format.
Thanks a lot for your interest! Join our Discord server and read CONTRIBUTING.md.
- GitHub project board for the work being planned and done.
- Issues for bugs.
