# Pitchwell — gameplay Repo: **OpenKKnD**. In-game title: **Pitchwell** (never ship “KKnD” in UI, VO, or maps). Genre loop: 1990s two-faction wasteland RTS. Original setting, names, and art only — see `IP-FENCE.md`. Engine: Godot 4. Net: **ENet** (`MultiplayerENet`). Briefings: original video **≥1280×720**. ## Pitch (one paragraph) After the Bent War, the land leaks **Pitch** — black well-tar that both remaining powers can burn. The **Crooked Staff** drinks it as tincture and walks ley cracks. The **Rust Host** packs it into reactors and walks on treads. Same map, same wells, different conversion. Whoever holds the wells fields the army. ## Match loop 1. **Briefing** (campaign) — HD FMV, then load. 2. **Open** — HQ + 4 workers. 500 Pitch. Scout with the fifth build. 3. **Seed** — one extra worker, first **Sump Well**, housing, T1 producer. 4. **Expand** — second well, T1 army, one turret on the choke. 5. **Tech** — T2 producer + one siege or AA before the opponent’s push. 6. **Break** — raid workers *or* snipe tech *or* mass T3. Do not turtle past pop cap. 7. **End** — enemy HQ dead, or annihilation (no production + no army). Skirmish/MP skip step 1. Target length: 12–20 min 1v1, 20–35 min 2v2. ## Economy | Item | Rule | |------|------| | Resource | **Pitch** only. No power grid. | | Nodes | **Sump Wells** — finite (2 500 each), slow seep (+0.4/s while claimed). | | Carry | Worker load 100. Trip time is the real cost; wells in fog are the prize. | | Drop-off | Faction refinery *or* HQ. Refinery next to the well wins. | | Start | 500 Pitch, 10 pop, 80 pop cap. | | Housing | +8 pop per shack. Cap 80. | | Costs | Worker 50 / 12 s. T1 75–120. T2 200–350. T3 450–700. Turret 150. | **Staff** harvests slower (−15%) but Well-Walkers walk rough ground at full speed. **Host** harvests faster (+10%) and vacuums **wreck piles** for +25 Pitch. Treads crawl in crooked woods. Claim a well by finishing a refinery in radius. Neutral wells are contestable. Last refinery standing holds the seep. ## Combat HP + damage, 20 Hz sim. Four armor tags: **Hide**, **Plate**, **Ward**, **Air**. | Attacker \ target | Hide | Plate | Ward | Air | |-------------------|------|-------|------|-----| | Bolt / small-arms | 100% | 60% | 80% | 40% | | Hex / splash | 130% | 70% | 50% | 80% | | Shell / siege | 70% | 130% | 110% | 40% | | Flak / kite | 50% | 50% | 80% | 140% | Splash is Staff’s edge. Single-target armor is Host’s. No Warcraft-style skirmish heroes. Campaign officers are VO + a flag on a normal unit. Fog of war. Radar / familiar reveals a blob, not the roster. Cliffs and woods block ground; air ignores both. ## Tech (three tiers) Shared beat: **T1 swarm → T2 push → T3 closer**. Unlock by building the tier hall, not by researching a global age. | Tier | Staff hall | Host hall | You should have | |------|------------|-----------|-----------------| | T1 | Coven Yard | Bolt Hall | workers, scouts, one turret | | T2 | Hex Circle | Dynamo | siege *or* AA, second well | | T3 | Eclipse Spire | Core Stack | air + one super shot | Supers are once-per-5 min, visible charge, dodgeable. They are not instant GG. ## Campaign Two campaigns × **8** missions (0 = tutorial, 1–7 = war). Same maps, opposite briefings. No mirrored clone of any commercial campaign. | # | Staff beat | Host beat | |---|------------|-----------| | 0 | Walk, gather, build a Font | Walk, gather, build a Press | | 1 | Hold two wells vs raiders | Smash a feral wreck-camp | | 2 | Night woods, Crookhounds | Tread through slag ridges | | 3 | Rescue a coven, escort | Steal a Font’s Pitch | | 4 | First air (Kite-Familiars) | First Rotor-Cans | | 5 | Defend Eclipse charge | Core Dump a Bend Keep | | 6 | Island wells, air-only closer | Naval-bridge treads + Sky-Hooks | | 7 | Break the Scrap Spire | Break the Bent Keep | Win: listed objective. Default fail: HQ lost, or timeout on escort. ## Briefings (FMV) | Spec | Value | |------|--------| | Resolution | **≥1280×720**, 16:9. 1080p preferred. | | Length | 20–90 s. Skip with Enter after 2 s. | | Picture | Original live-action **or** own 3D render. | | Audio | Original VO + score. No commercial rips. | | Fallback | Still 1280×720 + VO if the movie is missing (dev only). | Forbidden: 480p, SMK/Bink dumps, “AI upscale” of someone else’s frames, Nintendo likenesses, named characters from other games. File layout: `media/briefings//_.ogv` (+ `.license`). Credits in `CREDITS.md` when that file exists. ## Multiplayer (ENet) | Spec | v1 | later | |------|----|--------| | Transport | Godot **ENet** `MultiplayerENet`, UDP **7777** | same + dedicated | | Model | Host-authoritative, 20 Hz | lockstep + hash desync dump | | Size | 1v1, 2v2 (4 peers) | 3v3 | | Lobby | LAN browse + IP join | NAT punch / relay | | Sync | Pitch, pop, unit ids, orders | replays | | Disconnect | 8 s timeout → AI take-over or defeat | — | Orders are the wire format (select, move, attack, build, rally). Do not replicate every transform if lockstep lands. Until then, host sim is truth; clients interpolate. Pause is campaign-only. MP never pauses. Cheats (`pitch 9999`) are offline-only. ## Modes & victory | Mode | Victory | |------|---------| | Campaign | Scripted objective | | Skirmish | HQ kill **or** annihilation (toggle) | | MP | same as skirmish | Draw if both HQs die in the same second. ## Camera & input (v1) RTS camera, 3D world, min view 1280×720. WASD / edge pan, wheel zoom, LMB select, RMB move/attack, B build, H hold, S stop, Ctrl-groups 0–9. ## Build slices | Slice | Ship | |-------|------| | **v0** | One map, both workers, one well, T1 melee, fog, win on HQ | | **v1** | Full T1–T2, turrets, 2 skirmish maps, LAN 1v1 ENet | | **v2** | T3 + air + one super, campaign 0–3 with HD briefings | | **v3** | Campaigns complete, 2v2, lockstep experiment | Do not start v2 art until v1 plays in LAN. ## Out of scope Story novels, four factions, naval as a third army, loot RPGs, user-generated FMV, anything that needs a proprietary ISO.