Repository navigation
What a game's day asks of a figure: sit, lie down, eat, kneel, work, carry, fight, each with the number it is judged by #825
Description
The case. Siltreach (a private game on ae3d: a sandbox of people living their days in a wasteland camp, fighting, getting hurt, treating each other) has paused its own motion work: on the game's own people, every motion it showed its owner looked broken, and patching it game-side only piles on top of what ae3d is reworking (#572, #509, #790). The game now builds its systems with bodies off and will turn bodies back on activity by activity as ae3d's motion meets the bar below. This is the list of what a day in the camp and a fight ask of a figure, each with the number the game will judge it by, so the motion loop can work against a game's needs, not only against locomotion and hits.
Most of a day is not walking or fighting: today the game fakes sleeping, sitting and eating with a crouch, because a figure has no way to sit on a log or lie down in a bedroll and get up again.
The list (each a scripted scene on a public CC0 figure, Quaternius' adventurer or ae3d's own, POWERED unless it says ANIMATED; measured as the game measures):
| # | What | Judged by |
|---|---|---|
| 1 | Walk to a spot 10 m off and stop on it, facing a given way; the same at a run; a 90° and a 180° turn on the way | toe skating while a foot bears ≤ 5 mm (any lock state); no bone faster than 12 m/s in the figure's own frame; stops within 0.3 m of the spot and 10° of the facing; no step taken standing still |
| 2 | Sit down on a seat 0.4 m high (a log), stay, stand up | the pelvis on the seat (≤ 3 cm off) while sitting; feet planted (≤ 5 mm) through the sitting down and the standing up; no pop |
| 3 | Sit and eat from a bowl in the hands; drink from a cup | as 2, the hands holding the bowl (≤ 3 cm off its handles) and reaching the mouth |
| 4 | Lie down on a bedroll on the ground, lie still, get up | the whole body on the bedroll's footprint lying; no part under the ground (≤ 1 cm); up in ≤ 4 s; no pop |
| 5 | Kneel by someone lying on the ground and work over them with both hands (treating a wound), stand up | a knee on the ground (≤ 2 cm); the hands at the wound's point (≤ 5 cm) for the treatment's length; feet planted getting down and up |
| 6 | Stand at a bench and work with both hands | the hands on the bench's top (≤ 3 cm); feet planted; a weight shift every few seconds, not a statue |
| 7 | Carry a load of 20 kg in both arms while walking | as 1, slower; the hands on the load (≤ 3 cm); the trunk leaning back for it |
| 8 | Guard with an axe, strike, take a blow, stagger, fall, get up | the game's hit station envelope: 0.5 and 1 m/s from behind, 0.8 from the side, 0.5 from in front stand (stepping as needed); 5 m/s falls, protects itself and gets up in ≤ 3 s; a knockdown from in front falls back, not a roll, and gets up facing within 45° of where it fell; a strike's weapon head ≤ 30 m/s and on its line |
| 9 | Aim a pistol, fire, reload, standing and walking | the barrel on the aim line (mean ≤ 2°, worst ≤ 8°); both hands on the gun (≤ 4 cm); toe skating as 1 while walking |
| 10 | Run away in panic and stop | as 1 at a sprint; turns of 120°+ taken in steps, not a slide |
How the game will take them back: every person's body is optional; when one of these passes on ae3d main, the game turns bodies on for that activity on its own people (MPFB 2 humans on a game-engine skeleton, 57 bones) and its gates measure the same numbers there. Which ones come first matters less than each being whole when it comes: 1, 2 and 4 first would let the camp's day be shown.
Related: #572 (natural motion), #509 (motion matching and procedural layers), #790 (muscles), #705 (weight shift), #778 (feet sliding), #821 and #822 (the muscles on Siltreach's people), #625 (crawling).
Activity
nicolas-maman commentedon Oct 19, 2026
How the list maps onto #790 and what ae3d already has, in the order Siltreach asked for (1, 2, 4 first):
2 (sit on a log) and 4 (lie down in a bedroll, get up) come first, as one feature: deliberate whole-body actions at an interaction point.
motion.get_up). Each key puts the trunk where the planted feet, hands or seat can hold it, and each limb is solved to its contact every step, so a planted foot stays put. A game that has a clip for the action (Siltreach's mocap) gives the clip instead and it is warped to the same point.motion.sit(m, seat_top, facing)andmotion.stand_up(m);motion.lie_down(m, at, way), thenmotion.get_up(m)as now.test_get_upholds the way up).1 (walk to a spot and stop on it) builds on
ae3d.locomotionandae3d.matching. Both exist: Holden's simulation bone, inertialized clip changes, momentum. What's missing is arrival: a stopping distance from the deceleration, so the figure stops on the spot facing the given way. Toe skating gets foot locking on the planted foot. This one is mostly ANIMATED, as #825 allows.7 (carry 20 kg) has a start:
locomotion.set_loadleans the hips away from the load and slows the figure. The hands on the load and UAL2'sWalk_Carry_Loopcome with it.8 (the hit envelope): the knockdown that falls back rather than rolling is fixed on #824 (#822). The side push is waiting on a standalone repro (#821).
3, 5, 6, 9, 10 build on the same action machinery (the hands' contacts) and on aiming, after 1, 2 and 4.
Scenes on Quaternius' adventurer (CC0) and ae3d's box man. UAL2 Standard (CC0) has
LayToIdle,Consume,Walk_Carry_Loopand the farm and bench work, but no sit or lie-down clips, hence the keyed actions.motion: a sitter and a lier rest on their seat and bedroll by their d…
Merge pull request #826 from aether-lang-dev/feat/motion-actions
Merge pull request #831 from aether-lang-dev/feat/motion-goto
motion: a cup held in one hand, sat, and a sip from it (#825, its 3)
Merge pull request #839 from aether-lang-dev/feat/motion-eat
Merge pull request #844 from aether-lang-dev/feat/motion-kneel