Files
UnrealPrototyping/Docs/README.md
T
Moto 0e61a77346 Add comprehensive design and specification documentation (#1)
* Write the Unreal documentation set: design, steps, ideas, decisions and specs

Rewrites the design and engineering docs of the two earlier Unity projects
(Adventurer Guild, Project Malleable) for an Unreal Engine 5 prototype that
builds and proves three things in order: a movement controller, fighting and
crafting. Neither earlier core loop is carried; their ideas are catalogued as
features with what each needs.

- Docs/Design.md: the human summary (pillars, fixed decisions, glossary)
- Docs/Steps.md: a ladder of fifteen proofs, the first six in full
- Docs/Ideas.md: salvaged ideas from both projects, none scheduled
- Docs/Decisions.md: D-01..D-36, open decisions OD-01..OD-08, deferrals
- Docs/Spec/: notation, Architecture, Movement, Interaction, Combat,
  Crafting, Networking, Telemetry, UI, written as Unreal C++ skeletons
- CLAUDE.md and README.md for the repository


* Add the stat block: one attribute set on every body, every influence an effect

Every body (player, enemy, NPC) carries the same UStatBlockAttributeSet, and
every outside influence on it is a gameplay effect: base values, buffs,
debuffs, ground surfaces, carried weight, gear, being downed. Counters are
tags and attributes on the receiver: immunity blocks by tag, resistance
scales by attribute, cleanse removes by tag. Same status from several
sources: strongest wins; different statuses multiply.

- Docs/Spec/Stats.md: the block, effects and their five sources (abilities,
  areas, surfaces, items, the world), stacking, counters, readers, tests
- Movement: the movement component's tagged speed-multiplier map is removed;
  speed is tuning times the MoveSpeed attribute; the ground surface trace
  turns mud into an effect; the gym gets mud and ice patches
- Combat: the attribute set moves to Stats; enemies and kits carry
  FStatBlockDefaults; the funnel reads MagicResist and Immune.Damage tags;
  taunt and mark are statuses
- Interaction: carried weight is GE_Encumbered against CarryCapacity
- Crafting: class bonuses are the WorkSpeed and WorkQuality attributes;
  enchantments may grant a holder effect
- Steps: step 5 builds the block with mud, a volume and an immunity
- Decisions D-37 and D-38; design summary, CLAUDE.md, indexes, worklog
2026-09-15 17:54:00 +03:00

3.1 KiB

Documentation

Two layers, kept apart on purpose.

For people. Short, and meant to be read end to end.

Doc Covers
Design.md What this is, the three things it proves, the fixed decisions, what it is not yet, the glossary. Start here.
Steps.md The ladder of work: fifteen rungs, each closed by a proof. The next few in full, the rest sketched.
Ideas.md The ideas carried over from the two earlier projects as features a world could hold, with what each needs. None scheduled.
Decisions.md One line per decision with a pointer, the open decisions that block steps, and what is deliberately deferred.
Worklog.md One terse line per step closed or wall hit. The memory.

For an implementer that lifts code, which today means Claude. Long, C++-shaped, and meant to be built from.

Doc Covers
Spec/README.md Notation, status markers, the twelve cross-cutting rules every spec obeys. Read before any spec.
Spec/Architecture.md Modules, lifetimes, authority, content, tags, the C++/Blueprint line, testing, conventions, gotchas.
Spec/Stats.md The one stat block every body carries, effects and where they come from, stacking, counters.
Spec/Movement.md The character, the movement component, input, the look model, camera modes, the gym, the feel checklist.
Spec/Interaction.md The one interaction system, carrying, throwing, highlighting.
Spec/Combat.md Attributes, the damage funnel, the swing, enemies, downed and revive, abilities and kits, projectiles.
Spec/Crafting.md Families, parts, pieces, traits, substances, the pure rules, stations, activities, enchanting, the weapon seam.
Spec/Networking.md The authority table, the responsiveness tiers, the posture, sessions, identity, persistence.
Spec/Telemetry.md The sink, the envelope, the catalogue.
Spec/UI.md The HUD, the prompt, the theme, world-space text, localisation, the menu.

Reading order

New here: Design.md, then Steps.md, then Spec/README.md and Spec/Architecture.md. About to build a step: the step's entry in Steps.md, then the spec sections it links. About to decide something: Decisions.md first, to see whether it was already decided or deliberately deferred.

Conventions

  • Version and status live in a document's header where it has one, never in its filename.
  • Links are relative so the folder survives being moved.
  • A spec that turns out wrong in the building is corrected in the same change as the code, under a What was built, and where it differs heading at its end.
  • A decision goes in Decisions.md the moment it is made. Newest first; never delete, supersede.
  • The two earlier projects are referred to by name (Adventurer Guild, Project Malleable) when an idea's origin matters, and not otherwise. Their docs are not copied here; they are in their own repositories.