Commit Graph
47 Commits
Author SHA1 Message Date
Nicholas ButzkeandClaude Fable 5 0155bcdf04 fix: tighten gun audio timing and replace off-character sounds
- Gunshots: strip lead-in silence from every firearm recording (the audible
  delay between trigger and bang) and hard-trim to a single 0.7s crack with
  a fast fade — the outdoor-range echo read as 2-3 extra shots. Big single
  shots (AWP/shotgun/rocket/mortar) keep a 1s tail but still one boom.
- Hit confirm: short fleshy punch thock instead of the bell ("taco bell")
- Dash: clean synthesized air whoosh (bandpassed pink noise swell) instead
  of thruster fire crackle; grapple shoot inherits it
- Jump: push-off foot scuff + faint whoosh instead of the balloon boing
- Wind speed-loop: deep lowpass so it reads as rushing air, not fire
- Grenade: silent in flight — the rocket-engine loop made it sound like it
  was burning; bounces still audible

Verified: reimport + smoke test 0 failures, 11/11 movement tests.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-17 23:29:34 -04:00
Nicholas ButzkeandClaude Fable 5 a9b0775de3 feat: real gunshots, localized 3D audio, seamless music, better animations
Audio:
- All ballistic weapons now fire real firearm recordings (The Free Firearm
  Sound Library, CC0): AK-47 uses actual AK-47 shots, M4=AR-15, MP7=PPSh,
  AWP=Mosin Nagant, DMR=Savage 10, shotgun=Mossberg/Nova, nailgun=Ruger .22,
  rocket/mortar layered with real booms. Plasma keeps its energy sound.
- Reload is real lever-action foley instead of interface clicks
- Projectile flight loops localized: unit_size 50->6, max_db 6->0,
  max_distance 45 — no more mortar/rocket drone in every player's ear;
  loops also got proper loop_end (was a zero-length loop)
- Flight loops lowpassed into soft whooshes instead of sci-fi engine drones
- Menu music converted to OGG with native full-track looping (47s seamless,
  replaces the broken manual WAV loop points)

Animations (movement-shooter pass):
- Rebaked miku.glb with 4 new clips from the CC0 library: Grapple (swim
  reach — reads as a swing), PistolIdle (armed idle with weapon up),
  PistolShoot, PistolReload
- Armed idle: standing with a weapon now uses PistolIdle instead of
  arms-at-sides
- Slide pose overhaul: legs kick out front (lead/trail thighs, knees
  straighten) — feet-first slide instead of "sitting in a crouch"
- Wall run: forward drive pitch + inner arm reaches out to the wall
- Per-transition blend times: dash/hit/jump cut fast (0.05-0.08s),
  locomotion cross-fades smoothly (0.2-0.25s); CrouchWalk speed-scales

Fixes:
- Third-person camera no longer renders the first-person viewmodel layer
  (the gun/arms floated in front of the third-person view)

Verified: 11/11 movement tests, smoke test 0 failures (17 clips resolved),
third-person run screenshot shows grounded animated model, no floating gun.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-17 21:49:10 -04:00
Nicholas ButzkeandClaude Fable 5 6c8b0ddd28 feat: cel-shaded look & feel overhaul — real audio, comic UI, themed VFX
Audio (all CC0 — Kenney packs + OpenGameArt, see assets/sounds/SOURCES.md):
- Replace every procedural synth WAV with forged sounds (ffmpeg pitch/layer
  mixes): distinct fire sounds per weapon with 2-3 variations, explosions,
  footsteps x5, land/jump/dash/vault, knife swing, hit/kill confirms,
  bullet impacts, reload, flight loops, UI hover/click/confirm/error,
  match jingles, menu music
- AudioManager.stream_for(): AudioStreamRandomizer per sound id — every
  weapon now gets variation + pitch randomization on each shot
- Explosions and bullet impacts play positional audio; landing has its own
  sound instead of a pitched footstep; ambient wind bed on every map

Visuals:
- ExplosionVFX: shared cel-shaded burst (white-hot stepped core, ink
  shockwave ring, star spikes, flat smoke puffs) replaces the orange
  sphere in both local and remote-replay paths
- Comic star muzzle flashes on all weapons; unified cel tracer bolts with
  ink outlines across hitscan/shotgun/remote paths
- Impact decals: hard-stepped ink-splat gradients instead of soft airbrush
- Toon shading on first-person view models + arms, third-person weapons,
  and the procedural humanoid fallback (no hull outlines on FBX weapons —
  their hard normals tear the inverted hull)
- Fix: giant soft "blob" highlight on floors — toon rim/specular disabled
  on level-geometry materials (pre-existing artifact since the cel commit)
- Fix: own third-person weapon rendered into the first-person camera
  (shadows-only now covers first_person_mode)

UI:
- UITheme: comic theme on the root window — Bangers display font (OFL),
  paper panels with thick ink borders + hard drop shadows, papaya accent,
  themed buttons/inputs/popups; hover/click sounds on all menu buttons
- Main menu: tilted comic wordmark, sunset toon diorama, looping menu music
- Match HUD: themed scoreboard/killfeed/kill counter

Viewports:
- 4x MSAA project-wide + viewmodel/diorama viewports (crisp ink lines)
- Viewmodel camera near plane 0.01; third-person camera FOV syncs settings
- debug/visual_capture.gd: dev tool to screenshot menu + level for review

Verified: 11/11 movement tests, spawn smoke test 0 failures, before/after
screenshot comparison of menu and level.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-17 18:15:42 -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 0672bebe7b feat: add rigged+animated Miku player model with auto-rig pipeline
- Add miku_rigged_animated.glb (3.27MB) with 18-bone skeleton and 6 animations
  (Idle, Walk, Run, Jump, Crouch, Death) via Blender auto-rig script
- Add tools/rig_and_animate.py: reusable Blender script for rigging any humanoid
  mesh with Mixamo-compatible bone naming
- Update SkinnedPlayerModel: scale_factor, first-person mode, animation state
  matching (Idle/Walk/Run/Jump/Crouch/Death)
- Update level_runtime.gd: use skinned model for local player, procedural
  humanoid for remote players
- Update skin_manager.gd and test_level_builder.gd to use animated model
- Fix Godot 4.2.1 'is not Type' syntax in 5 weapon files
- Add editor/import_miku_to_tscn.gd for editor-based GLB import
2026-06-23 00:19:52 -04:00
DottsGit 3c512870f2 feat: implement movement state machine ground/air states and initialize weapon manager system 2026-06-10 22:37:17 -04:00
DottsGit 887d9c1523 feat: implement PlayerMovementController and grenade projectile system 2026-06-09 23:04:32 -04:00
DottsGit 86abae27dd feat: implement weapon manager with viewmodel viewport, procedural arms, and loadout synchronization 2026-06-09 22:47:27 -04:00
DottsGit cff83b6356 feat: implement WeaponManager with viewport-based viewmodel rendering and procedural animation support 2026-06-09 22:44:56 -04:00
DottsGit 3e6eb40add feat: implement base weapon system classes for hitscan and projectile mechanics 2026-06-09 22:40:52 -04:00
DottsGit f63187e493 feat: implement foundational weapon systems, including hitscan and projectile base classes, reload mechanics, and player movement/camera integration. 2026-06-09 22:33:40 -04:00
DottsGit 4bb867a6f2 feat: implement plasma gun and rocket swarm mechanics along with various 3D asset imports 2026-06-07 18:23:47 -04:00
DottsGit 30dbf7a4cd feat: implement player movement controller and initial weapon framework including double barrel shotgun and explosive projectiles 2026-06-06 21:09:40 -04:00
DottsGit 07a15fe998 fix: a lot of network sync fixes 2026-06-06 20:45:10 -04:00
DottsGit dbbfbef4a4 fix: a lot of networking bugs 2026-06-06 19:26:22 -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 c9d18ffe23 fix: nailgun projectiles and tracers 2026-06-06 12:10:48 -04:00
DottsGit 3488b8e005 fix: 3rd person and first person views 2026-06-06 11:51:28 -04:00
DottsGit 909b25548c fix: fov now linearly increases with speed and first person weapon view no longer clips through walls 2026-06-06 11:16:50 -04:00
DottsGit 10416a83a0 fix: awp fov 2026-06-06 11:05:46 -04:00
DottsGit 4eaf4671ef fix: removing placing the 2d graphic on entities and changing it to a swipe for the knife 2026-06-06 02:26:16 -04:00
DottsGit 18b8b3ee99 feat: added the knife 2026-06-06 02:22:27 -04:00
DottsGit 27460be0ea fix: scoping 2026-06-06 02:03:05 -04:00
DottsGit a47d01632d adj: projectile physics when moving backwards 2026-06-06 01:49:43 -04:00
DottsGit 8118100a95 feat: added explosion sounds 2026-06-06 01:42:15 -04:00
DottsGit d784045214 feat: added audio settings 2026-06-06 01:26:51 -04:00
DottsGit 46cee744d1 fix: 2d surface hit graphics no longer appear when hitting an entity 2026-06-06 01:18:51 -04:00
DottsGit ee1114948b adj: adjusted the awp and swarm rocket damage 2026-06-06 00:22:45 -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 acd495893d feat: added ragdoll, health, death, and adjusted mortar 2026-06-06 00:01:27 -04:00
DottsGit 6af87eb7bd feat: added rocket noises and smoke trails and adjusted AoE of rockets and damage falloff on AoE 2026-06-05 13:32:10 -04:00
DottsGit ca2a80e38b feat: reducing ms gain from shotguns. Adjusting swarm launcher 2026-06-05 01:19:51 -04:00
DottsGit 9f3264170e feat: projectile speed is increased with respective player speed. Does not effect lateral projectile movement respective to the player 2026-06-05 00:42:22 -04:00
DottsGit da16a3a757 feat: implement weapon framework, hitscan logic, and player movement controller with state management 2026-06-05 00:25:41 -04:00
DottsGit ea96b41287 feat: adding tracers to hitscan weapons 2026-06-04 23:33:36 -04:00
DottsGit dcd0df2b2c feat: implement BaseHitscanWeapon class with raycasting, ammo management, and penetration support 2026-06-04 18:42:59 -04:00
DottsGit bd04135dba feat: implement explosive and homing projectile types for weapon system 2026-06-04 18:40:59 -04:00
DottsGit 09103ce366 feat: add Rocket Swarm, Mortar, and BouncingProjectile weapon types 2026-06-04 18:17:34 -04:00
DottsGit e6a2199777 feat: implement weapon system, loadout manager, and specialized projectile behaviors with associated assets 2026-06-04 18:14:50 -04:00
DottsGit c32f45a8aa feat: implement projectile system and add nail gun, plasma gun, and DMR weapons 2026-06-04 17:35:12 -04:00
DottsGit 1ccc66a601 feat: add plasma gun weapon implementation and new pause menu system with loadout management 2026-06-04 17:06:50 -04:00
DottsGit 67bd5b4302 feat: add double-barrel shotgun weapon, player movement state machine, and procedural sound assets 2026-06-04 16:40:15 -04:00
DottsGit 13ca2f46e9 feat: implement double barrel shotgun weapon with procedural sound generation 2026-06-04 13:23:31 -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
DottsGit 8eea7d6e36 feat: implement loadout management system, interactive pause menu, and weapon slot switching functionality 2026-06-04 09:12:16 -04:00
DottsGit 45fb7f0f38 feat: add state machine movement classes, double barrel shotgun weapon, and test level builder utility 2026-06-04 01:21:50 -04:00