CSU AI Perception & Awareness
by CSU Ops
Contributors
CSU Ops
1.0.35
Large-fight performance: per-target checks (lights, footing, side) shared across observers, halving the once-a-second plate work; plates rest 70% of the sensor's gap instead of 50%, about 40% less per-frame plate work. No increase in see-throughs on replays of a 110-AI fight.
- Game Version
- 1.8.0.13
- Created
- Fri, 09 Oct 2026 17:21:11 GMT
- Last Modified
- Fri, 09 Oct 2026 17:21:22 GMT
1.0.34
Large-fight performance near the player: timed plates now also cover AI at full detail (switch cloakTimedLod0). Replay with every AI at full detail: 26-56 ms down to 10-20 ms a frame, no see-throughs.
- Game Version
- 1.8.0.13
- Created
- Fri, 09 Oct 2026 03:42:25 GMT
- Last Modified
- Fri, 09 Oct 2026 03:42:29 GMT
1.0.33
Large-fight performance, fixed: AI leaving the no-plates state stay at zero recognition until their sensor has seen the new plates twice; timed plates rest only within both the time and frame gap the sensor actually keeps. Replay of a 110-AI night fight: about 5x faster than 1.0.31, half the see-throughs.
- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 17:59:45 GMT
- Last Modified
- Sun, 04 Oct 2026 17:59:58 GMT
1.0.32
Large-fight performance: AI that can see no enemy get zero recognition and no plates; other AI re-aim plates only when their sensor is due to look. Switches cloakBlind and cloakTimed.
- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 04:27:53 GMT
- Last Modified
- Sun, 04 Oct 2026 04:28:01 GMT
1.0.31
Measurement build for large fights: frame cost split, blind-observer census, sensor look timing, re-aim causes (heartbeat lines under the log switch). No behaviour change.
- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 03:44:29 GMT
- Last Modified
- Sun, 04 Oct 2026 03:44:34 GMT
1.0.30
Tracers: AI who hear a shot and can see its tracer turn toward where it came from (direction only; terrain, trees, buildings block; 700 m night, 300 m day). Daylight: a man in the open is now visible out to the engine's 750 m at noon; night unchanged. Occluder: plate step-aside check covers the plate's padding; leftover test switches removed. Diagnostics: see-through log records head movement and hands; cloakHeadPad switch (off by default).
- Game Version
- 1.8.0.13
- Created
- Tue, 29 Sep 2026 22:24:01 GMT
- Last Modified
- Tue, 29 Sep 2026 22:24:08 GMT
1.0.29
Occluder: far plates re-aim when they come back up; plates can no longer lag the head by a few mm; AI tick reads a fresh eye origin. Occluder: dead AI's plates removed within a second. Occluder: yield no longer flickers on the edge; allowed man's crouch/stand re-checks plates at once. Occluder: cheaper per plate (script and commit).
- Game Version
- 1.8.0.13
- Created
- Tue, 29 Sep 2026 02:26:32 GMT
- Last Modified
- Tue, 29 Sep 2026 02:26:40 GMT
1.0.28
Occluder cost switches under test, both off by default: cloakNoSetScale (skip SetScale on free plates), cloakSlackReaim (leave a plate that still covers with pads intact). Cost bench and shadow measurement tools (off). aimCalls and cloak3 heartbeat.
- Game Version
- 1.8.0.13
- Created
- Mon, 28 Sep 2026 22:32:26 GMT
- Last Modified
- Mon, 28 Sep 2026 22:32:31 GMT
1.0.27
Occluder: separate per-frame answers for head moved and body moved (one answer served both before). Heartbeat counters crossWrong and aimCalls for the cost work.
- Game Version
- 1.8.0.13
- Created
- Mon, 28 Sep 2026 20:54:18 GMT
- Last Modified
- Mon, 28 Sep 2026 20:54:24 GMT
1.0.26
Occluder: full pad from the first frame of a stance change (men rising over cover). Stood-down plates no longer aimed while off. Leak lines report stance-change state.
- Game Version
- 1.8.0.13
- Created
- Mon, 28 Sep 2026 19:23:45 GMT
- Last Modified
- Mon, 28 Sep 2026 19:23:50 GMT
1.0.25
Occluder: far plates re-aim every frame when the observer's head moves (still men looking around no longer see through). Head-step pad for one-frame lag. Still-observer pad off by default. Self-check traces take the nearest contact.
- Game Version
- 1.8.0.13
- Created
- Mon, 28 Sep 2026 18:37:54 GMT
- Last Modified
- Mon, 28 Sep 2026 18:38:03 GMT
1.0.24
Occluder: pad the plate for standing-still observers, the last leak class. Origin scan round two (pivot/eye/lookMS/lookLS) rides along as a switch.
- Game Version
- 1.8.0.13
- Created
- Mon, 28 Sep 2026 16:59:34 GMT
- Last Modified
- Mon, 28 Sep 2026 16:59:39 GMT
1.0.23
Occluder origin scan: cloakOriginScan tries six candidate sensor origins side by side. Per-component offset switches cloakOffX/Y/Z.
- Game Version
- 1.8.0.13
- Created
- Mon, 28 Sep 2026 03:47:28 GMT
- Last Modified
- Mon, 28 Sep 2026 03:47:33 GMT
1.0.22
Occluder plates placed for the sensor pivot, not the eye. Pads along the body line. Yield check cost cut. Profile switches: cloakOriginFlip, cloakPadLong, cloakPadShort.
- Game Version
- 1.8.0.13
- Created
- Mon, 28 Sep 2026 00:58:28 GMT
- Last Modified
- Mon, 28 Sep 2026 00:58:33 GMT
1.0.21
Plates are free entities again (a child of the observer is excluded by his own sensor and crashed Game Master deletes). Suspects as profile switches: cloakParented, cloakOriginEye, cloakMinScale. Per-frame moved gate for cost.
- Game Version
- 1.8.0.13
- Created
- Sun, 27 Sep 2026 23:33:03 GMT
- Last Modified
- Sun, 27 Sep 2026 23:33:09 GMT
1.0.20
Plate is now a shipped model collider (decorative flag part, 3:1) instead of a script-built body, which the sensor's trace never saw. Collider centre placed on the ray.
- Game Version
- 1.8.0.13
- Created
- Sun, 27 Sep 2026 23:02:30 GMT
- Last Modified
- Sun, 27 Sep 2026 23:02:38 GMT
1.0.19
Plate body is a dynamic collision-only body (static plates were not stopping the sensor). Leak line reports plate up-time and the engine's block distance. Yield test rate-limited with hysteresis.
- Game Version
- 1.8.0.13
- Created
- Sun, 27 Sep 2026 22:29:56 GMT
- Last Modified
- Sun, 27 Sep 2026 22:30:02 GMT
1.0.18
Plates placed for the sensor's real origin (camera eye, measured on the leak line in 1.0.17). Re-aim only when the ray leaves the plate's margin: frame cost down from 3 ms. Origins line adds the mirrored anchor.
- Game Version
- 1.8.0.13
- Created
- Sun, 27 Sep 2026 21:53:24 GMT
- Last Modified
- Sun, 27 Sep 2026 21:53:29 GMT
1.0.17
Thin 3:1 plates sized from aimpoint discs, parented to the observer head bone. Lit man wins: a plate that would cover a lit or in-beam man stands down. Plate pool. Torch and in-beam pin to max range. Diagnostics: seen line, origins line, torch carrier reading.
- Game Version
- 1.8.0.13
- Created
- Sun, 27 Sep 2026 21:35:39 GMT
- Last Modified
- Sun, 27 Sep 2026 21:35:44 GMT
1.0.16
Occluder plate stands off at forty percent of the pair distance, up to two metres, so its cone is a couple of degrees instead of up to eighteen and a near man on a far man's bearing is no longer hidden. Occluder band is the engine maximum, 750 m. A switched-on flashlight makes its carrier visible at maximum range. Far plates padded and re-aimed faster. Leak line explains itself on a second line.
- Game Version
- 1.8.0.13
- Created
- Sat, 26 Sep 2026 22:47:25 GMT
- Last Modified
- Sat, 26 Sep 2026 22:47:31 GMT
1.0.15
Occluder: a plate is no longer swept as stale between two of its observer's own ticks (AI at the lowest level of detail tick every twelve seconds; stale was three). Leak detector: any refused, plated pair the sensor still holds something on prints one line with range, radius and plate state, under log. AI-versus-AI smoke test build.
- Game Version
- 1.8.0.13
- Created
- Sat, 26 Sep 2026 15:32:32 GMT
- Last Modified
- Sat, 26 Sep 2026 15:32:43 GMT
1.0.14
Per-observer vision occluder, on by default: an AI does not acquire a target its radius does not reach. Now covers every hostile pair, AI against AI included; same-side pairs are never occluded. Downed enemies are engaged, no free timeout. Radius read from the gate's own per-pair number; exposure never raises it; placement lag guarded; per-frame aim with motion and head pads. Heartbeat prints plates, targets, aim cost and fps under log. Release candidate pending the AI-versus-AI test.
- Game Version
- 1.8.0.13
- Created
- Sat, 26 Sep 2026 15:17:22 GMT
- Last Modified
- Sat, 26 Sep 2026 15:17:27 GMT
1.0.13
Occluder removed, along with its headless bench and its two-AI rig. It was implicated in AI standing inert with their perception hooks reading zero, and it had never once been shown to stop the AI sensor. The complete work is archived, not abandoned. Its four profile keys are gone; an old profile file carrying them still loads, since unknown keys are ignored. The attribution probe and the heartbeat counters stay.
- Game Version
- 1.8.0.13
- Created
- Sat, 26 Sep 2026 02:23:47 GMT
- Last Modified
- Sat, 26 Sep 2026 02:23:54 GMT
1.0.12
Heartbeat now reports the AI census beside the call counts. A zero call count has two meanings that the counters alone cannot separate: AI present and not simulating, or no AI agents in the world at all. Groups and agents are printed on the same line so the two are always read together.
- Game Version
- 1.8.0.13
- Created
- Sat, 26 Sep 2026 02:02:31 GMT
- Last Modified
- Sat, 26 Sep 2026 02:02:49 GMT
1.0.11
The occluder was never committed. Setting a transform on a body the engine does not tick itself does nothing until Update() is called, so every move since this was written left the collision where it first spawned and traces never saw it. It is committed now, and the log reads the committed collision back rather than the transform we wrote. Also bounded the layer forcing by the body's own geometry count instead of a fixed eight.
- Game Version
- 1.8.0.13
- Created
- Sat, 26 Sep 2026 01:13:12 GMT
- Last Modified
- Sat, 26 Sep 2026 01:13:21 GMT
1.0.10
Occluder fix. It was raised from a method that fires once per soldier and then never again, so it was swept away three seconds later and never existed in practice. It now runs on the one second tick, and is raised before the pair is read rather than after.
- Game Version
- 1.8.0.13
- Created
- Tue, 22 Sep 2026 04:16:19 GMT
- Last Modified
- Tue, 22 Sep 2026 04:16:24 GMT
1.0.9
Occluder now uses a real prefab instead of hand-built geometry, which could never be hit: an entity with no model has no bounding box and traces cull on bounds before reaching geometry. Invisible, and restricted to the vision layer so it cannot stop a bullet or be walked into. Adds a headless two-AI rig for testing it.
- Game Version
- 1.8.0.13
- Created
- Tue, 22 Sep 2026 03:15:32 GMT
- Last Modified
- Tue, 22 Sep 2026 03:15:43 GMT
1.0.8
Occluder: the aimpoints come back in world space, not model space as the engine comment claims. Transforming them again put the box's aim point kilometres away and sized it at a fraction of a millimetre.
- Game Version
- 1.8.0.13
- Created
- Mon, 21 Sep 2026 06:28:43 GMT
- Last Modified
- Mon, 21 Sep 2026 06:28:50 GMT
1.0.7
Occluder diagnostics: prints every input to the box size, not just the result.
- Game Version
- 1.8.0.13
- Created
- Mon, 21 Sep 2026 06:22:40 GMT
- Last Modified
- Mon, 21 Sep 2026 06:22:48 GMT
1.0.6
Occluder fixes. The first version aimed at the target's feet and measured the observer's eye as a height only, so the engine's rays passed outside it and nothing was blocked. It now builds its geometry from the target's actual aimpoints and starts from the engine's own eye position, and the collision body is torn down before the move rather than after it.
- Game Version
- 1.8.0.13
- Created
- Mon, 21 Sep 2026 06:03:06 GMT
- Last Modified
- Mon, 21 Sep 2026 06:03:11 GMT