Skip to content

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

Open

Description

@nicolas-maman

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

  1. nicolas-maman commented on Oct 19, 2026

    @nicolas-maman
    CollaboratorAuthor

    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.

    • The technique: GTA V's scenario points and Unreal 5's Smart Objects. An action is aligned to a seat or a bedroll, entered, held and left, and motion warping (UE5) puts the action's contacts on the target.
    • What ae3d has: the reference for an action is keyed and planned on its contacts, as the get-up's way up already is (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.
    • Sitting is keyed on the sit-to-stand phases from biomechanics (Schenkman et al. 1990: flexion momentum, momentum transfer, extension, stabilization), run down and back up.
    • Lying down is the face-up way up run the other way: crouch over the feet, sit back on the hands, lie back. Getting up is the existing face-up get-up (2.1 s, well under the 4 s).
    • The API, engine-level: motion.sit(m, seat_top, facing) and motion.stand_up(m); motion.lie_down(m, at, way), then motion.get_up(m) as now.
    • Measured as the list says: the pelvis on the seat (3 cm), the feet planted (5 mm), the body on the bedroll and nothing under the ground (1 cm), no pop (per-bone speed, as test_get_up holds the way up).
    • For now the bodies follow the keys through the anchors, as a get-up does; tracked by the muscles once Motion: animation as the reference, physics as the body (compliant muscles with feedforward, balance through the legs, behaviours as layers) #790 step 4 lands.

    1 (walk to a spot and stop on it) builds on ae3d.locomotion and ae3d.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_load leans the hips away from the load and slows the figure. The hands on the load and UAL2's Walk_Carry_Loop come 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_Loop and the farm and bench work, but no sit or lie-down clips, hence the keyed actions.

  2. added 6 commits that reference this issue on Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions