Commit Graph
18 Commits
Author SHA1 Message Date
Nicholas Butzke 922983429e big 2026-08-02 02:20:02 -04:00
Nicholas ButzkeandClaude Fable 5 d05477c135 feat: Sketchfab-to-game character pipeline, FP/TP animated views, client-auth netcode, audio system
Character pipeline (tools/):
- sketchfab_import.py: search/download via Sketchfab Download API with
  license/attribution tracking (SKETCHFAB_API_TOKEN)
- autorig.py: headless Blender auto-rig — fits a Mixamo-named skeleton
  to unrigged humanoids, binds automatic weights
- merge_animations.py: merges the shared Mixamo-skeleton animation
  library onto any rigged character, strips root motion, canonical names
- pipeline.py: one command chains download -> rig -> animate -> register

In-game skin system:
- SkinManager autoload reads skins.json (auto-written by the pipeline)
- SkinnedPlayerModel rewritten: canonical clips with fallback chains,
  blend times, speed-scaled locomotion, weapon bone attachment
- First-person: full animated body for the owner, head hidden via
  SkeletonModifier3D; third-person: full model for other players
- Skin selector in main menu; skin id synced in multiplayer
- Fixed GLBLoader crash (GLTFDocument.get_animation_count doesn't exist)

Multiplayer sync overhaul:
- Movement is now client-authoritative: the owning peer simulates
  locally (no input round-trip), server keeps health/kills/death
- Remote players interpolate synced_position/velocity with
  extrapolation and snap-on-teleport
- Knockback/impulses routed to the simulating peer

Audio:
- AudioManager autoload: SFX/Weapons/Footsteps/UI/Music buses, pooled
  3D players, variation + pitch randomization, auto-registration from
  assets/sounds

Docs: 3D_ASSET_PIPELINE.md rewritten end-to-end, new ASSET_SOURCES.md
(non-procedural animation/map/sound sources) and SOUND_DESIGN.md.
Verified with debug/spawn_smoke_test.gd (headless: 24/24 checks pass).

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-06 02:28:58 -04:00
Hermes 1372db9d0e fix: prefix unused 'impulse' param with underscore in walking_dummy 2026-06-22 21:40:56 -04:00
Hermes ade3d54d20 fix: rename shadowed 'visible' param, prefix unused 'impulse' with underscore 2026-06-22 20:34:02 -04:00
DottsGit 54dfd342c2 feat: implement walking and killable enemy dummy entities and player movement controller base 2026-06-06 21:00:45 -04:00
DottsGit 07a15fe998 fix: a lot of network sync fixes 2026-06-06 20:45:10 -04:00
DottsGit ff3e01a9e5 feat: implement procedural humanoid animations, modular weapon system, and dummy entity base classes 2026-06-06 19:10:29 -04:00
DottsGit 2a3e6a2c78 fix: fixing respawning 2026-06-06 14:18:45 -04:00
DottsGit 9adbff3968 feat: implement multiplayer network manager and player movement controller with base game entities and UI 2026-06-06 14:03:57 -04:00
DottsGit 168bd8f1ce feat: implement networked match HUD with real-time scoreboard and killfeed systems 2026-06-06 13:49:12 -04:00
DottsGit 45353dc982 fix: dead player ragdoll no longer triggers leaving the combat area 2026-06-06 13:09:01 -04:00
DottsGit 5f2c2462e2 feat: preventing players from leaving the playable area 2026-06-06 12:44:16 -04:00
DottsGit d0716f72e8 feat: added moving killable dummy 2026-06-06 00:31:43 -04:00
DottsGit 0b8dcaf3ce fix: ragdoll knockback is lowered across the board 2026-06-06 00:19:02 -04:00
DottsGit cb5708e19e fix: shotgun can kill the dummy without crashing the game again 2026-06-06 00:15:00 -04:00
DottsGit 6aae02bef8 feat: fixed ragdoll replacement 2026-06-06 00:09:20 -04:00
DottsGit 72346803a9 feat: humanoid player model without animations 2026-06-05 13:37:43 -04:00
DottsGit a8b3619f2e feat: implement damage dummy system, floating UI numbers, and double-barrel shotgun mechanics 2026-06-04 13:15:26 -04:00