Skip to content

Prototype graphics-state world-worker walking - #21

Draft
SimGamerJen wants to merge 2 commits into
agent/world-workers-alpha4-movement-probefrom
agent/world-workers-alpha4-locomotion-prototype
Draft

Prototype graphics-state world-worker walking#21
SimGamerJen wants to merge 2 commits into
agent/world-workers-alpha4-movement-probefrom
agent/world-workers-alpha4-locomotion-prototype

Conversation

@SimGamerJen

Copy link
Copy Markdown
Owner

Summary

Adds the first controlled locomotion experiment on top of the Alpha 4 movement telemetry probe.

What the probe established

  • the real player exposes PlayerMover -> PlayerGraphicsState -> HumanGraphicsComponent
  • PlayerGraphicsState is where isIdling, isWalking, and isRunning actually transition
  • the raw animation getter does not reliably expose those boolean states even while movement is visibly active
  • GIANTS' on-foot update applies graphics state first, then model yaw/position, then updates the human graphics component

Prototype scope

This PR intentionally does not add pathfinding or target selection.

It adds one diagnostic command:

  • hpWorld walk [slot] [metres] (default 5 m)
  • hpWorld walkstop [slot]

The selected placed worker:

  1. keeps its current facing,
  2. accelerates into a 1.35 m/s straight walk,
  3. advances along terrain for the requested distance,
  4. decelerates to a stop,
  5. persists its new world placement.

During the test a HumanGraphicsComponentState owns absSpeed, idle/walk/run flags, movement direction, grounded state and NPC state. The Alpha 3 FACE ME/root-yaw layer is suppressed for that worker while locomotion is active, so there is one graphics owner during the experiment.

Test focus

  1. Confirm [WorldLocomotion] Loaded ... prototype-1 appears.
  2. With A placed outdoors on level ground, run hpWorld walk A 5.
  3. Observe whether A uses a genuine walking gait rather than sliding/swivelling.
  4. Confirm acceleration and stopping look smooth.
  5. Confirm there is no jitter.
  6. Confirm the worker remains at the new location after completion/reload.

If straight walking is visually correct, the next experiment can add heading changes/curved movement. If it is not, the log will tell us whether the graphics-state route is being accepted before we invest in pathfinding.

Copy link
Copy Markdown
Owner Author

In-game locomotion validation — PASS

Tested on FS25 1.21.1.0 with Rhys (slot A), outdoors on level ground.

Observed result:

  • worker visibly moves using a walking gait rather than jittering
  • movement speed is comparable to the player's slow walking movement
  • no jitter observed
  • acceleration/start and deceleration/stop are smooth; visually comparable to native player movement
  • overall presentation is close to what a real player walking on a multiplayer server would look like

Log validation:

  • prototype loaded successfully: 2.2.0.0-alpha4-locomotion-prototype-1
  • repeated hpWorld walk A 5 tests completed successfully
  • each 5 m movement ran at the intended 1.35 m/s and completed in ~4.03–4.04 s
  • each ended with WALK STOP A reason=target-reached
  • no locomotion Lua errors observed

Conclusion: the HumanGraphicsComponentState / applyState() locomotion route is viable. Next experiment should add heading changes/curved movement while preserving this single graphics-state ownership model.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant