Session artifact · final
TestGame Game Design Document
The gameplay specification connecting the proof of concept's requirements to its player experience, rules, progression, and feedback.
- Document
- TestGame Production-Chain Strategy PoC
- Created
- 2 August 2026
- Updated
- 2 August 2026
TestGame - Game Design Document
Author: Tim
Game Type: Real-time fantasy strategy PoC
Target Platform: Windows desktop, keyboard and mouse
Status: Post-architecture planning complete — ready for implementation-readiness revalidation
Executive Summary
Core Concept
TestGame is a compact, single-player fantasy strategy proof of concept about preparing for battle through legible production chains. The player places simple production buildings, watches raw materials become equipment, and sees those outputs produce immediate, measurable changes in combat and quest progress. The core fantasy is not merely owning a sword; it is watching a small world learn how to make one.
The PoC is a learning instrument for its solo creator. It tests whether building, playing, and extending a production-first strategy loop is enjoyable and tractable enough to justify a separate game project. It is not a vertical slice, commercial release candidate, or market-validation build.
Target Audience
- Primary player and evaluator: Tim, the solo creator.
- Player profile: Enjoys readable old-school strategy, small economies, tactical preparation, and visible cause and effect without deep logistics.
- Reference virtues: The production readability of Knights and Merchants, the hero/equipment interplay of the original SpellForce, and an old-school fantasy strategy posture. These references do not imply their content breadth or logistics depth.
Unique Selling Points
- Production with battlefield proof: Every final production branch ends in an observable tactical effect.
- Compact interlocking economy: Iron, leather, timber, and earlier crafted goods remain useful across multiple outputs.
- Readable without logistics simulation: Resources move instantly through shared Mythical Storage; there are no workers, routes, warehouses, or throughput networks.
- A bounded creative experiment: The build is successful when it produces trustworthy evidence about enjoyment, comprehension, and extension cost—not when it resembles a finished commercial game.
Goals and Context
Project Goals
- Deliver one stable end-to-end loop from resource generation through combat consequence and Quest completion.
- Make production state, blockers, timing, inventory delivery, equipment effects, and combat outcomes legible without inspecting development tools.
- Compare the perceived payoff of acting aggressively now with investing in production first.
- Determine whether the creator wants to play or build another loop after completing this one.
- Keep the systems small and tunable enough that one bounded extension feels sustainable.
Background and Rationale
Production is the implementation spine; combat and Quests are proof surfaces. The initial Baseline compares playstyles but does not force a true opportunity-cost tradeoff through scarcity, deadlines, or mutually exclusive rewards. That stronger experiment is deferred until the Baseline is complete and evaluated.
The intended emotional sequence is comprehension → anticipation → agency → payoff. A player first understands what is available, anticipates a timed result, chooses how to use it, and then sees the consequence.
Core Gameplay
Game Pillars
- Readable Production — Inputs, availability, blockers, active work, remaining time, and outputs are always explicit. Waiting never hides state.
- Visible Causal Payoff — Crafted goods visibly change health, area effects, or Quest state; learned Skills visibly change damage. The interface states exact values before and after each effect.
- Preparation Versus Immediate Action — The player may fight while production runs or wait for equipment. Baseline observes the perceived difference without mechanically forcing either path. These pillars operate within a bounded-learning scope principle: every system serves the experiment, and content breadth, simulation depth, and polish remain subordinate to a complete, understandable loop.
Core Gameplay Loop
- Inspect Mythical Storage, active Quests, units, and the compact map.
- Place the available Resource, Processing, and Crafting Buildings on valid pads.
- Allow Resource Buildings to generate raw materials automatically.
- Start 30-second Processing jobs to create intermediate materials.
- Inspect Recipes, commit inputs, and reserve an Inventory slot.
- Continue commanding units or fighting while jobs run and compact timers remain visible.
- Receive the Crafted Good in its reserved Inventory slot.
- Equip, use, or deploy the output on an eligible target.
- Fight Monsters or advance a Quest; compare the exact tactical result.
- Choose another production investment or immediate military action, then decide whether the loop merits extension.
Win, Loss, and Completion
- The sandbox has no formal victory, defeat, deadline, forced reset, or terminal screen.
- Both Quests are available from session start. The player accepts either independently; completion produces a transient popup and a persistent completed tracker state, but no material reward.
- A combat encounter ends when every participant on one side is defeated.
- Defeated player units recover at the starting area after
10 secondswith full HP. Resources, items, learned skills, and Quest progress persist, so defeat creates delay without deadlocking the experiment. - The product-level completion condition is evaluative: finish the production-to-combat journey, inspect both Quest paths, and decide whether another loop is desirable.
Game Mechanics
Selection, Commands, and Camera
- Left-click selects one unit, Building, Recipe, item, Quest, or target.
- Left-drag box-selects multiple player units;
Shiftadds or removes selections. - Right-click issues a contextual move command on ground or attack command on an enemy.
Ctrl+1–9creates control groups;1–9recalls them.- Ability buttons display their hotkeys;
Zactivates Slash andXactivates Fireball when an eligible Hero is selected. WASDor screen-edge movement pans the camera.QandE, or right-mouse drag, rotate it. The mouse wheel controls a deliberately limited zoom range.- Essential information never exists only on hover. Invalid actions do not mutate state and name both the blocker and remedy.
| Action | Input / context |
|---|---|
| Select / inspect | Left-click subject or UI control |
| Add/remove selection | Shift + left-click or Shift + drag-select |
| Move / attack | Right-click ground / hostile target |
| Control group | Ctrl + 1–9 assign; 1–9 recall |
| Pan / rotate / zoom | WASD or edge pan; Q/E or RMB-drag rotate; wheel zoom |
| Slash / Fireball | Z / X with eligible Hero selected |
| Accept Quest | Pointer action in Quest panel |
| Start / cancel job | Pointer action in Building panel |
| Learn / equip / deploy | Pointer action on selected Scroll, item, or target |
| Close contextual panel | Escape or panel close control |
Remapping and complete keyboard-only screen navigation are deferred.
Buildings and Placement
- The scenario provides one instance of every required Building, ready for placement.
- Buildings are placed at no Resource cost on clearly marked valid pads. Placement previews show valid and invalid states.
- Placement is immediate. Buildings cannot overlap, block required routes, be sold, destroyed, or repositioned after confirmation.
- There are no workers, construction timers, population requirements, upkeep costs, or demolition economy.
- Resource, Processing, and Crafting Buildings remain usable while the player commands units elsewhere.
| Building | Count | Role | Supported work |
|---|---|---|---|
| Iron Mine | 1 | Resource | Generate Iron Ore |
| Forestry Lot | 1 | Resource | Generate Timber |
| Thatch Field | 1 | Resource | Generate Thatch |
| Forge | 1 | Processing | Smelt Ingot; Forge Steel Blade |
| Sawmill | 1 | Processing | Saw Plank; Form Hilt |
| Ropery | 1 | Processing | Twist Rope |
| Workshop | 1 | Crafting | Iron Sword; T1 Leather Armor; T2 Metal Armor; Morale Flag |
Every Building is dedicated to the listed role. Its one-job limit applies across all Recipes it supports.
Resource Generation and Processing
- All Resources and intermediate materials occupy shared global Mythical Storage and transfer instantly.
- Resource Buildings each add
1configured raw Resource every10 secondswhile active. - A Building performs at most one job at a time; different Buildings may operate concurrently.
- Every Processing job and Craft lasts
30 seconds. - Starting a job commits its inputs immediately. Cancelling returns every committed input and clears any reserved Inventory slot.
- Every Baseline Recipe produces one output and consumes the quantities shown in the canonical production table.
- The Baseline begins with
2 Iron Ore,2 Timber, and2 Thatch; all other quantities begin at zero. - Every placed Building displays its name, operational role, and current state. Resource Buildings show active generation and time until the next output.
- Processing and Crafting interfaces expose a visible
Cancelaction whenever a job is active.
Canonical Production Content
Timber is the canonical name for the raw wood Resource previously described as trees or logs.
| Stage | Recipe or source | Input | Output | Destination |
|---|---|---|---|---|
| Resource | Iron Mine | 10 seconds | 1 Iron Ore | Mythical Storage |
| Resource | Forestry Lot | 10 seconds | 1 Timber | Mythical Storage |
| Resource | Thatch Field | 10 seconds | 1 Thatch | Mythical Storage |
| Hunt | Deer | Defeat 1 Deer | 1 Leather | Mythical Storage |
| Process | Smelt Ingot | 1 Iron Ore | 1 Iron Ingot | Mythical Storage |
| Process | Forge Steel Blade | 1 Iron Ingot | 1 Steel Blade | Mythical Storage |
| Process | Saw Plank | 1 Timber | 1 Plank | Mythical Storage |
| Process | Form Hilt | 1 Plank | 1 Hilt | Mythical Storage |
| Process | Twist Rope | 1 Thatch | 1 Rope | Mythical Storage |
| Craft | Iron Sword | 1 Steel Blade + 1 Hilt | 1 Iron Sword | Inventory |
| Craft | T1 Leather Armor | 1 Rope + 1 Leather | 1 T1 Leather Armor | Inventory |
| Craft | T2 Metal Armor | 1 T1 Leather Armor + 1 Iron Ingot | 1 T2 Metal Armor | Inventory |
| Craft | Morale Flag | 1 Leather + 1 Plank | 1 Morale Flag | Inventory |
The Steel Blade name is a fantasy crafting label, not a separate steel-production simulation. The chain deliberately abstracts alloying.
Economy Tempo
Earliest-completion targets assume every Building is placed at session start, starting Resources are used immediately, Leather is acquired within 30 seconds, and the named branches run concurrently. They are tuning targets, not guaranteed player times.
| Final good | Required path | Parallel work | Nominal earliest target | Steady cadence with inputs stocked |
|---|---|---|---|---|
| Iron Sword | Forge: Ore → Ingot → Blade; Sawmill: Timber → Plank → Hilt; Workshop: Sword | Forge and Sawmill branches | 90 s | 60 s |
| T1 Leather Armor | Ropery: Thatch → Rope; hunt Leather; Workshop: T1 Armor | Rope and Leather acquisition | 60 s | 30 s |
| T2 Metal Armor | T1 path; Forge: Ore → Ingot; Workshop: T1 then T2 Armor | Forge, Ropery, and Leather acquisition | 90 s | 60 s |
| Morale Flag | Sawmill: Timber → Plank; hunt Leather; Workshop: Flag | Plank and Leather acquisition | 60 s | 30 s |
The Workshop is the final-output bottleneck. Producing a mixed sequence may delay these independent earliest targets; the HUD exposes that tradeoff through its single active Workshop job.
Inventory and Equipment
- Inventory has exactly
10slots and stores Crafted Goods only. - Starting a Craft requires and reserves one empty slot. A full Inventory blocks the Craft before inputs are committed.
- Slot states are empty, reserved, occupied, focused, equipped, and ineligible.
- Equipped items remain represented in their Inventory slots.
- A unit has one Weapon slot and one Armor slot. Sword and Armor bonuses stack additively with one Flag bonus; multiple Flag bonuses do not stack.
- An Iron Sword equips to any melee unit and raises maximum HP by
5%of base HP; it does not increase damage. - T2 Metal Armor equips only to a Soldier and raises maximum HP by
10%of base HP. - Equipping an HP item increases current and maximum HP by the same amount. Removing it removes the maximum bonus and clamps current HP to the new maximum, never below
1for a living unit. - T1 Leather Armor is a crafting input only in Baseline and cannot be equipped.
- Starting T2 Metal Armor requires one unequipped T1 Leather Armor in Inventory. Starting the Craft consumes that item, frees its slot, and reserves the same slot for the T2 output; cancellation restores the T1 item to that reserved slot.
Morale Flag
- A Morale Flag deploys on valid ground within
6 mof the selected Soldier. - It creates a visible
10 mradius for10 seconds. - Soldiers inside receive
+5%base maximum HP; the effect does not stack. - Entering the radius applies the bonus; leaving or expiration removes it under the same HP-clamping rule as equipment.
- Percentage HP bonuses are calculated independently from base HP, rounded to the nearest whole number with
.5rounded up, then added. Sword/Armor and one Flag bonus may coexist; only multiple Flag bonuses are non-stacking. - The aura, affected units, and remaining duration are always visible.
- Expiration removes the Flag with no salvage.
- Morale is a positive tactical reward; neglecting it never creates a penalty.
Combat and Unit Defaults
Units move after a move command and automatically perform basic attacks after an attack command. They continue attacking a valid target until it dies, leaves pursuit range, or the player issues another command. These are tunable first-playable defaults (Assumption A1), not balance claims.
| Unit | Count | Base HP | Basic damage | Attack interval | Range | Move speed |
|---|---|---|---|---|---|---|
| Melee Hero | 1 | 120 | 20 | 1.2 s | 1.5 m | 4.0 m/s |
| Spellcasting Hero | 1 | 90 | 14 | 1.5 s | 8 m | 4.0 m/s |
| Soldier | 3 | 100 | 15 | 1.2 s | 1.5 m | 3.5 m/s |
| Monster | 10 | 60 | 10 | 1.5 s | 1.5 m | 3.0 m/s |
| Deer | 3 | 20 | 0 | — | — | 2.5 m/s |
| Unit | Battlefield role | Valid basic targets | Sword | T2 Armor | Flag | Skill |
|---|---|---|---|---|---|---|
| Melee Hero | Durable front line | Monsters, Deer | Yes | No | No | Slash |
| Spellcasting Hero | Fragile ranged support | Monsters, Deer | No | No | No | Fireball |
| Soldier | Regular melee force | Monsters, Deer | Yes | Yes | Yes | None |
| Monster | Hostile melee pressure | Player units | No | No | No | None |
| Deer | Fleeing Leather source | None | No | No | No | None |
Baseline intentionally has no counter triangle. Roles differ through range, durability, equipment eligibility, skill access, and economic purpose.
- Damage is deterministic and reduces current HP directly; Baseline has no armor mitigation, critical hits, misses, resistances, healing, or regeneration.
- Units cannot collide into the same occupied space and navigate around placed Buildings.
- Defeated units are removed from combat and drop no equipment. Deer transfer Leather directly to Storage.
- On player-unit defeat, equipped items and learned/equipped Skills persist; temporary Flag effects end for that unit. After
10 seconds, the unit returns at the marked starting area with full HP. - If the entire player force falls, engaged Monsters return to their encounter origins, clear aggro, and restore full HP. Monster defeats already earned remain defeated, and Quest credit persists.
Hero Skills and Scrolls
- Two designated Monsters each drop one visible Skill Scroll: Slash or Fireball.
- Left-click selects a Scroll; the
Learnaction permanently teaches it to its eligible Hero for the session. Duplicate Scrolls do not exist. - A learned skill must be equipped in its Hero’s single skill slot before use. Learned and equipped states are distinct and visible.
- Slash: Melee Hero;
Z; 2 m, 90-degree frontal arc; deals105%of base damage to affected Monsters;5-secondcooldown. - Fireball: Spellcasting Hero;
X; target point within8 m;2 mimpact radius; deals105%of base damage to affected Monsters;8-secondcooldown. - Ability targeting previews range and area. Invalid targets do not consume the cooldown.
Quests
- Aggressive Quest: Defeat
10 Monsters. - Production Quest: Craft
1 T2 Metal Armor. - Both Quests are available from session start. The player accepts each independently from the Quest panel.
- Session counters record Monster defeats and completed T2 Metal Armor from launch. On acceptance, a Quest initializes from its corresponding session counter, so qualifying events that occurred earlier are never lost.
- Progress updates immediately from Monster defeat and Craft completion.
- Completion produces a transient popup that names the result and returns focus to world interaction. The Quest tracker then retains a completed state. Completion grants no Resource, item, stat, or unlock reward.
- Quest states are
available → active → complete. A Quest cannot repeat or reset during the session and does not imply exclusivity or a correct play order.
Strategy-Specific Design
Resource Systems
- The economy contains three passively generated raw Resources, Leather from Deer, five processed intermediates, and four final Crafted Goods.
- Scarcity comes from elapsed production time, one-job-per-Building concurrency, Inventory capacity, and a fixed Deer population—not from currency or transport.
- The shared pool is intentionally magical and instantaneous. Physical logistics are outside the experiment.
- Material overlap binds the demonstrations into one economy: Iron supports sword and armor; Leather supports armor and morale; Timber supports sword and morale.
- The first Baseline does not prove a forced economic tradeoff. Any later scarcity or pressure mechanism requires a separately evaluated extension.
Unit Types and Roles
- Melee Hero: Durable front-line actor and sole Slash user; eligible for the Iron Sword.
- Spellcasting Hero: Fragile ranged actor and sole Fireball user; not eligible for the Iron Sword.
- Soldier: Regular melee unit; eligible for Sword, T2 Metal Armor, and Morale Flag effects.
- Monster: Simple hostile melee opponent and source of the two Skill Scrolls.
- Deer: Neutral Leather source that flees nearby combatants but never attacks.
- The Baseline has no recruitment, unit production, formations, counter triangle, experience levels, or permanent character progression.
Technology and Progression
- Progression is material and experiential rather than a technology tree.
- Raw Resources unlock processed intermediates; intermediates unlock Crafted Goods; Crafted Goods alter combat; Monster drops unlock Hero skills.
- Earlier materials and goods remain relevant by becoming inputs to later Recipes, particularly T1 Leather Armor becoming part of T2 Metal Armor.
- There is no research currency, era structure, building upgrade, profession rank, or content gate.
Map and Terrain
- One compact, mostly flat, fully visible fantasy sandbox contains a Building zone, a nearby Deer zone, and two Monster encounter groups of five.
- Valid Building pads preserve movement routes and keep the full production chain within one camera neighborhood.
- The nearer Monster group supports early aggression; the farther group gives production time to mature without imposing a timer.
- Terrain provides visual separation only. There are no movement modifiers, elevation bonuses, water rules, fog of war, resource capture points, hidden areas, or minimap.
- The camera can frame each zone clearly at the supported zoom limits.
AI Opponent
- Monsters idle within encounter zones, acquire the nearest player unit within
6 m, and pursue up to10 mfrom their origin before returning. - Monsters focus their current target until it becomes invalid; they do not coordinate, retreat, use abilities, attack Buildings, gather Resources, or cheat.
- Deer flee directly away from a player unit within
5 mand stop after reaching8 mseparation or a navigation boundary. - Baseline has one AI behavior profile and no difficulty selector.
Victory Conditions
- There is no scenario victory or defeat state, score, time limit, surrender, or enemy base.
- Quest completion and encounter resolution are progress signals, not terminal conditions.
- Detailed encounter and recovery behavior is defined under Combat; neither ends the session. This deliberate openness lets Tim inspect systems after completing the contracted loop.
Progression and Balance
Player Progression
Session progression has three visible layers:
- Economic: Raw Resources → intermediates → Crafted Goods.
- Tactical: Base force → HP bonuses, temporary area bonus, and Hero skills.
- Evaluative: Initial experimentation → both Quest acknowledgments → creator continue/stop judgment.
No state persists between launches in Baseline.
Difficulty Curve
- The first five-Monster encounter is reachable
15–25 secondsafter launch if the player advances immediately and demonstrates the unprepared force. - Production continues during combat, allowing an early attacker to return to completed work.
- The second five-Monster encounter is
20–30 secondsof unit travel beyond the starting area, remains avoidable while production runs, and provides the comparison surface for equipment and skills. - The first Iron Sword and T2 Metal Armor each target earliest availability at
90 seconds; the full two-Quest evaluation loop targets6–10 minutesfor a player who understands the controls. - The PoC is tuned for comprehension and comparison, not demanding challenge. Exact values change only with a recorded reason and another end-to-end pass.
Economy and Resources
- Starting Resources allow immediate Processing while passive generation teaches the cadence.
- A complete Iron Sword requires two sequential Forge jobs, two sequential Sawmill jobs, and one Workshop Craft; its two material branches can run concurrently.
- A complete T2 Metal Armor requires Rope and Iron Ingot Processing plus sequential T1 and T2 Workshop Crafts; its material branches can run concurrently.
- The ten-slot Inventory comfortably holds Baseline outputs but still validates reservation and full-capacity blockers.
- No Resource cap, currency, upkeep, market, refund loss, or passive consumption exists.
Level Design Framework
Level Types
- Baseline sandbox: The only required level; integrates every production, combat, loot, and Quest mechanic.
- Separate tutorials, missions, challenge maps, menus, and metagame spaces are outside Baseline.
Level Progression
- The level spatially teaches from safe production pads toward Deer and then two Monster groups.
- World labels identify Building roles and major zones.
- Initial sightlines expose all goals without requiring exploration or fog-of-war discovery.
- Routes remain wide enough for five selected player units and do not depend on advanced formation behavior.
Art and Audio Direction
Art Style
- Use a restrained old-school fantasy command-table aesthetic: dark forged-iron panels, parchment details, muted brass focus, and explicit modern state colors.
- Placeholder geometry and labeled Building forms are acceptable and preferred over premature asset production.
- Visual hierarchy prioritizes blockers and causality, then strategic state, anticipation, and transient confirmation.
- Reference palette: panel
#24272A, raised panel#303338, parchment#D8C9A5, primary text#F1E8D2, brass#C19A50, positive#78A96B, warning#D49A52, negative#C7655C, progress#70A6B8, focus#F2C96D. - Serif headings, sans-serif body text, and fixed-width changing numerics support the workshop/command-table tone.
- Final models, extensive animation, ornate decoration, and a commercial visual identity are not required.
Audio and Music
- Audio is not required for Baseline. Actions, blockers, completions, damage, drops, and effects remain fully understandable without sound.
- Functional sound cues may be added after the complete visual loop is stable; music, voice-over, adaptive scoring, and final mixing remain outside Baseline.
Accessibility Floor
- UI scales with supported window changes without hiding critical state.
- Screen UI maintains visible focus wherever keyboard operation is provided; complete keyboard-only navigation and remapping are deferred.
- State is never communicated by color alone; icons and text labels accompany status colors.
- Nonessential motion is restrained; a dedicated reduced-motion setting is deferred.
- Effects, values, timers, and blockers remain persistent long enough to inspect.
- Remapping, assistive-technology certification, localization, and a full settings suite are deferred.
Technical Specifications
Performance Requirements
- Sustain
60 FPSon Tim’s development PC at the1600×900reference layout during a ten-minute loop with all Buildings working and all units active. - Record the reference PC’s CPU, GPU, RAM, Windows version, build profile, and profiling method with the result. Using the same method over the ten-minute workload, pass requires an average of at least
60 FPSand a1% lowof at least55 FPS. - Memory and loading-time targets are not gates for this local PoC unless measurement reveals a play-blocking problem.
- Complete three consecutive end-to-end sessions without a blocker, corrupted state, or need to inspect or change state outside the game surface.
Platform-Specific Details
- Engine target: Unity.
- Platform: local-only Windows desktop, keyboard and mouse.
- Reference layout:
1600×900; other supported window sizes are established through playtesting rather than fixed by the mockups. - The UI must tolerate window resizing without hiding Mythical Storage, selected context, active Quest progress, or active job timers.
- No accounts, networking, telemetry dependency, controller support, mobile, console, handheld, or VR adaptation.
- No save/load system is required; launching begins a fresh Baseline session.
Asset Requirements
- One compact sandbox environment with three readable zones.
- Three Resource Building identities, Processing and Crafting Building identities sufficient for every Recipe, and placement-pad visuals.
- Five player-unit representations, ten Monster instances, three Deer, two Scrolls, four Crafted Goods, and one Morale Flag with visible radius.
- UI assets for ten Inventory slots, Storage, Recipe states, timers, Quest trackers, selection details, health, damage source, effects, blockers, and confirmations.
- Placeholder meshes, simple animation, and clear labels are acceptable whenever they preserve causal readability.
Canonical Requirement Register
This register is the sole authoritative source for every Baseline requirement’s identity, canonical order, and normative meaning. Supporting sections elsewhere in this GDD provide the referenced tables and additional design context. Generated assessments may quote or group these requirements as remediation evidence, but they do not define, reorder, renumber, or reinterpret them.
- GFR-001: The player can inspect Mythical Storage, active Quests, units, and the compact map.
- GFR-002: The player can place available Buildings on clearly marked valid pads at no Resource cost; previews show validity, placement is immediate, and confirmed Buildings cannot overlap, block required routes, be sold, destroyed, or repositioned.
- GFR-003: The scenario provides one Iron Mine, Forestry Lot, Thatch Field, Forge, Sawmill, Ropery, and Workshop, each dedicated to its listed role and Recipes.
- GFR-004: Resource, Processing, and Crafting Buildings remain usable while the player commands units elsewhere.
- GFR-005: Left-click selects one unit, Building, Recipe, item, Quest, Scroll, or target.
- GFR-006: Left-drag box-selects player units, and Shift adds or removes click/drag selections.
- GFR-007: Right-click issues contextual movement on ground or attack against a hostile target.
- GFR-008: Ctrl+1–9 assigns control groups and 1–9 recalls them.
- GFR-009: WASD or screen-edge movement pans; Q/E or right-mouse drag rotates; the wheel controls bounded zoom.
- GFR-010: Escape or the panel close control closes the contextual panel.
- GFR-011: Invalid actions mutate no state and identify both blocker and remedy.
- GFR-012: Mythical Storage is a shared global pool with instantaneous Resource/intermediate transfer.
- GFR-013: Each active Resource Building adds one configured raw Resource every 10 seconds.
- GFR-014: A fresh Baseline starts with 2 Iron Ore, 2 Timber, and 2 Thatch and zero of every other quantity.
- GFR-015: Each Building performs at most one job across its Recipes; different Buildings may work concurrently.
- GFR-016: Every Processing job and Craft lasts 30 seconds.
- GFR-017: Starting commits all inputs immediately; cancellation returns every committed input and clears any reserved Inventory slot.
- GFR-018: Every placed Building shows name, role, and state; Resource Buildings additionally show generation and time to next output.
- GFR-019: Active Processing and Crafting interfaces expose a visible Cancel action.
- GFR-020: Iron Mine, Forestry Lot, and Thatch Field respectively produce 1 Iron Ore, Timber, or Thatch every 10 seconds.
- GFR-021: Defeating one Deer transfers 1 Leather directly to Mythical Storage.
- GFR-022: Smelt Ingot converts 1 Iron Ore to 1 Iron Ingot, and Forge Steel Blade converts 1 Iron Ingot to 1 Steel Blade.
- GFR-023: Saw Plank converts 1 Timber to 1 Plank; Form Hilt converts 1 Plank to 1 Hilt; Twist Rope converts 1 Thatch to 1 Rope.
- GFR-024: Iron Sword consumes 1 Steel Blade and 1 Hilt; T1 Leather Armor consumes 1 Rope and 1 Leather; T2 Metal Armor consumes 1 T1 Leather Armor and 1 Iron Ingot; Morale Flag consumes 1 Leather and 1 Plank; each produces exactly one Inventory output.
- GFR-025: Inventory has exactly 10 slots and stores Crafted Goods only.
- GFR-026: Craft start reserves one empty slot before inputs commit; a full Inventory rejects the Craft without committing inputs.
- GFR-027: Inventory represents empty, reserved, occupied, focused, equipped, and ineligible states; equipped items remain in their slots.
- GFR-028: Each unit has one Weapon and one Armor slot.
- GFR-029: Iron Sword equips to any melee unit, adds 5% of base maximum HP, and does not change damage.
- GFR-030: T2 Metal Armor equips only to a Soldier and adds 10% of base maximum HP; T1 Leather Armor is crafting-only.
- GFR-031: Equipping an HP item raises current and maximum HP equally; removal lowers maximum HP and clamps current HP to the new maximum, never below 1 for a living unit.
- GFR-032: T2 Craft consumes an exact unequipped T1 Armor, reserves its same slot, fills that slot on completion, and restores the exact T1 instance there on cancellation.
- GFR-033: Morale Flag deploys only on valid ground within 6 m of the selected Soldier.
- GFR-034: A deployed Flag creates a visible 10 m radius for 10 seconds and grants Soldiers inside +5% base maximum HP without stacking.
- GFR-035: Entering applies the Flag bonus; leaving or expiration removes it using the shared HP-clamping rule; expiry removes the Flag without salvage.
- GFR-036: Each percentage HP modifier is independently calculated from base HP, rounded half up, then summed; Sword/Armor and one Flag coexist, but multiple Flags do not stack.
- GFR-037: Flag aura, affected units, and remaining time stay visible; absence of Morale creates no penalty.
- GFR-038: A fresh session supplies the specified Melee Hero, Spellcasting Hero, three Soldiers, ten Monsters, and three Deer with the GDD’s exact stats.
- GFR-039: Units execute commanded movement and automatically attack at configured intervals until the target dies, leaves pursuit range, or another command supersedes it.
- GFR-040: Actor targeting, Sword, Armor, Flag, and Skill eligibility follows the canonical unit-role table.
- GFR-041: Damage is deterministic and directly reduces HP; there is no mitigation, critical hit, miss, resistance, healing, or regeneration.
- GFR-042: Units cannot share occupied space and navigate around placed Buildings.
- GFR-043: Defeated units leave combat and drop no equipment; defeated Deer transfer Leather to Storage.
- GFR-044: Defeated player units retain equipment and learned/equipped Skills, lose temporary Flag effects, and return after 10 seconds at the start with full HP.
- GFR-045: On full-party defeat, surviving engaged Monsters return, clear aggro, and restore full HP; defeated Monsters remain defeated and Quest credit persists.
- GFR-046: Monsters acquire the nearest player unit within 6 m, leash at 10 m, focus until invalid, and otherwise return; they do not coordinate, retreat, use abilities, attack Buildings, gather, or cheat.
- GFR-047: Deer flee from a player unit within 5 m until 8 m separation or a navigation boundary and never attack.
- GFR-048: Two designated Monsters each drop one visible unique Scroll: Slash or Fireball.
- GFR-049: Learn permanently teaches the eligible Hero for the session; learned and equipped are distinct visible states, and a learned Skill occupies the Hero’s single skill slot before use.
- GFR-050: Slash belongs to the Melee Hero on Z, covers a 2 m 90-degree frontal arc, deals 105% base damage to Monsters, and has a 5-second cooldown.
- GFR-051: Fireball belongs to the Spellcasting Hero on X, targets within 8 m, affects a 2 m radius, deals 105% base damage to Monsters, and has an 8-second cooldown.
- GFR-052: Ability targeting previews range/area; invalid targets do not consume cooldown, and buttons display hotkeys.
- GFR-053: Aggressive Quest requires 10 Monster defeats; Production Quest requires completion of 1 T2 Metal Armor.
- GFR-054: Both Quests are available at launch and independently accepted from the Quest panel.
- GFR-055: Launch-time session counters retain qualifying Monster defeats and T2 completions; acceptance initializes progress from the corresponding counter.
- GFR-056: Quest progress updates immediately from committed Monster defeat or Craft completion.
- GFR-057: Quest completion shows a transient named popup, returns world focus, leaves a persistent completed tracker, and grants no material/stat/unlock reward.
- GFR-058: Quest state is available → active → complete; it cannot repeat/reset and implies neither exclusivity nor prescribed order.
- GFR-059: The sandbox and resolved encounters remain non-terminal, with no formal victory, defeat, deadline, score, surrender, forced reset, enemy base, or terminal screen.
- GFR-060: One compact, flat, visible sandbox contains a Building zone, nearby Deer zone, and two five-Monster encounter zones; pads preserve routes and keep production within one camera neighborhood.
- GFR-061: The nearer Monster group supports early aggression while the farther group provides production time without imposing a timer.
- GFR-062: Terrain is visual separation only and supplies no modifiers, elevation bonus, water rules, fog, capture points, hidden areas, or minimap.
- GFR-063: World labels identify Buildings and zones, and routes accommodate five selected units without advanced formation behavior.
- GFR-064: Production, blockers, inputs, timing, reserved destinations, Inventory delivery, effects, Combat outcomes, and Quest state are visible without development tools.
- GFR-065: Player-visible mutations communicate exact causes and before/after values where relevant.
- GFR-066: Every Recipe produces one output using the canonical table and
Timberas the canonical raw-wood name. - GFR-067: Workshop is the single-active-job final-output bottleneck, and the HUD exposes mixed-sequence tradeoffs.
- GFR-068: Production continues during Combat and unit commands while compact active timers remain visible.
- GFR-069: The player-facing journey supports production → Inventory → equip/use/deploy → Combat/Quest consequence and both Quest paths.
- GFR-070: Launch begins a fresh session; durable state survives defeat but nothing persists between launches.
- GFR-071: The complete loop remains understandable without audio.
- GFR-072: UI covers ten Inventory slots, Storage, Recipes, timers, Quests, selection, health, damage source, effects, blockers, and confirmations.
- GFR-073: Three consecutive end-to-end sessions complete without blocker, corruption, or external state intervention.
- GFR-074: Every tuning change records value and rationale; core-journey changes trigger another end-to-end test.
- GFR-075: Before extension implementation, an Extension Milestone records hypothesis, smallest scope, success criteria, counter-metrics, and Baseline relationship.
- GNFR-001: The Windows development build averages at least 60 FPS with a 1% low of at least 55 FPS on Tim’s PC at 1600×900 during the documented ten-minute all-Buildings/all-units workload.
- GNFR-002: Performance evidence records CPU, GPU, RAM, Windows version, Unity/build profile, profiling method, and workload; Editor FPS is not acceptance evidence.
- GNFR-003: Memory and load time are gates only when measurement exposes a play-blocking issue.
- GNFR-004: Baseline targets local-only Windows desktop with Unity, keyboard, and mouse.
- GNFR-005: The 1600×900 reference UI supports resizing without hiding Storage, selection, active Quest progress, or active job timers.
- GNFR-006: Essential information never exists only on hover or through color; text/icons accompany state colors.
- GNFR-007: Keyboard-operable screen controls maintain visible focus.
- GNFR-008: Effects, values, timers, and blockers remain inspectable, with restrained nonessential motion.
- GNFR-009: Supported camera zoom limits keep each major zone readable.
- GNFR-010: Placeholder geometry, animation, and labels are acceptable only when causal readability is preserved.
- GNFR-011: The experiment remains compact and tunable enough for one bounded extension without rewriting core systems.
- GNFR-012: Encounter and journey timing target 15–25 seconds to the first encounter, 20–30 additional travel seconds to the second, 90 seconds earliest Sword/T2 Armor, and 6–10 minutes for the understood full loop.
- GNFR-013: First-playable tuning remains lightweight to adjust without changing player-facing rules and is not presented as final balance.
- GNFR-014: The experience supports comprehension → anticipation → agency → payoff without prescribing aggression-first or production-first.
- GNFR-015: Three consecutive end-to-end sessions complete without blockers, corruption, or external state intervention.
Any future GDD change appends a new ID or explicitly retires an old one; it never reuses, merges, renumbers, or silently changes an existing ID.
Development Epics
Detailed scope and high-level stories live in epics.md.
| Sequence | Epic | Player-visible outcome |
|---|---|---|
| 1 | Play Space and Interaction | The player can navigate, select, command, and place required Buildings. |
| 2 | Mythical Storage and Production | Resources generate and become intermediates through visible timed jobs. |
| 3 | Crafting, Inventory, and Equipment | Recipes reserve slots and deliver usable tactical goods. |
| 4 | Units, Combat, and Morale | The force fights Monsters and crafted effects visibly change results. |
| 5 | Loot, Hero Skills, and Quests | Scrolls unlock abilities and both Quest paths track to completion. |
| 6 | UX, Accessibility, and Feedback | The whole loop is readable, operable, and communicates every blocker. |
| 7 | Baseline Evaluation and Stabilization | Tim completes repeated loops and makes an evidence-based continue/stop decision. |
Epic 6 is a cross-cutting track: it starts with Epic 1, supplies the communication contract for Epics 2–5, and completes after their integrated states exist.
Success Metrics
Technical Metrics
- Three consecutive end-to-end sessions complete without a blocker or external state intervention.
- The ten-minute stress loop sustains the stated performance target.
- Every refused action leaves state unchanged and explains the blocker and remedy.
- Every tuning change records its value and reason; changes affecting the core journey trigger an end-to-end retest.
Gameplay Metrics
- Tim completes the full production → Inventory → equip/use/deploy → combat/Quest journey.
- Tim can explain exactly what the Iron Sword, T2 Metal Armor, and Morale Flag changed.
- Tim can describe the perceived difference between immediate aggression and production-first preparation without the UI implying a correct route.
- Tim wants to play or build another loop and can name the next learning goal.
- One bounded extension appears sustainable without rewriting the Baseline’s core systems.
- Before implementation, an Extension Milestone records its hypothesis, smallest scope, success criteria, counter-metrics, and relationship to the Baseline.
- Failure evidence is valid: scope growth, mandatory-feeling crafting, unreadable causality, premature balance claims, or technical completion without motivation all support a stop or rethink decision.
Out of Scope
Baseline Exclusions
- Workers, warehouses, routes, hauling, physical transfer, deep logistics, automation, orders, queues, and throughput networks.
- Building costs, construction workers, recruiting, population, upkeep, currency, markets, enemy economy, and technology trees.
- Multiplayer, online services, accounts, monetization, analytics services, and commercial launch systems.
- Save/load, restart flows, title/options suites, broad onboarding, formal difficulty modes, and external Baseline playtesting.
- Broad maps, narrative campaigns, exploration systems, enemy/building/item/Quest breadth, final art, extensive animation, and production-grade balance.
- Profession restrictions, magical armor, enchanting, deep combat stats, punitive morale, Flag stacking, salvage, and expanded equipment slots.
- Mechanically forced aggression-versus-investment pressure.
Post-Baseline Candidates
- A single scarcity, pressure, or reward-choice extension that creates genuine opportunity cost.
- External observed playtests after creator validation.
- Additional production depth, research, automation, logistics, or content only after a separate continue decision.
Nothing in the protected Baseline validation coverage is removed merely for schedule convenience. Any proposed phasing preserves an end-to-end evaluable loop.
Assumptions and Dependencies
Dependencies
- Combat health and effect feedback must exist before equipment can prove causal payoff.
- Inventory reservation must exist before Craft start can be considered reliable.
- Monster defeat events feed both Scroll drops and the Aggressive Quest.
- Craft completion feeds Inventory delivery and the Production Quest.
- Leather acquisition supports both armor and Morale production.
- Baseline evaluation depends on every contracted system being accessible from the game surface.
Assumptions
- Tim’s development PC is the Baseline performance reference machine.
- Placeholder audiovisual assets are acceptable when state remains clear.
- The delegated UX palette and layout direction are accepted for the PoC but are not a final product identity.
- Exact camera zoom limits require playtesting within the constraint that every zone remains readable.
- A1 — First-playable tuning: Initial stats, ranges, cooldowns, AI radii, encounter timing, and starting Resources are tunable defaults selected for validation rather than balance claims.
- Tuning values should remain lightweight to adjust without changing player-facing rules.
Open Questions
- What exact bounded extension, if any, should follow a successful Baseline evaluation?
- Should external playtesting follow creator validation, and what evidence would justify it?
