Entities, Movement, Placement & Attributes
1. Summary
All actors share one unified NPC model (19) — players are special-cased; monsters, townsfolk, workers, and wildlife are all npc_instances from YAML definitions.
Actors exist in the global world at (x, y, z) with orientation on the horizontal plane. Movement uses 360° facing and velocity; FOV and movement speed are first-class attributes modified by equipped item instances, skills, and effects.
No BiS gear chase — each player assembles a unique inventory of instances (18).
Attributes split into primary (core stats), derived (computed from primaries + gear), and resource pools (HP, stamina, mana). A unified modifier system (08) applies to attributes, skills, and item properties.
2. Placement & orientation
2.1 World position
struct Transform {
position: WorldCoord, // x, y, z, w, t
yaw: f32, // facing, radians or degrees 0–360° (server canonical)
pitch: f32, // optional: look up/down, climb, fly (default 0)
}
- Server authoritative — clients send intent; sim integrates position
- z from world strata (
01): surface, underwater, underground, sky
2.2 Facing vs movement direction (decided)
| Concept | Field | Meaning |
|---|---|---|
| Facing | yaw |
Where the model/intent “front” points — attacks, interactions, FOV cone center |
| Movement direction | velocity (vx, vy) or move_yaw |
Where the body is actually going |
They differ when strafing, backing up, knockback, sliding, mounted:
facing (yaw) ──►
┌───┐
│ P │──► velocity (may be 45° off while strafing)
└───┘
- Move intent:
(forward, strafe)in local space → world velocity viayaw - Network: replicate
position,yaw,velocity(or last intent) @ tick rate in AOI (06) - NPC behavior — controllers set
move_yaw/yaw(19§8)
2.3 Rotation for items & objects
| Object kind | Placement |
|---|---|
| Dropped item | x,y,z + yaw (flat on ground); optional pitch for slopes |
| Placed furniture / stall | Full yaw; snap to grid optional per item template |
| Projectiles | yaw + pitch for trajectory |
| Corpse | yaw at death facing |
Items use single yaw by default (degree value on instance or template default). Structures may lock rotation to 90° steps if authored — template flag rotation_snap: 90.
2.4 Omnidirectional world vs FOV
- Cartography / map reveal — 360° around character (
06) — exploration is not cone-limited - Combat detection, stealth, “see NPC” — FOV cone from
yaw±fov/2(attribute) - Hearing — sphere (radius attribute), ignores FOV unless muffled
This split avoids tunnel vision on the map while keeping tactical facing matter.
3. Movement attributes
| Attribute | Role |
|---|---|
move_speed_walk |
Base m/s on foot |
move_speed_run |
Sprint; drains stamina |
move_speed_swim |
Underwater (01 strata) |
move_speed_fly |
Sky band when flight allowed |
move_speed_climb |
Vertical surfaces |
acceleration |
How fast velocity reaches target |
turn_rate |
Degrees/sec — how fast yaw catches desired facing |
encumbrance_factor |
From carry mass vs Strength — multiplies speeds |
All modifiable via buffs, terrain, zones, mounts.
4. Primary attributes (core stats)
Six primaries plus Charisma at launch are the main inputs to derived stats and skill checks. Internal scale 1–1000; UI displays 1–100. Skills use 10 achievable tiers (configurable breakpoints).
| Attr | Code | Typical uses |
|---|---|---|
| Strength | STR |
Carry mass (08), melee damage, knockback, bash, mining power |
| Dexterity | DEX |
Ranged accuracy, dodge, lockpick, fine crafting, attack speed (light weapons) |
| Intelligence | INT |
Spell damage, mana pool, recipe complexity, identification, magical crafting |
| Stamina | STA |
Stamina pool size, run duration, fatigue resistance, gathering endurance |
| Vitality | VIT |
Health pool, poison/disease resist, breath hold, resurrection penalty recovery |
| Wisdom | WIS |
Mana regen, perception, mental resist, healing received, soul-bind success |
| Charisma | CHA |
NPC prices, faction, stall traffic, aggro soften (10) |
5. Resource pools (secondary)
Full tick rules, hunger/thirst, damage, durability: 15-active-stats-survival-and-damage.html.
| Pool | Regen driven by | Depleted by |
|---|---|---|
| Health (HP) | VIT, rest, food, sleep, magic | Damage; starvation/dehydration |
| Stamina | STA, rest, sleep | Run, dodge, block, combat, overload |
| Mana (MP) | WIS, INT, rest, meditation | Spells, rituals |
| Hunger | Food, food stands | Time, run, combat, cast, biome |
| Thirst | Drink, wells, stands | Time, exertion, combat, biome |
| Breath | VIT | Underwater (01) |
6. Derived combat & perception attributes
Computed each tick from primaries + gear + modifiers; cached until dirty.
6.1 Offense
| Derived | Typical formula driver |
|---|---|
attack_power |
STR + weapon |
spell_power |
INT + implement |
crit_chance |
DEX + luck |
crit_multiplier |
DEX, weapon |
hit_chance |
DEX vs target evasion |
attack_speed |
DEX, weapon weight, weapon skill (12) |
cast_haste |
INT, spell school skill (12) |
cast_mobility_bonus |
INT, WIS — mitigates spell complexity movement penalty (12) |
max_target_slots |
WIS, DEX, Targeting skill, gear — parallel combat target bindings (12) |
armor_pen |
STR, weapon |
6.2 Defense
| Derived | Driver |
|---|---|
armor_physical |
Equipment |
evasion |
DEX |
block_chance |
STR, shield |
parry_chance |
DEX, weapon |
resist_* |
VIT, WIS, gear (fire, cold, lightning, poison, arcane, holy, dark, physical) |
6.3 Perception & awareness
| Derived | Driver | Use |
|---|---|---|
fov |
Base 90°–360°, WIS, gear | Cone of sight for entities (not map fog) |
sight_range |
WIS, DEX, light level | Max distance to see targets in FOV |
hearing_range |
WIS, STA | Detect unseen entities |
stealth |
DEX, armor weight | Reduces chance to be detected |
trap_sense |
WIS, DEX | Interact with hidden objects |
FOV is a stat — e.g. base 120°, eagle helm +15°, blind debuff −80°. Omnidirectional cartography unchanged (06).
7. Physical & survival attributes
| Attribute | Role |
|---|---|
carry_mass_max |
f(STR), modifiers (08) |
hunger / thirst |
Long-term pools; affect STA regen, eventually HP |
temperature_comfort |
Cold/heat biomes (01 zones) |
fall_safe_height |
VIT, STR |
swim_depth_rating |
STA, VIT — pressure in deep ocean |
8. Mental & social (optional depth)
| Attribute | Role |
|---|---|
willpower |
CC duration resist, fear |
luck |
Loot rolls, crit margin, craft proc — hidden from players (server-only displays) |
reputation |
Per faction — not primary, but attribute-like |
morale |
Party buffs, flee threshold for NPCs |
evil |
Unjustified NPC/worker kills; prayer/jail/PvE reduce (14) |
9. Item & object attributes
Every item is a unique instance (18). Templates define schema; rolled stats live on the instance at mint.
9.1 Universal item properties
| Property | Spec |
|---|---|
instance_id |
Global UUID — permanent identity (18) |
mint_source, minted_at, provenance |
Audit trail (18) |
base_mass, base_volume |
Template base; instance may vary slightly via roll |
packable, can_soul_bind, enchantable |
08, 07, 17 |
durability / max_durability |
wear — repair or permanent destroy (15 §8, 18 U6) |
rotation_yaw |
placement §2.3 |
soul_bound |
instance 07 |
quantity |
1 for equipment/meals; splittable lots for ore/coins (18 §4.2) |
9.2 Equipment combat stats (per instance)
| Stat | Weapons / armor |
|---|---|
damage_min, damage_max |
Rolled at mint — two “longswords” differ (18) |
damage_type |
slash, pierce, blunt, elemental |
attack_speed |
weapon base; scaled in combat by skill (12) |
reach |
melee range_max_m base on weapon |
scaling_skill |
weapon skill id for basic attacks (12) |
armor_value |
armor |
resist_* |
armor, jewelry |
stat_bonuses |
+STR, +DEX, … (modifiers) |
fov_modifier |
helmets, masks |
move_speed_modifier |
boots, encumbrance |
9.3 Tools & stations
| Stat | Role |
|---|---|
tool_tier |
Which recipes usable (09) |
tool_speed |
Craft time multiplier |
station_fuel_rate |
forge, kiln |
9.4 Consumables
| Stat | Role |
|---|---|
heal_amount, mana_restore |
potions |
buff_modifiers[] |
food, elixirs — base recipe stats |
enchantments[] |
Optional — extra effects on consume (17 §10.1) |
duration |
temporary effects (base + enchant may stack) |
10. Skills (separate from primaries but linked)
Skills are trained values (0–100+) used for checks and unlocks; often gated by primary minimums. 10 tiers of mastery (display + unlock breakpoints); internal precision on 1–1000 scale.
| Category | Examples |
|---|---|
| Combat | swords, axes, bows, unarmed, blocking, targeting, evocation, restoration, … — each scales related ability attrs (12) |
| Magic | evocation, inscription, soul-bind, enchanting (17) |
| Gathering | mining, logging, fishing, herbalism |
| Crafting | smelting, cooking, weaponsmith (09), essence prep (17) |
| World | cartography (06), riding, swimming |
| Social | trading, haggling (10) |
Skill XP modifies effective skill level; primaries may cap skill training speed.
11. Modifier interaction (recap)
All attributes, derived stats, FOV, and move speeds use the shared modifier model (08 §6):
- Spells, potions, equipment, auras, zone effects, death sickness (
07) Modifier.targetexamples:attr.strength,derived.evasion,move_speed_run,fov,item.mass
Recompute derived cache on equip, buff, or primary change.
12. Server & protocol notes
- Replicate in AOI:
position,yaw,velocity, essential combat state - Interest: entities outside
sight_range∩ FOV may be omitted from combat awareness but region sim still runs AI globally in shard - Placement validation: collision mesh from chunk terrain (
01); reject invalid spawn - Item drop: find floor
z+ validyawfrom dropper facing
13. TUI / agent
flatland status # primaries, pools, key derived
flatland attr list --json
flatland move --forward 1 --strafe 0 # local to facing
flatland face --yaw 270
flatland place item <id> --yaw 45
14. Phasing
| Phase | Scope |
|---|---|
| 1 | Position, yaw, velocity, walk speed |
| 2 | Primaries STR/DEX/INT/STA/VIT/WIS + HP/stamina pools |
| 3 | FOV, sight range, stealth; item yaw on drop |
| 4 | Full combat derived; resist table |
| 5 | Swim/fly/climb speeds per strata; breath |
15. Open questions
Resolved (2026-07-06):
| # | Decision |
|---|---|
| A1 | 1–1000 internal, 1–100 display; skills 10 tiers |
| A2 | Pitch + yaw ranged with LoS (12) |
| Luck | Hidden |
| CHA | At launch |
| Combat | Locked in 12 |
16. Quick reference — attribute families
PRIMARY STR DEX INT STA VIT WIS [CHA]
POOLS HP Stamina Mana Breath
MOVEMENT walk run swim fly climb turn_rate
PERCEPTION fov sight_range hearing stealth
COMBAT attack_power spell_power crit hit evasion armor resists
PHYSICAL carry_max hunger thirst
ITEM mass volume durability damage armor stat_bonuses
SKILL (trained, linked to primaries)
Coordinates & AOI: 06. Carry mass: 08. Death penalties: 07.