# Gig Line Gig Line is a workplace security simulation about observation, communication, access verification, and proportionate escalation. The player works security at public-facing venues around Hollywood Boulevard, managing stairs, entrances, crowds, guests, staff, and occasional serious threats. The central design goal is simple: > The player wins by choosing the lowest level of escalation that keeps everyone safe. ## Screenshots | | | | --- | --- | | ![Venue overview: the El Capitan Entertainment Centre facade with six Ionic columns, red banners and stone steps](docs/screenshots/01-venue-overview.png) | ![Targeting an approaching NPC with the interaction HUD](docs/screenshots/02-targeting-npc.png) | | ![Access inspection: wristband/credential check with allow/deny prompt](docs/screenshots/03-access-inspection.png) | ![Radio report form: emergency dispatch panel](docs/screenshots/04-radio-report.png) | | ![Late night: street lamps lit, marquee glowing, dark Hollywood Boulevard](docs/screenshots/05-late-night-avenue.png) | ![Night shift: guard flashlight cutting through the dark](docs/screenshots/06-night-flashlight.png) | | ![Wand screening at The Joke Shop: false alarm on keys](docs/screenshots/07-wand-screening.png) | ![Escalation HUD at L3 with body camera armed and reaction log](docs/screenshots/08-escalation-hud.png) | | ![Body-camera timeline: formal warning, body camera on, blocking](docs/screenshots/09-body-camera-timeline.png) | ![Prop gallery: the six generated street-furniture models on a studio backdrop](docs/screenshots/10-prop-gallery.png) | | ![Precision walk at the venue steps with the HUD chip visible](docs/screenshots/11-precision-walk.png) | ![The Joke Shop: a narrow brick alley with shuttered windows, a warm wall lantern and a dumpster](docs/screenshots/12-joke-shop.png) | | ![Late-night TV studio arrival: stone facade, bulb canopy, black car and barriers](docs/screenshots/13-studio-arrival.png) | | *Screenshots are generated by [`src/test/capture_screenshots.gd`](src/test/capture_screenshots.gd) and [`src/test/capture_prop_gallery.gd`](src/test/capture_prop_gallery.gd) from the current build — day, late-night, wand screening, escalation, shift-review timeline, precision walk, the Joke Shop alley, the TV Studio arrival, and the prop lineup.* ## ⬇️ Downloads | Platform | Package | | --- | --- | | **Windows — installer** | [`gig-line-setup-.exe`](https://git.allucanget.biz/zwitschi/security-game/releases) · contains all game data, shortcuts + uninstaller | | **Windows — portable** | [`gig-line-windows-.exe`](https://git.allucanget.biz/zwitschi/security-game/releases) · 64-bit, no install needed | | **Linux — AppImage** | [`gig-line--x86_64.AppImage`](https://git.allucanget.biz/zwitschi/security-game/releases) · single file, `chmod +x` and run | | **Linux — portable** | [`gig-line-linux-.x86_64`](https://git.allucanget.biz/zwitschi/security-game/releases) · 64-bit, `chmod +x` and run | | **macOS** | [`gig-line-macos-.zip`](https://git.allucanget.biz/zwitschi/security-game/releases) · unsigned build, quarantine note below | | **Web (browser)** | [`gig-line-web-.zip`](https://git.allucanget.biz/zwitschi/security-game/releases) · unzip and serve the folder from any static host (no special headers) | | **Desktop HQ** | [`gig-line-desktop-hq-.zip`](https://git.allucanget.biz/zwitschi/security-game/releases) · optional Forward+ build with volumetric fog/SDFGI/flashlight; requires a Vulkan-capable GPU/driver | **All releases:** > Downloads are public (no sign-in required) since the host's instance-wide > `REQUIRE_SIGNIN_VIEW` was disabled on 2026-10-31. > > **Latest: v0.9.1** — unified Godot 4.7.2 CI/release environment, plus > v0.9.0's production-quality and v0.8 tutorial/campaign/resume work. > Releases are built automatically when a `vX.Y.Z` tag is pushed > (see [`docs/RELEASING.md`](docs/RELEASING.md)); manual builds use > `./tools/build_releases.sh`. Installer/AppImage packaging runs in the same pipeline > (NSIS + appimagetool) and uploads with the portable binaries. > > macOS builds are unsigned: right-click → Open, or clear the quarantine with > `xattr -dr com.apple.quarantine gig-line-macos.zip`. Build instructions and > the release pipeline live in [`docs/RELEASING.md`](docs/RELEASING.md). If you are here to develop or test locally instead of downloading, jump to [Setup and Run](#setup-and-run) below. The project is under active development. The design and architecture are documented, and a playable prototype vertical slice exists (Godot 4 + GDScript): a stylized El Capitan Entertainment Centre block, a first-person guard, simulated NPCs with intents and reactions, the six-level escalation model, access inspection and admission decisions, radio calls with credibility checks, reputation, crowd mood, and an end-of-shift review. ## Game Overview A typical shift lasts 10–15 minutes: watch the entrance and sidewalk, judge why each person is approaching, verify access with recognition, wristbands, IDs, tickets or credentials, and escalate only when necessary. The game rewards calm resolution over force. The venue menu splits Hollywood Boulevard into Day and Night rows; the full mechanics — the three venues, the six-level escalation model, and the core systems — are in [`docs/gameplay.md`](docs/gameplay.md); the design rationale lives in [`PLAN.md`](PLAN.md). ## Architecture A venue-driven simulation: shared systems (movement, perception, interaction, access verification, escalation, radio, crowd, reputation, evidence, shift review) driven by per-venue scenario data, on Godot 4 + GDScript. The full arc42-style document is [`docs/architecture.md`](docs/architecture.md); decisions are recorded as ADRs in [`docs/adr/`](docs/adr/). ## Tech Stack - **Engine:** Godot 4.7.2 · **Language:** GDScript - **NPCs:** Blender-authored skinned library (`assets/models/blender/`) with procedural fallbacks; lightweight FSMs on `NpcProfile` - **World:** procedural `WorldBuilder` + generated prop models - **Art:** v2 skyline/surface textures in `assets/textures/ai/game_ready/v2/picks/`; UI/scene art in `assets/images/` - **Asset tooling:** `asset_pipeline.py`, `model_pipeline.py`, `npc_pipeline.py`, `blender_assets.py`, `scene_concepts.py`, `screen_designs.py`, `check_screenshots.sh` - **Testing:** custom headless runner (`src/test/test_runner.gd`) - **Targets:** Windows, Linux, macOS, Web The asset pipelines, model tools, and screenshot gates are documented in [`docs/asset-tooling.md`](docs/asset-tooling.md). ## Setup and Run ```bash python3 -m pip install -r requirements-tools.txt godot --editor --path . # open in the editor godot --path . # run the game godot --headless --path . --script res://src/test/test_runner.gd # run all tests ``` Full setup, every run/test/smoke command, and the controls table are in [`docs/getting-started.md`](docs/getting-started.md). ## Project Documentation - [`PLAN.md`](PLAN.md) — Game design plan and scenario details. - [`AGENTS.md`](AGENTS.md) — Development and collaboration workflow. - [`DONE.md`](DONE.md) — Completed task sections. - [`MEMORY.md`](MEMORY.md) — Persistent session notes. - [`CHANGELOG.md`](CHANGELOG.md) — User-facing changes by version. - [`docs/README.md`](docs/README.md) — Documentation index and visual previews. - [`docs/architecture.md`](docs/architecture.md) — arc42-style architecture documentation. - [`docs/gameplay.md`](docs/gameplay.md) — Gameplay systems, venues, and the escalation model. - [`docs/hollywood-boulevard-map.md`](docs/hollywood-boulevard-map.md) — Real-site references, game mapping and limitations for the Hollywood venue. - [`docs/tutorial.md`](docs/tutorial.md) — First-shift tutorial beats and rules. - [`docs/asset-tooling.md`](docs/asset-tooling.md) — Asset pipelines, model tools, and screenshot gates. - [`docs/getting-started.md`](docs/getting-started.md) — Setup, run/test commands, and controls. - [`docs/development-status.md`](docs/development-status.md) — Implemented features and what's next. - [`docs/smoke-checklist.md`](docs/smoke-checklist.md) — Manual smoke-test checklist. - [`docs/blender-assets.md`](docs/blender-assets.md) — Blender asset library: characters, gear, props, attach points. - [`docs/adr/`](docs/adr/) — Architecture Decision Records. - [`TODO.md`](TODO.md) — Active tasks plus the v1.0.0 gap analysis and milestone roadmap. ## Development Status v0.9.1 unifies the project, local tooling and CI/release environment on Godot 4.7.2. It builds on v0.9.0's production-quality and audio/accessibility pass, v0.8's tutorial/campaign/resume work and the v0.7.x venue/gear/judge work. See [`docs/development-status.md`](docs/development-status.md) for the implemented list and [`TODO.md`](TODO.md) for the v1.0.0 roadmap. Manual verification uses the [`docs/smoke-checklist.md`](docs/smoke-checklist.md). ## Development Workflow Follow [`AGENTS.md`](AGENTS.md): inspect the repository first, record work as checkbox tasks in `TODO.md`, move completed sections to `DONE.md`, update `MEMORY.md` with durable context, and keep this README synchronized with setup and architecture changes.