aboutsummaryrefslogtreecommitdiffstats
path: root/research/gameplay-gaps.org
blob: 4974ef6f321df6659be91572d58a470a28e337ef (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#+TITLE: Forts Gameplay — What Our Clone Is Missing (sourced)
#+AUTHOR: Forts Clone Project
#+DATE: 2026-07-01
#+OPTIONS: toc:3 num:t

* Purpose

An ENUMERATED, sourced list of gameplay systems Forts has that our clone does
not — so scope is driven by facts, not vibes. Ground truth is the shipped game
data (=SteamLibrary/.../Forts/data/=, device_list.lua / weapon_list.lua /
constants.lua) cross-checked against community docs:

- Steam guide "How to be a PRO at Vanilla Forts" (id 2035024654)
- Steam guide "Forts Glossary" (id 1380793614) and "Base Building" (1308699887)
- Forts RTS Wiki: Technology page
- Wikipedia: Forts (video game)

* What we HAVE (baseline)

Building (wood / bg-brace / rope), mass-spring structural sim with stress +
axial/angle breaking + cascading collapse, ground destroys debris, fire
(DoT + spread), HP, two weapons (cannon = ballistic, laser = beam/ignite),
a static enemy fort, Lua-data + mods, a dev UI. Resources are a placeholder
(depleting pools, no generation).

* MISSING — grouped by system, each with the in-game reference

** 1. The Reactor + win/loss  [CRITICAL — this is the actual game]
The core the whole game is about. =devices/reactor.lua=: HitPoints 100 (fragile),
and it is ALSO a generator (EnergyProductionRate 100, MetalProductionRate 5).
Win = destroy the enemy reactor by (a) direct damage, (b) fire/splash, or
(c) cutting its supports so it falls. We have no reactor, no win/loss, no restart.
-> our M5.

** 2. Real resource economy  [CRITICAL for the core loop]
Two resources, generated by devices (all values from =devices/*.lua=):
- *Metal*: Mines on metal *deposits* (=mine.lua= MetalProductionRate 4,
  EnergyProductionRate -5 — mining COSTS energy). Upgrade =mine2= (5 metal, -7 e).
- *Energy*: Wind *Turbines* — output scales with HEIGHT and clearance
  (v0.1-core.org; MinWindEfficiency / MaxWindHeight fields). Reactor also makes
  100 energy + 5 metal baseline.
- *Storage caps*: Battery (=battery.lua= EnergyStorageCapacity 2000), Metal Store.
  Resources are capped, not infinite pools.
- *Costs*: building pieces, weapons, devices, AND FIRING all cost metal/energy
  (cannon EnergyFireCost 2000, MetalFireCost 50). Repair costs too.
We have placeholder pools only. -> deferred to our M5.

** 3. Devices (whole category — we have ZERO)
From =devices/device_list.lua=:
- Resource: mine, mine2, turbine, turbine2, derrick, battery (energy store),
  store (metal store), reactor, minireactor.
- Tech buildings: workshop, armoury, munitions plant, factory, upgrade centre
  (see #4).
- Utility/defence: sandbags (HP 300, cheap absorber), explosive barrel (barrel),
  target (mission objective, HP 30).
Devices mount on structure, have HP, can be shot, and some need clearance/ground.

** 4. Tech tree + Upgrades  [large system, OUT of v0.1 scope but core to Forts]
5 tech buildings gate weapons (wiki Technology; weapon_list Prerequisite fields):
- Workshop -> Mortar, Swarm Missiles
- Armoury -> Flak, EMP Rocket
- Munitions Plant -> 20mm Cannon, Cannon   (needs Armoury)
- Factory -> Firebeam, Plasma Laser         (needs Workshop)
- Upgrade Centre -> unlocks UPGRADING existing weapons/devices (mine2, turbine2,
  mortar2, sniper2, minigun … =Prerequisite = "upgrade"=).
Research/prereqs create build-order strategy. We have neither tech nor upgrades.

** 5. More weapons  [M4 continues]
We have cannon + laser. Full vanilla roster (=weapons/weapon_list.lua=):
machinegun, minigun (point-defence / anti-projectile), sniper (+spotter
mechanic, guides swarm missiles), mortar (high-arc, high building damage),
swarm missiles (guided), missile launcher, 20mm cannon, cannon, flak
(anti-projectile), EMP rocket (disables devices), firebeam / plasma laser
(beam). Notable *mechanics* we lack: point-defence (shoot down incoming shells),
guided/tracking projectiles, hitscan (machinegun/sniper), EMP disable.

** 6. Building materials we lack
=materials/building_materials.lua=: *armour* (HP 400, +25% stiffness, 2x mass —
kinetic tank), *door* (openable/closable, blocks then opens for your own fire),
*energy shield* (reflects beams/plasma, warmup), *metal beam*, *camo*, *solar*
(energy on the strut), *fuse* (relays fire slowly). We have wood/bg/rope only.
Doors and shields are real tactical mechanics (open to shoot, shield vs lasers).

** 7. Fort actions: Repair + Recycle  [our M7]
- *Repair*: restore a damaged piece/device for resources proportional to damage
  (Forts Repair.EnergyCostMultiplier; materials MetalRepairCost/EnergyRepairCost).
- *Recycle/Scrap*: remove a piece, recover partial resources (MetalReclaim,
  ScrapTime). We have neither.

** 8. Weapon aiming/firing details we simplified
- Cannon/weapons cost energy+metal PER SHOT (EnergyFireCost) — firing is
  resource-limited, not just reload-limited.
- Recoil/kickback pushes the fort (we apply knockback to targets only, not
  recoil to the firing structure — Forts Recoil 600000, KickbackMean 40).
- Spotters: sniper reveals targets and guides swarm missiles.
- Fire-clearance: a weapon won't fire if its own structure blocks the muzzle
  (MinFireClearance) — prevents shooting through your own fort.

** 9. Commanders + Factions  [OUT of v0.1 scope]
15 commanders across 5 factions, each with a passive trait + active ability
(e.g. Firebird halves fire spread & double-extinguishes on her forts). Huge
matchup variety. Purely a post-v1 concern but defines Forts' identity.

** 10. Map / world systems
- Metal *deposits* embedded in terrain (mine targets) — we have none.
- Terrain shape + foundation material chosen by ground *slope angle*
  (StandardNode.Foundations brackets by angle). Ours is a flat half-plane.
- No-build zones, destructible terrain, water/buoyancy (High Seas DLC).

** 11. Meta / not-gameplay-but-expected
Skirmish AI opponent, campaign/missions, multiplayer lockstep netcode,
replays (trivial with deterministic lockstep), sandbox. All post-v0.1.

* Priority for OUR roadmap

Mapping the above onto the (already-reordered) milestones:

| Gap                                   | Milestone | Notes                          |
|---------------------------------------+-----------+--------------------------------|
| Reactor + win/loss + restart          | M5        | the actual objective           |
| Resource economy (mine/turbine/store) | M5        | deposits, generation, caps     |
| Repair + Recycle                      | M7        | resource-cost actions          |
| Devices framework (mount on struts)   | M5/M6     | reactor is the first device    |
| Armour + Door + Shield materials      | M4/M7     | data-driven, small each        |
| More weapons (mortar/flak/mg/missile) | M4        | point-defence + guided are new |
| Per-shot energy cost + recoil         | M4        | small, faithful                |
| Tech tree + Upgrades                  | post-v0.1 | big; build-order strategy      |
| Commanders/Factions                   | post-v0.1 | defines identity, large        |
| Map deposits / terrain / foundations  | M6        | needs a real map format        |
| AI / campaign / multiplayer           | post-v1   | out of scope                   |

* Smallest high-value next steps (concrete)

1. *Reactor as a device + win/loss* (M5 kickoff): a mountable block with HP that,
   at 0 HP or when disconnected from a foundation, ends the round. Gives the game
   an actual goal to shoot for. (We already destroy struts and detect
   foundation-connectivity, so both victory paths are within reach.)
2. *Real resources*: mines on deposits (+metal, -energy), turbines (+energy by
   height), storage caps, and make building/firing actually spend them.
3. *Armour + Door materials*: data-only additions to the Lua material table
   (armour = high HP/stiff/heavy; door = toggles blocking) — cheap, high value.
4. *Per-shot energy cost + firing recoil* on the cannon/laser — a few lines,
   makes combat feel like Forts.