143 lines
6 KiB
Markdown
143 lines
6 KiB
Markdown
# 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/<campaign>/<nn>_<slug>.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.
|