Delete docs/plan-graphics-v0.6.md and update README, architecture, asset tooling, Blender docs and MEMORY references. Completed work stays summarized in ADR-0013, the asset-pipeline architecture and the changelog; the v1.0.0 roadmap owns future graphics work.
131 lines
8.8 KiB
Markdown
131 lines
8.8 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 alley, 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: v0.7.2** — a cost-aware OpenRouter screenshot judge, an optional
|
||
> Forward+ Desktop HQ build with volumetric fog/SDFGI/flashlight, distinct Joke
|
||
> Shop and TV Studio geometry, and fitted NPC gear.
|
||
> 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 procedural Hollywood Boulevard entrance, 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 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.3 baseline (local dev verified with 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/architecture.md`](docs/architecture.md) — arc42-style architecture documentation.
|
||
- [`docs/gameplay.md`](docs/gameplay.md) — Gameplay systems, venues, and the escalation model.
|
||
- [`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.7.2 ships the cost-aware OpenRouter judge and the optional Desktop HQ build.
|
||
The three venues now have distinct geometry, fitted NPC gear, the Blender asset
|
||
library and the post-v0.6.0 realism pass. See
|
||
[`docs/development-status.md`](docs/development-status.md) for the implemented
|
||
list, and [`TODO.md`](TODO.md) for the v1.0.0 gap analysis and 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.
|