Home Entities, Movement & Attributes

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 via yaw
  • 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 reveal360° 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.target examples: 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 + valid yaw from 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.