Commit graph

9 commits

Author SHA1 Message Date
94951ec70a M1: add networked rigged player avatar (run-around character)
- Import Hodaart Low Poly Character Collection 3 (humanoid-rigged, LFS)
- PlayerAvatar.cs: owner-authoritative CharacterController movement, animation
  derived from measured speed on every client (no NetworkAnimator needed)
- OwnerAuthNetworkTransform.cs: owner-authoritative NetworkTransform
- PlayerLocomotion.controller: Idle/Walk/Run 1D blend tree on Speed (reuses
  Hodaart clips)
- PlayerCharacter.prefab (Character 01 + CC + NetworkObject + owner NT +
  PlayerAvatar + Animator w/ humanoid avatar); registered as PlayerPrefab
- Verified in play: spawns, visible, Idle pose (rig animates), owner-auth

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 18:43:39 +01:00
5db61fdb57 M1: enlarge arena to 150x150m + container-wall ring
- Ground scaled to 150x150m; dirt re-tiled to 24x (~6.25m/tile) to hold look
- ArenaWalls: 4 invisible BoxCollider physics walls (4m tall, sealed corners)
- Junkyard_Walls: 96 cargo containers (24/side) ringing the perimeter as the
  visible wall (Junkyard models pack; physics handled by the invisible walls)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 18:32:12 +01:00
3342dec677 M1: apply junkyard dirt ground material (URP/Lit, 8x tiling)
Arena_Ground_Dirt.mat = Junk Car Parts/dirt.png (seamless cracked-earth),
Repeat wrap, 8x tiling (~6m/tile) on the 50x50m Ground plane.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 18:19:12 +01:00
fe04148045 M1: clear PlayerPrefab so clients don't double-drive during bot playtest
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 17:25:22 +01:00
36a69b1eda M1: wire shove ball + follow camera into M1_Arena
- ShoveBall: in-scene NetworkObject sphere (1.5m, 10kg, drag 0.5) at
  (0,0.75,6), host-authoritative via NetworkRigidbody/NetworkTransform,
  ShoveBall.physicsMaterial (friction 0.4/0.5, bounce 0.3). No script.
- FollowCamera on Main Camera, target=Bot, offset (0,8,-12).
- Solo host smoke test passed: ball spawns + rests on ground + shoves;
  camera frames the bot.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 17:19:10 +01:00
41d8e29632 M1: tune bot physics to stop launch/tip (playtest finding)
First 2-pilot test: bot was too hot (1200N cruise) and top-heavy -> launched
off on any nudge. Tamed in-scene: cruiseForce 1200->450, linearDamping 1.5,
angularDamping 6, maxAngularVelocity capped at 3, and lowered centerOfMass to
(0,-0.6,0) so it's bottom-heavy and resists cartwheeling. Added a host-only
debugAutoDriveFull flag on TreadPart to feel two-tread coordination solo.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 00:39:07 +01:00
e8d72e4649 M1: build shared 2-tread bot; rewire TreadPart to seat-based gating
- Rewrote TreadPart: seat-based input gating (was mis-wired to NetworkObject
  IsOwner, which needs per-tread ownership that NGO forbids for nested
  NetworkObjects). Both treads now share the chassis NetworkObject; a client
  drives the tread whose SeatManager seat it holds, host re-validates OwnsSeat
  on a RequireOwnership=false RPC. Also swapped to Keyboard.current (New input).
- Moved SeatManager OnGUI below the connectivity panel (was overlapping).
- M1_Arena: in-scene Bot NetworkObject = chassis (Rigidbody 60kg + NetworkObject
  + NetworkTransform + NetworkRigidbody + SeatManager) + Tread_L/Tread_R children
  (TreadPart, world offset +/-1.2 X for differential drive).
- Solo-verified: bot auto-spawns in-scene, seat claim + input gating wired.

Controls: W/Up throttle, Shift pivot, A/D lean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 00:13:41 +01:00
251ac8acec M1: add replicated Player capsule prefab, set as NetworkConfig.PlayerPrefab
Capsule with Rigidbody (mass 2, upright constraints) + NetworkObject +
NetworkTransform + PlayerDriver; auto-spawned per client, host-authoritative
motion via input->ServerRpc->host AddForce->NetworkTransform replication.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 23:28:59 +01:00
4536cc3726 M1: add networked scene M1_Arena (NetworkManager + UnityTransport + Bootstrap)
Empty host-authoritative arena: NetworkManager GameObject carries
NetworkManager, UnityTransport (wired as NetworkConfig.NetworkTransport),
and the NetworkBootstrap Relay host/join harness. Ground plane, camera,
directional light. Set as the build startup scene for two-client testing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 23:27:23 +01:00