160 lines
11 KiB
Markdown
160 lines
11 KiB
Markdown
# 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
|
||
|
||
| | |
|
||
| --- | --- |
|
||
|  |  |
|
||
|  |  |
|
||
|  |  |
|
||
|  |  |
|
||
|  |  |
|
||
|  |  |
|
||
|  | |
|
||
|
||
*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's Sunset Strip frontage, the TV Studio arrival, and the prop lineup.*
|
||
|
||
## ⬇️ Downloads
|
||
|
||
| Platform | Package |
|
||
| --- | --- |
|
||
| **Windows — installer** | [`gig-line-setup-<ver>.exe`](https://git.allucanget.biz/zwitschi/security-game/releases) · contains all game data, shortcuts + uninstaller |
|
||
| **Windows — portable** | [`gig-line-windows-<ver>.exe`](https://git.allucanget.biz/zwitschi/security-game/releases) · 64-bit, no install needed |
|
||
| **Linux — AppImage** | [`gig-line-<ver>-x86_64.AppImage`](https://git.allucanget.biz/zwitschi/security-game/releases) · single file, `chmod +x` and run |
|
||
| **Linux — portable** | [`gig-line-linux-<ver>.x86_64`](https://git.allucanget.biz/zwitschi/security-game/releases) · 64-bit, `chmod +x` and run |
|
||
| **macOS** | [`gig-line-macos-<ver>.zip`](https://git.allucanget.biz/zwitschi/security-game/releases) · unsigned build, quarantine note below |
|
||
| **Web (browser)** | [`gig-line-web-<ver>.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-<ver>.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:** <https://git.allucanget.biz/zwitschi/security-game/releases>
|
||
|
||
> Downloads are public (no sign-in required) since the host's instance-wide
|
||
> `REQUIRE_SIGNIN_VIEW` was disabled on 2026-10-31.
|
||
>
|
||
> **Latest published: v0.9.6** — the integration checkpoint: the 0.9.5 texture
|
||
> and material refinement (256² NPC maps, a four-times fabric weave without baked
|
||
> AO blotches, repaired Walk of Fame/awning surfaces and per-phase skyline haze)
|
||
> is packaged with the v0.9.4 NPC visual optimization, the Hollywood/Joke Shop
|
||
> maps and the v0.9.3 UI/accessibility polish, with the full gallery, smoke matrix
|
||
> and Web/Desktop HQ build re-verified.
|
||
>
|
||
> **Current source: v0.9.6** — tagged and built from the same commit.
|
||
> 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/joke-shop-map.md`](docs/joke-shop-map.md) — Real-site references, game mapping and limitations for the Joke Shop / Sunset Strip 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/accessibility.md`](docs/accessibility.md) — Accessibility features, known gaps and statement.
|
||
- [`docs/known-limitations.md`](docs/known-limitations.md) — Release-candidate blockers and accepted limitations.
|
||
- [`docs/smoke-checklist.md`](docs/smoke-checklist.md) — Manual smoke-test checklist.
|
||
- [`CREDITS.md`](CREDITS.md) — Credits, AI/reference provenance and licensing notes.
|
||
- [`PRIVACY.md`](PRIVACY.md) — Local-only data, save files and development API use.
|
||
- [`docs/blender-assets.md`](docs/blender-assets.md) — Blender asset library: characters, gear, props, attach points.
|
||
- [`docs/npc-visual-review.md`](docs/npc-visual-review.md) — 0.9.4 NPC baseline, acceptance criteria and ranked visual gaps; 0.9.5 texture comparison is in [`docs/blender_previews/sheet_texture_refinement_0.9.5.jpg`](docs/blender_previews/sheet_texture_refinement_0.9.5.jpg).
|
||
- [`docs/npc-proportion-audit.md`](docs/npc-proportion-audit.md) — NPC proportion measurements against the shared stylized guide.
|
||
- [`docs/adr/`](docs/adr/) — Architecture Decision Records.
|
||
- [`TODO.md`](TODO.md) — Active tasks plus the 0.x gap analysis and milestone roadmap.
|
||
|
||
## Development Status
|
||
|
||
v0.9.6 is the current source version: the integrated texture/material and UI
|
||
checkpoint on top of the 0.9.5 texture refinement (256² NPC maps, a 4× fabric weave with baked-AO removal, repaired
|
||
Walk of Fame/awning surfaces and per-phase skyline haze), on top of the v0.9.4
|
||
NPC visual optimization and the v0.9.3 UI/accessibility polish pass. It builds on
|
||
v0.9.2's Hollywood/Joke Shop map rebuilds, v0.9.1's Godot 4.7.2 baseline,
|
||
v0.9.0's production-quality 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 0.x roadmap. Manual
|
||
verification uses the [`docs/smoke-checklist.md`](docs/smoke-checklist.md).
|
||
|
||
## Credits, Privacy and Accessibility
|
||
|
||
Gig Line is a local-only single-player game: there is no runtime telemetry or
|
||
network service, and saves stay in Godot's local `user://` folder. The
|
||
body-camera overlay is simulated. Asset provenance, AI-assisted image usage and
|
||
credits are recorded in [`CREDITS.md`](CREDITS.md); the local-data policy is in
|
||
[`PRIVACY.md`](PRIVACY.md); accessibility features and gaps are in
|
||
[`docs/accessibility.md`](docs/accessibility.md); and release-candidate blockers
|
||
are listed in [`docs/known-limitations.md`](docs/known-limitations.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.
|