Nishi Family › Compare › Living NPC Movement, Behaviour and Intelligence
Nishi Compare · measured, not asserted
Living NPC Movement, Behaviour and Intelligence
Nishi vs the field — every Nishi cell is measured against real organ source at emit time; each gap names the watch contract that will close it.
How the beach girls move, decide and remember, measured 2026-08-27 from the served /world/beach page and the engine source against the August-2026 field: UE 5.8 motion matching, Behavior Trees, StateTree, Smart Objects and MassEntity; NVIDIA ACE on-device agents and the ProtoMotions physics-controller lineage; Convai; Virt-A-Mate with Embody, Voxta and vamX; Fable's Living Population; inZOI's Smart Zoi. Twenty rows are grounded on organ symbols, seventeen are named build contracts.
Where we are. MEASURED 2026-08-27 from the served /world/beach page (455,592 B, 74 organ doors) and the engine source nx_wasm_craft. Twenty rows are grounded on funcs that exist: exact LBS (sk_skin), distance-driven clip phase (mob_spd_q8i, mobph), breath and blink (mob_breath_q8i), a declared pose contract (mob_pose), ground-following steps (mob_ground), A* in a library (pf_astar), needs (mobneed), the utility argmax (mob_tick), BT and FSM primitives (bt_tick), an agent brain (ag_tick), inherited personality (mobg), the thought ledger (th_mood), gossip (go_add), the bond (mobfr), event-sourced memory (cm_ctx), relationship recall (em_recall), the intent-respect meter (dl_rate_permil), neural motion tokens (mn_generate) and BVH ingest (m_info). The registered gate nx_wasm_craft_gate exercises the engine in-process, and its run of 2026-08-27 measured the schedule (12 girls asleep or fleeing at night, 12 awake by day), the ledger (hungry mood -18 naming hunger, -8 once fed, expiry), gossip confidence 85 falling to 70 across one hop, breathing at 211 mHz, and shy girls keeping 1367 units of distance where bold ones close to 577. Seventeen rows are build contracts. What the eye sees first is the gap: one walk clip, one held stand, a hand-tuned idle hysteresis, straight-line nudges, no routing, no avoidance, no foot lock, no motion matching, no physics; the pose contract has no page consumer; nx_pathfind and nx_char_ai exist and are not imported by the live world; nx_char_ai_gate and nx_footplant_gate are BUILT-UNPROMOTED; nx_sovworld_gate and nx_wasm_thirdperson_gate are PROMOTED-UNREGISTERED.
Where we need to go. OPERATOR ASK (2026-08-27): the beach models' movement, behaviour and AI intelligence are far below Fable, VirtaMate and other living-NPC systems -- add a /compare that measures it against the August-2026 field. Deliverable: girls who walk like the field (motion matching, foot lock, routing, avoidance, gaze), live like Fable's population (schedule, smart objects, a planner, reputation, reflection), talk through a sovereign door that respects the intent meter and passes a commitment test, and scale and get refereed -- every rung with a pre-declared done rule and a gate, with the engine's determinism, inspectable ledger and rumor mechanic kept as the exceed.
Research bar. UE 5.8 motion matching and its AI toolkit is measured on query-based pose selection over a database driven by a trajectory channel, with a rewind debugger, shipped in the engine [@ue5mm]; StateTree, Behavior Trees, Smart Objects and MassEntity beside it [@uestatetree] [@uebt] [@uesmartobj] [@uemass]; Godot's AnimationTree is the same shape for the open engine [@godotanimtree]. Theirs: the default toolkit every studio on the board can reach for. Ours: NP1 is this capability on our clip player; the field's own from-scratch recipe [@mmscratch] [@clavet] [@lmm] [@unitymm] is the spec.
Research bar. ProtoMotions and the physics-controller lineage is measured on a general tracking policy on about 142K motions that transfers to a real humanoid, generative policies such as MaskedMimic, Apache-2.0 [@protomotions]; the papers from DeepMimic to MaskAdapt [@deepmimic] [@amp] [@ase] [@calm] [@phc] [@maskedmimic] [@interprior] [@maskadapt]. Theirs: the research frontier of bodies that carry themselves. Ours: NP16 is the last rung on the ladder because the body must first walk right kinematically; the bar is kept honest by our no-float, deterministic constraint.
Research bar. Fable's Living Population is measured on over 1,000 hand-crafted NPCs with routines, jobs, beds, memory, plural local reputations and a life that moves along whether you watch or not [@fablexbox] [@fableiv] [@fablevgc] [@fablepop], due 23 February 2027 [@fablewiki]; the shipped ancestors are Red Dead Redemption 2's day-long schedules [@rdr2] and the Sims' commodities and utility curves [@sims4]. Theirs: the operator's named bar for a living village. Ours: M1 is measured against it: enough beds, a day that runs, reputations that differ by witness.
Research bar. inZOI Smart Zoi is measured on a shipped life sim whose NPCs plan, act and reflect on a 0.5B on-device Minitron model, show their inner thoughts and adjust tomorrow's schedule to today's experiences [@inzoi] [@nvace]; the 2026 stack behind it is the ACE Game Agent SDK with UE5 plugins [@acesdk] and Qwen3-8B on device [@aceqwen]. Theirs: the closest shipped relative of our thought ledger. Ours: NP11 and NP12 are its reflection and dialogue on our sovereign tier, refereed by the intent meter, the commitment test and memory-aware task suites [@scriptbench] [@genagents] [@minenpc].
Research bar. Convai and the dialogue stacks is measured on the hosted NPC service with Unity, Unreal and browser plugins [@convai]; Ubisoft's NEO NPC prototype on Inworld and Audio2Face [@neonpc]; Inworld itself now sells realtime inference rather than an NPC engine [@inworld]. Theirs: the browser comparator for a WebGL world. Ours: NP12 must reach a browser page the way Convai's PlayCanvas tutorial does, with every byte sovereign.
Research bar. Virt-A-Mate with Embody, Voxta and vamX is measured on the moddable sandbox whose companion plugins own idle life, possession and voice conversation [@embody] [@voxtavam] [@vamxchat]; Embody v1.6.3 is the one pinned bar for this domain. Theirs: the operator's named bar for a companion that feels alive up close. Ours: NP6 gaze and NP13 expression are measured against it.
Research bar. ORCA, steering and the planners is measured on reciprocal collision avoidance as a linear program per agent, thousands of agents in milliseconds [@orca], descended from Reynolds' flocking [@boids]; planning by GOAP and HTN [@goap] [@htn]; two-joint IK as two rotations [@twojointik]. Theirs: the crowd, planning and IK canon. Ours: NP5, NP9 and NP2 adopt the canon rather than a novelty.
20 of 37 capabilities measured|1 of them measured exceeds|17 open|coverage 540/1000|adoption 15 full / 5 partial
Do this next — computed by the ranker, never chosen by a seat
Order from nx_compare_rank (nx_dr_ocm: (deficit + cost-of-delay + option + enables) x sponsor x self-sufficiency x momentum / cost). FINISH rows are rungs whose symbol is present but whose organ is short of full adoption: the cheapest closures on this board, listed before any new work. Stamp: # asof=1787883597 domain=npcai target_version=0.1 rungs=21 done=4 open=17 finish=0 ranker=nx_dr_ocm
| # | Stage | Rung | Priority | Derivation |
|---|---|---|---|---|
| #1 | 0.1 | Routing in the live world (NP4) mob_route | 22000 | v=22 m=1 c=1 |
| #2 | 0.1 | Reciprocal avoidance (NP5) mob_avoid | 16000 | v=16 m=1 c=1 |
| #3 | 0.1 | Gaze as a door (NP6) mob_gaze | 16000 | v=16 m=1 c=1 |
| #4 | 0.1 | Pose clips consumed by the page (NP3) gpe_pose_clips | 2200 | v=22 m=1 c=10 |
| #5 | 0.1 | Foot lock with two-joint IK (NP2) sk_foot_lock | 700 | v=14 m=1 c=20 |
| #6 | 0.1 | Motion matching on the clip player (NP1) np_motion_match | 533 | v=16 m=1 c=30 |
| #7 | later | Smart-object reservation (NP8) mob_reserve | 13000 | v=13 m=1 c=1 |
| #8 | later | Schedule as data (NP7) mob_schedule | 9000 | v=9 m=1 c=1 |
| #9 | later | Reputation carried by gossip (NP10) go_reputation | 5000 | v=5 m=1 c=1 |
| #10 | later | LOD crowds (NP15) mob_lod | 4000 | v=8 m=1 c=2 |
| #11 | later | Nightly reflection (NP11) th_reflect | 3000 | v=3 m=1 c=1 |
| #12 | later | Ledger-driven expression (NP13) morf_mood_drive | 1333 | v=20 m=1 c=15 |
| #13 | later | The dialogue door (NP12) cm_npc_turn | 850 | v=17 m=1 c=20 |
| #14 | later | A planner (NP9) ca_plan | 450 | v=9 m=1 c=20 |
| #15 | later | Commitment test (NP14) dl_commitment | 100 | v=1 m=1 c=10 |
| #16 | later | The living-NPC referee bench (NP17) gb_npc_bench | 50 | v=1 m=1 c=20 |
| #17 | later | A physics tracking policy (NP16) mn_track_policy | 40 | v=2 m=1 c=50 |
Critical path — contract, done-rule, executor, cost
| Rung | Closes with | Definition of done (pre-declared) | Executor | Est. |
|---|---|---|---|---|
| Utility selection over needs and advertisements, with the night schedule (NL0) | mob_tick | LANDED; proven live 2026-08-27 by nx_wasm_craft_gate T44 (12 asleep or fleeing at night, 12 awake by day) and T45 (an advertisement row diverges a control-identical world) | Organ | 0 u |
| The thought ledger (NL1) | th_mood | LANDED; T47 hungry mood -18 with the ledger naming hunger, -8 once fed, expiry proven | Organ | 0 u |
| Gossip with decay (NL2) | go_add | LANDED; T48 confidence 85 then 70 across one hop with zero control facts | Organ | 0 u |
| Friendship bond that survives the save (NL3) | mobfr | LANDED; T46 grown 3 then 13 after a meet, load rc 0, survives load | Organ | 0 u |
| Motion matching on the clip player (NP1) | np_motion_match | nx_nxa_play matches a query (root velocity, foot positions, the future trajectory over the organ's applied-step doors) against a feature database built from more than one clip and blends the selection with an inertializer; the gate proves that a target trajectory of turn, stop and back-pedal is matched from a database of at least three clips, that the selected pose never jumps more than the declared blend budget, and that a database of ONE clip reproduces today's walk exactly (the neg-control that the mechanism is reached); the foot-sliding permil measured by NP17's ruler must fall against the current page | Organ | 3 u |
| Foot lock with two-joint IK (NP2) after NP1 | sk_foot_lock | nx_skeleton locks the toe on contact through an inertializer and releases it when the animation drifts past a declared distance, with two-joint analytic IK on the leg; the gate plants a sliding clip and proves the locked toe's world displacement during contact is zero to the quantum and that the release fires at the declared distance; a mutation bite of the lock is killed | Organ | 2 u |
| Pose clips consumed by the page (NP3) | gpe_pose_clips | clip selection is ENGINE-side, per the native-only delivery model: mob_pose names the active clip id inside the organ and the emitted page merely samples the clip the organ names through the door contract, with no selection logic in client-readable JS; the gate proves a world with a sleeping girl serves pose id 2 through the door, that the emitted page samples the named clip, and that mobpose is among the doors the page calls (today it is not, measured over the served page's 74 doors) | Organ | 1 u |
| Routing in the live world (NP4) | mob_route | pf_astar composed into mob_tick over the voxel walk grid, with a per-NPC path cache and a re-plan on block edit; the gate proves a girl whose target lies behind a placed wall reaches it around the wall inside a declared tick budget while the control world with no wall walks straight, and that the T4 determinism checksum still holds | Organ | 1.5 u |
| Reciprocal avoidance (NP5) after NP4 | mob_avoid | an ORCA-class velocity choice between NPCs in integer arithmetic; the gate proves two girls on a collision course pass without overlap and that a single girl's path is unchanged (the neg-control), measured on the 12-girl ring | Organ | 1.5 u |
| Gaze as a door (NP6) | mob_gaze | the organ chooses each girl's look-at target (the player inside conversation distance, the girl she is talking to, the smart object she walks to) and the page reads it; the gate proves a girl in SOCIALIZE looks at her partner and a girl in FORAGE at her target, never at the camera | Organ | 1 u |
| Schedule as data (NP7) after NP4 | mob_schedule | a per-NPC schedule row (home, work, pub, bed) read from conf, with beds counted per settlement and a refusal when a settlement has fewer beds than residents; the gate proves the Fable bar -- every girl in a bed at night, at work by day, and a village one bed short REFUSED by name | Organ | 1.5 u |
| Smart-object reservation (NP8) after NP3,NP7 | mob_reserve | an object advertises to needs and reserves one slot for one NPC, releasing on leave, and pose ids 4 and 5 land through it; the gate proves two girls cannot hold one slot and that a released slot is retaken | Organ | 1.5 u |
| A planner (NP9) after NP7,NP8 | ca_plan | GOAP or HTN over the needs and advertisements, emitting a sequence (walk to food, forage, rest) that the per-tick argmax cannot express; the gate proves a plan of at least three steps executes in order and that removing the goal yields no plan | Organ | 2 u |
| Reputation carried by gossip (NP10) | go_reputation | gossip predicates grow from FRIEND and TAKEN to witnessed deeds, each NPC weighing them through her personality bits; the gate proves the same deed reads kind to one girl and shrewd to another, and that an unwitnessed deed spreads nothing (the neg-control) | Organ | 1.5 u |
| Nightly reflection (NP11) after NP7 | th_reflect | at REST the ledger is folded into a higher-level memory that adjusts the next day's schedule and advertisement weights; the gate proves a girl who was hungry every day for three days forages first on the fourth, with the fold journaled | Organ | 1.5 u |
| The dialogue door (NP12) after NP10 | cm_npc_turn | a turn takes the ledger, gossip, bond and persona as context through the sovereign tier or the egress warden and returns speech plus a structured intent; the gate proves the intent-respect meter refuses an escalation by rule and that no byte leaves without the warden's class | Organ | 2 u |
| Ledger-driven expression (NP13) | morf_mood_drive | the MORF blendshapes read the mood and its strongest reason; the gate proves a negative ledger lowers the mouth corners and a positive one raises them, with the fragment-shader mouth line retired | Organ | 1.5 u |
| Commitment test (NP14) after NP12 | dl_commitment | an NCP-Bench-class test over declared commitments for any LLM-driven turn; the gate refuses a dialogue build whose survival over 20 turns falls below the declared bar, and a planted contradicting turn is caught | Gate | 1 u |
| LOD crowds (NP15) after NP4,NP5 | mob_lod | tick and draw tiers by distance so hundreds of girls live and at most the near ring animates fully; the gate proves 200 mobs tick inside the frame budget on the box and that a far girl's state advances identically to a near one's | Organ | 2 u |
| A physics tracking policy (NP16) after NP1,NP2 | mn_track_policy | a no-float tracking policy that carries the body under a push and recovers from a fall; the gate proves a pushed girl recovers within a declared window and that the unpushed control replays bit-identically | Organ | 5 u |
| The living-NPC referee bench (NP17) after NP1 | gb_npc_bench | a judged clip set (foot-sliding permil, interrupted-walk artifacts, idle believability) scored by an external judge panel and published with n and a Wilson interval; the gate refuses a locomotion rung whose score does not exceed the current page's with non-overlapping intervals | Gate | 2 u |
Milestones
| Milestone | Rungs | Cumulative |
|---|---|---|
| M0 · She walks right | NP1,NP2,NP3,NP4,NP5,NP6 | 10 u |
| M1 · She lives | NP7,NP8,NP9,NP10,NP11 | 18 u |
| M2 · She talks | NP12,NP13,NP14 | 22.5 u |
| M3 · She scales and is proven | NP15,NP16,NP17 | 31.5 u |
comparewatch- plane row flips with it. The flip is necessary, not sufficient: it proves the symbol exists, never that the capability is good. The bar is the rung's pre-declared done-rule, proven by its gate — a symbol shipped without the behaviour behind it is a defect, and the flip is exactly what makes that defect visible instead of quiet. Competitor marks record documented capability presence — presence, not depth or scale. Adoption is measured too: every measured row carries where its organ stands on the estate's ladder (source → built → promoted → registered → invoked; libraries by importer reach minus validation importers; gates by the execution surfaces that run them). A row is fully adopted only at the top of its ladder; anything short is tagged partial with the exact remedy, so a build nobody promoted can no longer read as shipped. Census stamps: importers asof 1787849099, gate census asof 1787855507 (unix seconds; -1 = census absent).Capability matrix — measured against source
◉ leads / measured exceed● present◐ partial○ absent · click any capability for its evidence
| Capability | Nishi | UE 5.8 | NVIDIA ACE + ProtoMotions | Convai | Virt-A-Mate | Fable 2027 | inZOI Smart Zoi |
|---|---|---|---|---|---|---|---|
| LOCOMOTION | |||||||
exact linear-blend skinning of the whole rigged mesh at the asset's real dimensions -- affine per-joint form, weights renormalised to sum exactlyMeasured:sk_skin exists in runtime/nx_skeleton.nx, verified at emit. UE and Godot skin natively and drive the skin from Pose Search or an AnimationTree [ue5mm] [godotanimtree]; ProtoMotions drives simulated SMPL-family bodies and the Unitree G1 [protomotions]; Convai animates engine characters through its Unity and Unreal plugins [convai]; Virt-A-Mate is a Unity title whose Person atoms are driven by plugins such as Voxta [voxtavam]. Fable and inZOI are 3 from silence: a shipped title necessarily skins its cast and the held pages describe none of the method [fablexbox] [inzoi]. Ours: the NXA pose player applies the spec's affine form over rigs of 104 to 370 joints and up to 423,919 vertices, no hierarchy walk at runtime Adoption: LIB-WIRED importers=19 nonval=12 — fully adopted (top of its ladder). | ● | ◉ | ◉ | ● | ◉ | ◐ | ◐ |
clip time driven by distance moved -- the page advances the gait clip from the organ's applied-step doors (mobdx, mobdz, mobdy) so nobody walks in place or moonwalks, heading gated on real speedMeasured:mob_spd_q8i exists in runtime/nx_wasm_craft.nx, verified at emit. Motion matching selects the pose whose future trajectory matches the simulation object, which is the field's structural answer to foot sliding [ue5mm] [mmscratch] [clavet]; the tracking-policy line makes the physics carry the feet [deepmimic] [phc]; Convai and Virt-A-Mate inherit their engine's locomotion [convai] [embody]; Fable and inZOI 3 from silence. Ours: one walk clip, phase = distance times milliseconds-per-block derived from the clip's own root travel; no search and no second clip to blend Adoption: LIB-WIRED importers=7 nonval=3 — fully adopted (top of its ladder). | ● | ◉ | ◉ | ● | ● | ◐ | ◐ |
stop at a foot-plant, not mid-swing -- the clip eases to the nearest double-support phase while the idle pose blends in, with hysteresis (enter idle at 0.03, leave above 0.15, release over about 400 ms)Measured:mobph exists in runtime/nx_wasm_craft.nx, verified at emit. Motion matching plus inertialization gives a planted stop by construction [mmscratch]; UE ships a rewind debugger to tune exactly these transitions [ue5mm]; the Unity motion-matching package exposes inertialize blending and foot locking as switches [unitymm]. Ours is a hand-tuned hysteresis on the page and its two thresholds are literals in the emitter, named as debt in npcai.plan Adoption: LIB-WIRED importers=7 nonval=3 — fully adopted (top of its ladder). | ● | ◉ | ◉ | ● | ● | ◐ | ◐ |
idle life -- breathing on a spring anchor, gait bob carried by tissue not bone, a blink about every 4 s with a per-girl phase, irises that track the viewerMeasured:mob_breath_q8i exists in runtime/nx_wasm_craft.nx, verified at emit. Virt-A-Mate leads: its companion plugins exist for exactly this -- Embody's Improved PoV, Passenger and Snug for possession [embody], Voxta's scene-aware reactions and Timeline triggers from a live conversation [voxtavam]. UE has the tools and no default idle-life system (1); ACE animates faces from audio with Audio2Face-3D [nvace] (1); Convai drives lip sync and animations through its plugins [convai] (1); Fable and inZOI 3 from silence [fablexbox] [inzoi]. Ours: the eyeballs are spheres seated on the skull joint and the blink is painted per girl Adoption: LIB-WIRED importers=7 nonval=3 — fully adopted (top of its ladder). | ● | ● | ● | ● | ◉ | ◐ | ◐ |
the pose contract as data -- 0 idle-stand, 1 walk, 2 sleep-lying, 3 flee-run, 4 sit, 5 lie-awake, ids 4 and 5 reserved for the smart-object chainMeasured:mob_pose exists in runtime/nx_wasm_craft.nx, verified at emit. UE StateTree tasks and Virt-A-Mate Timeline carry pose vocabularies as data [uestatetree] [voxtavam]; ACE's Kimodo generates a motion from a text prompt [acesdk] (1). Ours is DECLARED AND NOT CONSUMED: the served page reads 74 organ doors and mobpose is not among them, so a sleeping or fleeing girl still plays the walk clip or the held stand -- the watch row below names the fix Adoption: LIB-WIRED importers=7 nonval=3 — fully adopted (top of its ladder). | ● | ◉ | ● | ● | ◉ | ◐ | ◐ |
terrain-following steps -- a ground query under the next step with auto step-up, and a voxel-march occlusion so a girl never pokes through a block faceMeasured:mob_ground exists in runtime/nx_wasm_craft.nx, verified at emit. UE's navmesh and character movement own this [uebt]; ProtoMotions trains terrain navigation in simulation [protomotions]; Convai and VaM inherit the engine [convai] [embody]; Fable and inZOI 3 from silence. Ours queries the voxel column under the next step and refuses a step that does not fit Adoption: LIB-WIRED importers=7 nonval=3 — fully adopted (top of its ladder). | ● | ◉ | ◉ | ● | ● | ◐ | ◐ |
| NAVIGATION | |||||||
A* grid routing -- integer, Manhattan-admissible, optimal on a 4-connected grid, path reconstructionMeasured:pf_astar exists in runtime/_hdl_build/nx_pathfind.nx, verified at emit. The field's default: F.E.A.R. plans paths with A* and actions with the same search [goap]; UE routes over a navmesh [uebt] and Mass crowds over ZoneGraph lanes [uemass]; ACE agents act inside the host engine's navigation [acesdk] (1). Ours EXISTS as a library the live world does not import: nx_wasm_craft steers by straight nudges plus a ground query, so a girl cannot walk around a house Adoption: LIB-WIRED importers=9 nonval=2 — fully adopted (top of its ladder). | ● | ◉ | ● | ● | ● | ◐ | ◐ |
| BEHAVIOUR | |||||||
needs -- hunger, energy and loneliness drift on a staggered per-handle clock so the village never moves in lockstep, seeded per NPCMeasured:mobneed exists in runtime/nx_wasm_craft.nx, verified at emit. The Sims' commodities and utility curves are the canonical form of this [sims4]; inZOI's Smart Zoi acts on its current needs and adjusts its day to its experiences [inzoi] (2); Fable's routines imply needs without describing them -- sleep, work, the pub [fablexbox] (1); ACE reflects on needs through the Smart Zoi it powers [nvace] (1); UE, Convai and VaM ship no needs model (absent from the evidence held). Ours: four integer slots per NPC, hunger and loneliness grow, energy drains, on a clock offset by the handle Adoption: LIB-WIRED importers=7 nonval=3 — fully adopted (top of its ladder). | ● | ○ | ● | ○ | ○ | ● | ◉ |
utility selection -- WANDER, SOCIALIZE, REST, FORAGE and FLEE picked by an argmax over needs times smart-object ADVERTISEMENT rows, repicked on a staggered 240-tick clock, night forcing REST, the mood bending the scores, wardens hunting with a radius that widens at nightMeasured:mob_tick exists in runtime/nx_wasm_craft.nx, verified at emit. The Sims weighs every course of action against a utility curve and randomises to avoid predictability [sims4]; UE ships Behavior Trees, StateTree and Smart Objects as the selectors [uebt] [uestatetree] [uesmartobj]; inZOI's Smart Zoi thinks about what to do next from personality, experiences, relationships and needs through an on-device SLM [inzoi] (2) and ACE is the stack it runs on [nvace] (2); Convai NPCs act on perception through its action abilities [convai] (1); Fable's NPCs follow routines whose selector is undisclosed [fableiv] (3); VaM has no autonomous selector (absent from the evidence held). Ours reads needs and P_ADV rows, both data, and the operator's stated law is that behaviour is picked by needs, never a dice roll Adoption: LIB-WIRED importers=7 nonval=3 — fully adopted (top of its ladder). | ● | ◉ | ◉ | ● | ○ | ◐ | ◉ |
behaviour tree and FSM primitives -- SEQ, SEL, COND and ACT over a blackboard bitmask; a transition-table FSMMeasured:bt_tick exists in runtime/_hdl_build/nx_char_ai.nx, verified at emit. UE Behavior Trees run branches over a Blackboard that serves as the brain [uebt]; F.E.A.R. reduced its FSM to Goto and Animate and let a planner sequence them [goap]; VaM scenes are trigger graphs (1) [voxtavam]; ACE's Game Agent SDK sequences NPC actions and guards against infinite loops [acesdk] (1); Convai action API (1) [convai]. Ours is a library the live world does not import, and its gate nx_char_ai_gate is BUILT-UNPROMOTED (measured 2026-08-27) Adoption: LIB-GATE-ONLY importers=2 — PARTIAL: imported only by validation organs (gates, tests, benches): wire it into a shipping program. | ● | ◉ | ● | ● | ● | ◐ | ◐ |
agent brain -- perceive by radius plus Bresenham line of sight through the wall grid, chase via certified A*, attack when adjacent, flee when weak, species rows as dataMeasured:ag_tick exists in runtime/_hdl_build/nx_game_agent.nx, verified at emit. UE's Behavior Tree quick start is exactly patrol-or-chase [uebt]; ACE autonomous teammates and enemies -- PUBG Ally, MIR5's adapting bosses -- are the shipped form [nvace] [acesdk]; Convai characters perceive and act (1) [convai]. Ours serves the game-interact lane and not the beach, whose girls have no line-of-sight test Adoption: LIB-WIRED importers=2 nonval=1 — fully adopted (top of its ladder). | ● | ◉ | ◉ | ● | ○ | ◐ | ◐ |
| SOCIAL | |||||||
personality as inherited genome bits -- a bold-to-shy spectrum sets approach, stop distance and retreat, habituation gated on loneliness, and an F-formation ring slot around the player so N approaching girls never bunch into a queueMeasured:mobg exists in runtime/nx_wasm_craft.nx, verified at emit. Fable's cast is over 1,000 NPCs each with roles, personalities and routines [fableiv] (2); inZOI's Smart Zoi acts on personality traits, a considerate one offering directions or food [inzoi] (2); ACE and Convai carry persona as prompt data [acesdk] [convai] (1); UE and VaM have no personality model by default (absent from the evidence held). Ours: three genome bits inherited at birth, proxemics stays personal because the ring radius is her own stop distance Adoption: LIB-WIRED importers=7 nonval=3 — fully adopted (top of its ladder). | ● | ○ | ● | ● | ○ | ◉ | ◉ |
| INNER LIFE | |||||||
the thought ledger -- eight TTL'd thoughts per NPC (rain, fear, met you, slept well, hungry, saw a taking, heard someone was taken, heard of your kindness, good company); the mood is the sum of live thoughts, always decomposable into its reasons, and the HUD prints the strongest live reasonMeasured:th_mood exists in runtime/nx_wasm_craft.nx, verified at emit. inZOI shows a Smart Zoi's inner thoughts in real time and the reasoning behind each action [inzoi] (2); Fable's NPC memory changes how a character feels about you, the beggar you enriched and the spouse you killed [fablexbox] (1); Generative Agents store a complete natural-language record of experiences and synthesise reflections from it [genagents]; ACE carries the Smart Zoi mechanism (1) [nvace]. Ours is RimWorld's inspectable-mood law in integer form: a mood is a ledger, never a scalar mystery Adoption: LIB-WIRED importers=7 nonval=3 — fully adopted (top of its ladder). | ● | ○ | ● | ○ | ○ | ● | ◉ |
gossip -- a fact (subject, predicate, confidence) passes speaker to listener at minus 15 confidence, below 30 it may flip so rumor decays into misinformation by mechanic, a better-known copy never downgrades, and hearing it leaves a thoughtMeasured exceed:go_add in runtime/nx_wasm_craft.nx, verified at emit. Fable spreads reputation by witness -- if enough people see you kick a chicken, that reputation becomes one of the things you are known for in that settlement [fablevgc] (1); Generative Agents spread a party invitation through conversation over two days [genagents]. EXCEED, scoped: on the evidence held no engine, middleware, service or title describes confidence decay or rumor flip as a mechanic. Two predicates exist today (FRIEND, TAKEN), which is why the reputation row below is a watch Adoption: LIB-WIRED importers=7 nonval=3 — fully adopted (top of its ladder). | ◉ | ○ | ○ | ○ | ○ | ● | ○ |
| RELATIONSHIP | |||||||
friendship from shared time within arm's reach (cap 250), persisted in the world save and the passport; party invitation at bond 40 or aboveMeasured:mobfr exists in runtime/nx_wasm_craft.nx, verified at emit. Fable's Hero makes friends, enemies, employees, spouses or corpses of every NPC and can become their landlord or employer [fablexbox] (2); inZOI forms deep relationships through interactions with NPCs [inzoi] (2); vamX saves an AI Chat personality per scene (1) [vamxchat]. Ours: a bond grows only while she is near you, and an invite is refused by name below 40 Adoption: LIB-WIRED importers=7 nonval=3 — fully adopted (top of its ladder). | ● | ○ | ○ | ○ | ● | ◉ | ◉ |
| MEMORY | |||||||
append-only event-sourced character memory -- affection, trust, intimacy and excitement deltas, learned preferences, weighted memories -- folded at read time into an LLM-ready context blockMeasured:cm_ctx exists in runtime/nx_charmem.nx, verified at emit. Fable describes NPC memory as the variables the player changes and the NPC changing as a result [fablexbox] (1); inZOI's Smart Zoi analyses the previous day while sleeping [inzoi] (2); ACE's Game Agent SDK carries RAG APIs over developer-built databases [acesdk] (1); Convai characters hold knowledge and memory through the platform (1) [convai]; Voxta keeps the character, memory and scenario on its server (1) [voxtavam]. Ours never mutates: state is a fold over a journal, so why-is-affection-72 is a read Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked). | ● | ○ | ● | ● | ● | ● | ◉ |
long-term relationship memory with keyword-overlap recall ranked by term match and recency, scanned across a segment storeMeasured:em_recall exists in runtime/nx_elara_memory.nx, verified at emit. Generative Agents retrieve by recency, importance and relevance and reflect over what they retrieve [genagents]; MineNPC-Task measures memory-aware agents by in-world evidence and found players wanting stronger persistence across tasks [minenpc]; the same rival cells as the row above [acesdk] [convai] [voxtavam] [fablexbox] [inzoi]. Ours is honest IR-lite, not embeddings Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked). | ● | ○ | ● | ● | ● | ● | ◉ |
| DIALOGUE | |||||||
per-turn dialogue model with an intent-respect meter -- who escalated and who declined, measured per turnMeasured:dl_rate_permil exists in runtime/nx_dialogue.nx, verified at emit. No rival column describes a consent or intent meter over the conversation (absent from the evidence held everywhere); the closest relative is the NEO NPC prototype's insistence that a writer shapes the character and keeps tweaking it once the model improvises [neonpc]. This is the ruler a dialogue door must pass through before a girl can refuse an escalation by rule Adoption: LIB-GATE-ONLY importers=1 — PARTIAL: imported only by validation organs (gates, tests, benches): wire it into a shipping program. | ● | ○ | ○ | ○ | ○ | ○ | ○ |
| NEURAL MOTION | |||||||
a learned codebook over pose vectors (Lloyd-trained vector quantisation) and a token-transition generator that composes motion sequences it was never given wholeMeasured:mn_generate exists in runtime/nx_motion_neural.nx, verified at emit. NVIDIA's Kimodo generates promptable, controllable human motion from text and feeds ProtoMotions to train a physics policy that performs it [acesdk] [protomotions] (2); MaskedMimic inpaints motion from masked keyframes, text and objects [maskedmimic]. Ours is the MotionGPT thesis bootstrapped on a 7-joint move vocabulary with an n-gram token model, integer and deterministic Adoption: LIB-WIRED importers=4 nonval=2 — fully adopted (top of its ladder). | ● | ○ | ◉ | ○ | ○ | ○ | ○ |
| CLIP INGEST | |||||||
BVH motion-capture census proven on third-party data (motion values equal frames times channels, exactly) and an NXA pose player that applies pose-library entries in the spec's affine formMeasured:m_info exists in runtime/nx_bvhmotion.nx, verified at emit. Every engine ingests mocap; UE's Pose Search database is built from imported animation data [ue5mm]; ProtoMotions trains on about 142K motions [protomotions]; VaM's Timeline and Voxta triggers play authored animation [voxtavam] (2); Convai plays custom animations through the engine (1) [convai]. Ours reads BVH and packs clips into NXA; retargeting between rigs is the anatomy board's lane Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked). | ● | ◉ | ◉ | ● | ◉ | ◐ | ◐ |
| LOCOMOTION | |||||||
motion matching -- pose search over a clip database driven by the future trajectory, inertialized transitions, a learned variant whose memory does not grow with the dataOpen — watchingruntime/nx_nxa_play.nx : np_motion_match, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. UE 5.8 ships it as a query-based animation pose selection system inside the Pose Search plugin, a dynamic alternative to state machines and blendspaces [ue5mm]; Simon Clavet introduced the method at GDC 2016 as declarative markup over long animations [clavet]; Learned Motion Matching replaces each step with a network so memory stays small as data grows [lmm]; the Unity package exists as an open master-thesis implementation for Unity 6 [unitymm]; Holden's from-scratch write-up carries the trajectory-matching and foot-locking recipe [mmscratch]. ACE's Kimodo generates motion but does not match it (1) [acesdk]. Fable and inZOI 3 from silence. Done rule in npcai.plan NP1 | ○ | ◉ | ● | ○ | ○ | ◐ | ◐ |
foot lock -- toe contact locked through an inertializer and released with a distance heuristic, two-joint analytic IK on the legOpen — watchingruntime/nx_skeleton.nx : sk_foot_lock, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. The recipe is published in full: lock the toe on contact with an inertializer, unlock when the animation drifts too far [mmscratch], and two-joint IK is two rotations [twojointik]; the Unity package ships foot locking as a switch [unitymm]; ProtoMotions bodies keep their feet by simulation (1) [protomotions]. Measured on our side: nx_footplant_gate is BUILT-UNPROMOTED and nx_footcheck judges toe structure, not contact. Fable and inZOI 3 from silence | ○ | ◉ | ● | ○ | ○ | ◐ | ◐ |
distinct clips per pose id consumed by the page -- sleep-lying, flee-run, sit and lie-awake play their own clips instead of the walk cycleOpen — watchingruntime/nx_game_page_emit.nx : gpe_pose_clips, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. The engine's pose contract exists (row above) and the page has no consumer for it; every column that animates a character plays more than one clip [ue5mm] [godotanimtree] [voxtavam] [convai] [acesdk]. Done rule in npcai.plan NP3 | ○ | ◉ | ● | ● | ◉ | ◐ | ◐ |
| NAVIGATION | |||||||
routing in the live world -- pf_astar composed into mob_tick over the voxel grid so a girl walks around a house and through a doorOpen — watchingruntime/nx_wasm_craft.nx : mob_route, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. The library exists and is unreached; the field routes by navmesh [uebt], ZoneGraph lanes [uemass] or A* [goap]; Fable's own debugging story is a routing story -- NPCs who lived too far from work turned around before arriving because their schedule said so [fableiv]. Done rule in npcai.plan NP4 | ○ | ◉ | ● | ● | ● | ◐ | ◐ |
| CROWD | |||||||
reciprocal collision avoidance between NPCs (ORCA class) -- today girls pass through each otherOpen — watchingruntime/nx_wasm_craft.nx : mob_avoid, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. ORCA reduces each agent's choice to a low-dimensional linear program and computes collision-free actions for thousands of agents in milliseconds [orca]; Reynolds' 1987 flocking model is the ancestor of every steering system [boids]; UE Mass runs avoidance at crowd scale [uemass]; VaM has no crowd (absent from the evidence held). Done rule in npcai.plan NP5 | ○ | ◉ | ● | ● | ○ | ◐ | ◐ |
| GAZE | |||||||
gaze and attention as an organ door -- the look-at target chosen by the simulation (player, speaker, object of interest), not a camera-follow in the shaderOpen — watchingruntime/nx_wasm_craft.nx : mob_gaze, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. UE StateTree tasks include looking at an object [uestatetree]; ACE and Convai drive faces from the conversation [nvace] [convai] (1); Voxta reacts to the scene (1) [voxtavam]. Ours today: irises follow the camera in the fragment shader, which is measurement-mode-correct and behaviour-free. Done rule in npcai.plan NP6 | ○ | ◉ | ● | ● | ● | ◐ | ◐ |
| SCHEDULE | |||||||
a daily schedule as data -- home, work, pub and bed, with every settlement owning enough bedsOpen — watchingruntime/nx_wasm_craft.nx : mob_schedule, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Fable leads: NPCs go to work at designated hours, spend time at the pub, and every settlement must have enough houses with enough beds for everyone to sleep in at the end of the day [fablexbox] [fableiv] (2); inZOI's Smart Zoi adjusts its personal schedule nightly [inzoi] (2); The Sims runs on needs rather than a clock [sims4]; UE's StateTree documents a time-of-day system as its example (1) [uestatetree]. Ours: night forces REST, one bit of a schedule. Done rule in npcai.plan NP7 | ○ | ● | ○ | ○ | ○ | ◉ | ◉ |
| SMART OBJECTS | |||||||
advertisement plus reservation -- an object claims a slot for one NPC and a sit or lie pose landsOpen — watchingruntime/nx_wasm_craft.nx : mob_reserve, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. UE Smart Objects represent activities in the level used through a reservation system [uesmartobj]; F.E.A.R.'s third state is UseSmartObject, an animation named by the database [goap]; The Sims' objects advertise to needs [sims4]; VaM scenes trigger animations on contact (1) [voxtavam]; inZOI's Zois use objects and jobs (2) [inzoi]. Ours has P_ADV advertisements read by FORAGE and reserved pose ids 4 and 5, with no reservation and no consumer. Done rule in npcai.plan NP8 | ○ | ◉ | ○ | ○ | ● | ◐ | ◉ |
| PLANNING | |||||||
a goal planner -- GOAP or HTN plans "eat: walk to food, forage, rest" as a sequence, instead of one argmax per tickOpen — watchingruntime/_hdl_build/nx_char_ai.nx : ca_plan, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Orkin's F.E.A.R. planner searches action sequences with A* to satisfy goals so designers add actions instead of transitions [goap]; HTN decomposes a high-level task recursively into a plan of atomic tasks [htn]; UE StateTree is hierarchical and not a planner (1) [uestatetree]; ACE's SDK plans at human-like frequencies through an SLM (1) [acesdk]; inZOI's Smart Zoi plans, acts and reflects (2) [nvace]. Done rule in npcai.plan NP9 | ○ | ● | ● | ○ | ○ | ◐ | ◉ |
| REPUTATION | |||||||
per-NPC judgement of the player's deeds through each character's own values, carried by gossip -- ours carries FRIEND and TAKEN onlyOpen — watchingruntime/nx_wasm_craft.nx : go_reputation, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Fable leads: reputations are local and plural, someone who thinks you silly for chasing chickens may change their tune when you become a rich entrepreneur, and the Town Crier can be paid to overwrite one [fablexbox]; a stable hand who has never heard of you refuses to help [fablepop]; inZOI relationships judge (1) [inzoi]. Done rule in npcai.plan NP10 | ○ | ○ | ○ | ○ | ○ | ◉ | ● |
| REFLECTION | |||||||
end-of-day synthesis of the ledger into higher-level memories that re-plan tomorrowOpen — watchingruntime/nx_wasm_craft.nx : th_reflect, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Generative Agents' ablation shows observation, planning and reflection each contribute critically to believability [genagents]; inZOI's Smart Zoi analyses the previous day while sleeping and refines the next [inzoi] (2); ACE is the mechanism (1) [nvace]. Done rule in npcai.plan NP11 | ○ | ○ | ● | ○ | ○ | ○ | ◉ |
| DIALOGUE | |||||||
an NPC dialogue door -- talk to a girl with her thought ledger, gossip, bond and persona as the prompt context, through the sovereign tier or the egress wardenOpen — watchingruntime/nx_charmem.nx : cm_npc_turn, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. ACE ships local ASR, SLM and TTS as UE5 plugins with the Game Agent SDK [acesdk] and Qwen3-8B on device [aceqwen] (2); Convai is the hosted NPC service with Unity, Unreal and browser plugins [convai] (2); Voxta turns any Person atom into a live voice character with speech in and voice out [voxtavam] and vamX AI Chat responds to touch with saved personalities [vamxchat] (2); Ubisoft's NEO NPC prototype showed the shape at GDC 2024 on Inworld and Audio2Face [neonpc], while Inworld itself now sells realtime TTS, STT and inference rather than an NPC engine [inworld]; Fable is fully voiced and scripted (1) [fablepop]; inZOI takes free-form text to steer a Zoi (2) [inzoi]. The consent meter above is the gate it passes through. Done rule in npcai.plan NP12 | ○ | ● | ◉ | ◉ | ◉ | ● | ◉ |
| EXPRESSION | |||||||
blendshape expression driven by the ledger -- today a mood-curved mouth line and brows painted in the fragment shaderOpen — watchingruntime/nx_nxa_morf.nx : morf_mood_drive, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. ACE's Audio2Face-3D animates a MetaHuman face from audio [nvace] (2); UE MetaHuman faces (2); Convai lip sync (1) [convai]; VaM morphs driven by Voxta triggers (1) [voxtavam]. The MORF section is baked into the asset; this contract wires the mood to it. Done rule in npcai.plan NP13 | ○ | ◉ | ◉ | ● | ● | ◐ | ◐ |
| CONSISTENCY | |||||||
a narrative-commitment test for any LLM-driven girl -- survival of declared commitments over 20 to 100 turns, refused below the barOpen — watchingruntime/nx_dialogue.nx : dl_commitment, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. NCP-Bench found that high linguistic quality does not guarantee commitment preservation: the best model survives 42 percent after 20 turns with fact conflict rates of 40 to 68 percent [scriptbench]. No rival column publishes such a test (absent from the evidence held everywhere). Done rule in npcai.plan NP14 | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| SCALE | |||||||
LOD tiers so hundreds of NPCs tick and draw -- today the page draws at most 12 instancesOpen — watchingruntime/nx_wasm_craft.nx : mob_lod, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. UE MassEntity composes entities from fragments in archetypes for data-oriented calculation at crowd scale [uemass]; Fable simulates over 1,000 NPCs whose lives move along whether you are there to see it or not [fablexbox] (2); inZOI populates a city (1) [inzoi]. Done rule in npcai.plan NP15 | ○ | ◉ | ● | ○ | ○ | ◉ | ● |
PHYSICS CONTROLLER: a tracking policy that carries the body under perturbation, or at minimum ragdoll recoveryOpen — watchingruntime/nx_motion_neural.nx : mn_track_policy, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. The lineage: DeepMimic imitates clips by RL and recovers from falls [deepmimic], AMP replaces hand-designed imitation objectives with an adversarial prior [amp], ASE learns reusable skill embeddings over a decade of simulated experience [ase], CALM makes them directable [calm], PHC controls perpetually from noisy input at ten thousand clips [phc], MaskedMimic unifies control as motion inpainting [maskedmimic], InterPrior scales generative control to human-object interaction [interprior] and MaskAdapt adapts body parts under a mask-invariant prior [maskadapt]; ProtoMotions packages it with a general tracking policy that transfers to a real humanoid [protomotions] (2). Nobody else on the board ships physics-based control (absent from the evidence held). Done rule in npcai.plan NP16 | ○ | ○ | ◉ | ○ | ○ | ○ | ○ |
| REFEREE | |||||||
a living-NPC bench -- a judged clip set scored by an external referee for foot-sliding permil, interrupted-walk artifacts and idle believability, published with n and an intervalOpen — watchingruntime/_hdl_build/nx_gamebench.nx : gb_npc_bench, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. No rival publishes such a ruler; UE ships the Pose Search rewind debugger as a tuning tool, not a referee [ue5mm]. The estate's law is that a progress claim needs an independent referee whose grade travels with it. Done rule in npcai.plan NP17 | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
Risk register
| Risk | Likelihood x impact | Mitigation | |
|---|---|---|---|
| Motion matching is measured by eye and shipped by feel | probable x high | NP17's referee publishes foot-sliding permil with an interval and NP1's done rule requires that number to fall against the current page | |
| A stub carrying a contract symbol flips a watch cell green with no capability behind it | possible x high | every rung names a neg-control and a fixture that can fail; the flip is the receipt, the gate is the proof | |
| Watch contracts on nx_wasm_craft are owned by another lane and ship on its cadence | probable x medium | this board only measures; the contracts are named here and the symbols are the handshake, never an edit to that organ from this lane | |
| The deterministic integer sim is broken by a float-shaped import | possible x high | every done rule above repeats the T4 checksum condition; a rung that loses determinism is refused | |
| Intelligence is built before the body walks and the operator's complaint stands | probable x high | the ladder puts M0 first and NP7 depends on routing, so no village ships on a body that cannot walk around a house | |
| A world rung is read as a nishi-browser rendering promise | possible x medium | npcai rungs deliver NPC behaviour into the sovereign-emitted world page -- NishiLang source compiled to wasm plus a page emitted by nx_game_page_emit, whose DEFAULT render is the sovereign framebuffer path that nx_sovworld_gate holds as law, with WebGL2 and WebGPU as opt-in last-mile paths for Chrome-class browsers; the native nishi-browser render of that page is the browser board's contract, not this one's |
| Id | Sev | What it is | Unblock |
|---|---|---|---|
| npcai-page-thresholds-literal | 4 | The idle hysteresis thresholds (0.03 enter, 0.15 leave) and the 400 ms release are literals inside the emitted page in nx_game_page_emit; the operator's own tuning history shows a single shared threshold was the defect once already. | NP1 retires them: a matched pose has no threshold. Until then they belong in a conf row read at emit. |
| npcai-pose-contract-unconsumed | 5 | mob_pose declares six pose ids and the served page reads none of them (mobpose absent from the 74 doors the page calls, measured 2026-08-27), so sleep, flee and sit render as the walk clip or the held stand. | NP3. |
| npcai-libs-unimported | 5 | nx_pathfind (pf_astar) and nx_char_ai (bt_tick, fsm_step) exist and nx_wasm_craft imports neither; nx_char_ai_gate and nx_footplant_gate are BUILT-UNPROMOTED; nx_sovworld_gate and nx_wasm_thirdperson_gate are PROMOTED-UNREGISTERED (nx_catalog 2026-08-27). | NP4 composes pf_astar; promote and register the four gates through nx_organ_ship and the register lane, then re-read nx_catalog until they read LIVE. |
Person · product · place — not yet measured for this domain
knowledge/compare/npcai.ppp (rows surface|nishi or c1..c4|label|url|connect naming OUR live surface and each rival's front door), run nx_ppp_probe domain npcai, and this section fills itself on the next beat: the same ruler on both sides — privacy and CX (third-party hosts, tracker classes, cookies, security headers), design and longevity (design hygiene, computed WCAG contrast, render-blocking resources, unsized media, script weight, theme and motion queries), findability (landmarks, skip link, on-site search, breadcrumb, headings, internal links).References
- [ue5mm] Epic Games. Motion Matching in Unreal Engine, Unreal Engine 5.8 documentation (fetched 2026-08-27). Motion Matching is a query-based animation pose selection system contained in the Pose Search plugin, a dynamic alternative to State Machines or Blendspaces; the node queries channels from the character through a schema (bone position and velocity, a trajectory channel) against a Database asset, fidelity rises by adding animation data without transition logic, and a Rewind Debugger observes the selections. publisher · read in our library
knowledge/fetched/cmp_npcai_ue5mm.html· pinh1247bcd41cd226407ef768db560b6d7b3ca09b4af68d228673a488dcb5ceab63· accessed 2026-08-27 · vendor-docGrounds: LOCOMOTION: motion matching -- pose search over a clip database driven by the future trajectory, inertialized transitions, a learned variant whose memory does not grow with the data - [uebt] Epic Games. Behavior Trees in Unreal Engine, 5.8 documentation (fetched 2026-08-27). Behavior Tree assets execute branches of logic and rely on a Blackboard asset that serves as the brain, holding user-defined Keys the tree reads to decide, from a roach that flees when a light is on to a simulated human player that finds cover and looks for pickups; the quick start builds an AI that patrols or chases. publisher · read in our library
knowledge/fetched/cmp_npcai_uebt.html· pinh29f2c2f752595d3a6c7dd195322368eec94d99c1ac537a8e24f1a38f8b26b69d· accessed 2026-08-27 · vendor-docGrounds: BEHAVIOUR: behaviour tree and FSM primitives -- SEQ, SEL, COND and ACT over a blackboard bitmask; a transition-table FSM - [uestatetree] Epic Games. Overview of State Tree in Unreal Engine, 5.8 documentation (fetched 2026-08-27). StateTree is a general-purpose hierarchical state machine combining the Selectors from behavior trees with States and Transitions from state machines; states carry Tasks that run concurrently (select a target, play an animation, look at an object) and Transitions, failure is handled hierarchically, and the worked example is a time-of-day system. publisher · read in our library
knowledge/fetched/cmp_npcai_uestatetree.html· pinh90f68b381606818011abddbb87360d32d9dcb507a06d5aec28f471a9021b887f· accessed 2026-08-27 · vendor-docGrounds: BEHAVIOUR: utility selection -- WANDER, SOCIALIZE, REST, FORAGE and FLEE picked by an argmax over needs times smart-object ADVERTISEMENT rows, repicked on a staggered 240-tick clock, night forcing REST, the mood bending the scores, wardens hunting with a radius that widens at night - [uesmartobj] Epic Games. Smart Objects in Unreal Engine, 5.8 documentation landing page (fetched 2026-08-27). Smart Objects represent a set of activities in the level that can be used through a reservation system; the mirrored page carries that description and its section index, the body being rendered client-side. publisher · read in our library
knowledge/fetched/cmp_npcai_uesmartobj.html· pinh8b33e8d2f30482e7b291d3a683a9858fa593191c748a025042151e9ae6850f3c· accessed 2026-08-27 · vendor-docGrounds: SMART OBJECTS: advertisement plus reservation -- an object claims a slot for one NPC and a sit or lie pose lands - [uemass] Epic Games. Overview of Mass Entity in Unreal Engine, 5.8 documentation (fetched 2026-08-27). MassEntity is a framework for data-oriented calculations: Fragments are atomic data such as Transform, Velocity and LOD Index, Entities are fragment compositions changeable at runtime, Archetypes group identical compositions for memory locality, and stateless Processors run EntityQueries over batches. publisher · read in our library
knowledge/fetched/cmp_npcai_uemass.html· pinhc40f7d4c0d6197d231fd049b72bdc531f72268ae2e661bbe7189df1541e75064· accessed 2026-08-27 · vendor-docGrounds: SCALE: LOD tiers so hundreds of NPCs tick and draw -- today the page draws at most 12 instances - [godotanimtree] Godot Engine. Using AnimationTree, stable documentation (fetched 2026-08-27). The animation tree offers Blend2 and Blend3, OneShot, TimeSeek and TimeScale, Transition, StateMachine and BlendSpace1D and BlendSpace2D nodes, sync modes for better blending, and a root motion track whose delta is read back through the AnimationTree API so steps match the floor. publisher · read in our library
knowledge/fetched/cmp_npcai_godotanimtree.html· pinh1e867e010ace93dd57124b70c104bb4f4bf5a6625c556a3572aa197871a83940· accessed 2026-08-27 · vendor-docGrounds: LOCOMOTION: exact linear-blend skinning of the whole rigged mesh at the asset's real dimensions -- affine per-joint form, weights renormalised to sum exactly - [nvace] NVIDIA. ACE for Games developer page (fetched 2026-08-27). A suite of AI technologies for knowledgeable, actionable and conversational in-game characters with cloud and on-device models for speech, intelligence and animation; among the partner experiences KRAFTON's inZOI features Smart Zois, AI-driven agents that plan, act and reflect on their decisions, PUBG's Co-Player Characters and MIR5's adapting bosses; Audio2Face-3D plugins for Unreal Engine 5.4 to 5.6 and Maya; Nemotron 4B and 9B and Qwen3.5 small language models for on-device game agents. publisher · read in our library
knowledge/fetched/cmp_npcai_nvace.html· pinh19bd43930ec1b7503d472946829c7434034c5816ddc5fe0d0256e4810949ddd0· accessed 2026-08-27 · vendor-docGrounds: LOCOMOTION: idle life -- breathing on a spring anchor, gait bob carried by tissue not bone, a blink about every 4 s with a per-girl phase, irises that track the viewer - [acesdk] Singh, P. Build On-Device AI Companions with the NVIDIA ACE Game Agent SDK and Unreal Engine 5 Plugins, NVIDIA Technical Blog, 16 June 2026. Announced at Unreal Fest 2026: the ACE Game Agent SDK is a lightweight open-source C and C++ framework with Agent, Chat and RAG APIs for on-device companions, with global and dynamic game state and a guard against NPCs falling into infinite loops; new UE5 plugins for local ASR, SLM and TTS with Blueprint and C++ support and models such as nemo-conformer-ctc-120m and Qwen 3.5 4B; PUBG Ally teammates and Total War PHARAOH's advisor over 1,200 data tables; Kimodo promptable human motion generation with an Animotive UE plugin. publisher · read in our library
knowledge/fetched/cmp_npcai_acesdk.html· pinh6a5c045a3ec445f527ef7ea008394ad8b138e3eddd1b781ef9bc17332fd150e9· accessed 2026-08-27 · vendor-docGrounds: DIALOGUE: an NPC dialogue door -- talk to a girl with her thought ledger, gossip, bond and persona as the prompt context, through the sovereign tier or the egress warden - [aceqwen] Nnoli, I. NVIDIA ACE Adds Open Source Qwen3 SLM for On-Device Deployment in PC Games, NVIDIA Technical Blog, 21 October 2025. ACE now supports the open source Qwen3-8B small language model for on-device deployment enabling real-time reasoning and dynamic responses in NPC characters; the In-game Inferencing SDK plugin runs inference alongside graphics with MultiLORA adapters and CUDA in Graphics for Vulkan. publisher · read in our library
knowledge/fetched/cmp_npcai_aceqwen.html· pinh17e5e4dd092b358fbee92b930728353dba61f75518c3a6f885b12f02269c00a6· accessed 2026-08-27 · vendor-docGrounds: DIALOGUE: an NPC dialogue door -- talk to a girl with her thought ledger, gossip, bond and persona as the prompt context, through the sovereign tier or the egress warden - [inzoi] Burnes, A. NVIDIA ACE Autonomous Game Characters Debut This Month In inZOI and NARAKA: BLADEPOINT MOBILE PC VERSION, GeForce News, 13 March 2025. Smart Zoi NPCs plan, act and reflect: a considerate one may give a lost character directions or feed a hungry stranger; at the end of each day they adjust their personal schedule to their experiences; players read their inner thoughts in real time and steer them with free-form text; the model is a 0.5B-parameter Mistral NeMo Minitron small language model running on-device on GeForce RTX; inZOI entered Early Access on 28 March 2025. publisher · read in our library
knowledge/fetched/cmp_npcai_inzoi.html· pinh4d8546bcca4aad040a078862e72218cb510f53fa2fb8f1a1d843819c44718d42· accessed 2026-08-27 · vendor-docGrounds: BEHAVIOUR: needs -- hunger, energy and loneliness drift on a staggered per-handle clock so the village never moves in lockstep, seeded per NPC - [protomotions] NVlabs. ProtoMotions repository page, GitHub (fetched 2026-08-27). ProtoMotions3 is a GPU-accelerated simulation and learning framework for physically simulated digital humans and humanoid robots under Apache-2.0: a General Tracking Policy trained on the BONES-SEED set of about 142K motions that transfers zero-shot to the Unitree G1, generative policies such as MaskedMimic, terrain navigation, Kimodo text-to-motion authoring, and sim-to-sim across IsaacGym, Newton and MuJoCo; the repository publishes tags v3.1, v3.0 and v2.3 and no GitHub releases (read live 2026-08-27). publisher · read in our library
knowledge/fetched/cmp_npcai_protomotions.html· pinh2c0e4c743bcd41957569e21e69b25a536ec368348c4122c87c84f31208f25b0e· accessed 2026-08-27 · source-readGrounds: PHYSICS CONTROLLER: a tracking policy that carries the body under perturbation, or at minimum ragdoll recovery - [deepmimic] Peng, Abbeel, Levine and van de Panne. DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills (arXiv 1804.02717, 2018). RL policies that imitate a broad range of motion clips in physical simulation while learning recoveries, adapting to morphology and pursuing user-specified goals, over locomotion, acrobatics and martial arts on humans, an Atlas robot, a dinosaur and a dragon. publisher · read in our library
knowledge/fetched/cmp_npcai_deepmimic.html· pinhc0275518f56bf8d9c5569a2f71c68e33d6865c2222f8f3b129ef5927478c093a· accessed 2026-08-27 · published-paperGrounds: PHYSICS CONTROLLER: a tracking policy that carries the body under perturbation, or at minimum ragdoll recovery - [amp] Peng, Ma, Abbeel, Levine and Kanazawa. AMP: Adversarial Motion Priors for Stylized Physics-Based Character Control (arXiv 2104.02180, 2021). Adversarial imitation learning replaces hand-designed imitation objectives and clip selection: simple task rewards specify what, an unstructured clip dataset specifies style, and composition of disparate skills emerges without a high-level motion planner. publisher · read in our library
knowledge/fetched/cmp_npcai_amp.html· pinhc8857fa875b0553f3135719c9a0a6659432936b7d741e38f2e5dd0d04c32232e· accessed 2026-08-27 · published-paperGrounds: PHYSICS CONTROLLER: a tracking policy that carries the body under perturbation, or at minimum ragdoll recovery - [ase] Peng, Guo, Halper, Levine and Fidler. ASE: Large-Scale Reusable Adversarial Skill Embeddings for Physically Simulated Characters (arXiv 2205.01906, 2022). Reusable skill embeddings learned from unstructured clips over more than a decade of simulated experience on a massively parallel GPU simulator, then applied to new tasks through simple reward functions. publisher · read in our library
knowledge/fetched/cmp_npcai_ase.html· pinh38fd1b8d7eb5e51b9d8b71eb36a7431d0a78c0f44f6144903f1eb677e0a1de55· accessed 2026-08-27 · published-paperGrounds: PHYSICS CONTROLLER: a tracking policy that carries the body under perturbation, or at minimum ragdoll recovery - [calm] Tessler, Kasten, Guo, Mannor, Chechik and Peng. CALM: Conditional Adversarial Latent Models for Directable Virtual Characters (arXiv 2305.02195, SIGGRAPH 2023). Jointly learns a control policy and a motion encoder so that a trained character is controlled through intuitive interfaces akin to those in video games, with style conditioning for higher-level task training. publisher · read in our library
knowledge/fetched/cmp_npcai_calm.html· pinh734a1acbcf38ec92215f485f9e41e8c04e7484c6c5a6f26ff05d01255d88e87c· accessed 2026-08-27 · published-paperGrounds: PHYSICS CONTROLLER: a tracking policy that carries the body under perturbation, or at minimum ragdoll recovery - [phc] Luo, Cao, Winkler, Kitani and Xu. Perpetual Humanoid Control for Real-time Simulated Avatars (arXiv 2305.06456, ICCV 2023). A physics-based humanoid controller that imitates ten thousand clips without external stabilising forces, recovers from fail states, and drives avatars perpetually from noisy video or language-generated poses in a live multi-person use case. publisher · read in our library
knowledge/fetched/cmp_npcai_phc.html· pinh8df61bf305b15a2005a789e2bd6119921358ec6744ee6d975b988fbdf43c870b· accessed 2026-08-27 · published-paperGrounds: PHYSICS CONTROLLER: a tracking policy that carries the body under perturbation, or at minimum ragdoll recovery - [maskedmimic] Tessler, Guo, Nabati, Chechik and Peng. MaskedMimic: Unified Physics-Based Character Control Through Masked Motion Inpainting (arXiv 2409.14393, SIGGRAPH Asia 2024). One physics-based controller trained to synthesise motion from masked keyframes, objects, text or any combination, supporting diverse control modalities and seamless transitions between disparate tasks without reward engineering per behaviour. publisher · read in our library
knowledge/fetched/cmp_npcai_maskedmimic.html· pinh4aef73f0799be278ff99ff4a9e39ba4670ed81d45902fa1cea0c203343861107· accessed 2026-08-27 · published-paperGrounds: NEURAL MOTION: a learned codebook over pose vectors (Lloyd-trained vector quantisation) and a token-transition generator that composes motion sequences it was never given whole - [interprior] Xu, Schulter, Ziyadi, He, Fei, Wang and Gui. InterPrior: Scaling Generative Control for Physics-Based Human-Object Interactions (arXiv 2602.06035, 5 February 2026). A unified generative controller from large-scale imitation pretraining and RL post-training that generalises loco-manipulation to unseen objects and initialisations, with user-interactive control and real-robot potential. publisher · read in our library
knowledge/fetched/cmp_npcai_interprior.html· pinhc9c136a644f4305ea20a4086036fc0fc9db221f12e040e108f3430f27f31e945· accessed 2026-08-27 · published-paperGrounds: PHYSICS CONTROLLER: a tracking policy that carries the body under perturbation, or at minimum ragdoll recovery - [maskadapt] Park, Lee, Lee and Lee. MaskAdapt: Learning Flexible Motion Adaptation via Mask-Invariant Prior for Physics-Based Characters (arXiv 2603.29272, CVPR 2026). A mask-invariant base policy trained with stochastic body-part masking, then a residual policy that adapts only the targeted body parts, for motion composition and text-driven partial goal tracking. publisher · read in our library
knowledge/fetched/cmp_npcai_maskadapt.html· pinhb64961d61d32fac4aa5813d523e86007e96b6289725be22d23bee4c46ae10cd2· accessed 2026-08-27 · published-paperGrounds: PHYSICS CONTROLLER: a tracking policy that carries the body under perturbation, or at minimum ragdoll recovery - [clavet] GDC Vault listing: Motion Matching and The Road to Next-Gen Animation, Simon Clavet, Ubisoft Montreal, GDC 2016, Programming track (fetched 2026-08-27). The session overview describes a declarative animation philosophy -- small structured markup on top of long animations instead of small animations in a big structure -- for fluid, complex movement responsive enough for comfortable control. publisher · read in our library
knowledge/fetched/cmp_npcai_clavet.html· pinhd8707ae3af16d8f0a7fb63d8e5517629c474692c12571fb31037424063d23622· accessed 2026-08-27 · mirrored-indexGrounds: LOCOMOTION: motion matching -- pose search over a clip database driven by the future trajectory, inertialized transitions, a learned variant whose memory does not grow with the data - [lmm] Holden, D. Learned Motion Matching, the author's page for the SIGGRAPH 2020 paper (fetched 2026-08-27). Three specialised networks replace the three steps of the Motion Matching algorithm so the controller almost perfectly emulates the original without keeping animation data in memory, retaining quality, control and quick iteration while scaling like generative models. publisher · read in our library
knowledge/fetched/cmp_npcai_lmm.html· pinha5d886a4b8690be433595b329840e20770f924ea354126c7f56f670aabebcce0· accessed 2026-08-27 · published-courseGrounds: LOCOMOTION: motion matching -- pose search over a clip database driven by the future trajectory, inertialized transitions, a learned variant whose memory does not grow with the data - [mmscratch] Holden, D. Code vs Data Driven Displacement, 23 September 2021 (fetched 2026-08-27). The motion-matching-from-scratch write-up: synchronising a simulation object with the animation by matching its future trajectory, the trade between responsiveness and foot sliding, and foot locking with an inertializer that locks the toe on contact and unlocks when the animation drifts too far from the contact point. publisher · read in our library
knowledge/fetched/cmp_npcai_mmscratch.html· pinh0e7d38ad84ecf564476c25a87e2fe4c01801530d6f5c53402b8cc722cea7ff0e· accessed 2026-08-27 · published-courseGrounds: LOCOMOTION: foot lock -- toe contact locked through an inertializer and released with a distance heuristic, two-joint analytic IK on the leg - [twojointik] Holden, D. Simple Two Joint IK, 18 January 2017 (fetched 2026-08-27). The analytic two-joint solution in two steps: extend or contract the chain so the hip-to-heel length matches hip-to-target, then rotate the hip until the heel slides into place, with the target length clamped by an epsilon. publisher · read in our library
knowledge/fetched/cmp_npcai_twojointik.html· pinhb9d8a13c96fade66c685175257927f54eda3c33ac85775f08d27323b96294f26· accessed 2026-08-27 · published-courseGrounds: LOCOMOTION: foot lock -- toe contact locked through an inertializer and released with a distance heuristic, two-joint analytic IK on the leg - [unitymm] Ponton, J. L. Motion Matching for Unity, repository README (JLPM22/MotionMatching, fetched 2026-08-27). A master-thesis implementation of motion matching packaged for Unity 6 with adjustable inertialize blending and foot locking; the repository publishes no releases and no tags (read live 2026-08-27). publisher · read in our library
knowledge/fetched/cmp_npcai_unitymm.md· pinhd39dddf7d1f4e6d2fc19bc77689ef0a0d5b10a23d4eca409f6074081784749fb· accessed 2026-08-27 · source-readGrounds: LOCOMOTION: stop at a foot-plant, not mid-swing -- the clip eases to the nearest double-support phase while the idle pose blends in, with hysteresis (enter idle at 0.03, leave above 0.15, release over about 400 ms)
generated by nx_swcompare_matrix (sovereign NishiLang organ) from knowledge/compare/npcai.matrix · every Nishi cell verified against organ source at emit time · watch cells re-measured on every compare beat · zero JS, zero trackers