Commit Graph
52 Commits
Author SHA1 Message Date
Hermes 671b36c20c fix(map): complete rewrite of arena layout
Problems fixed:
- Player spawn moved from inside central platform to open area (z=20)
- Removed broken internal stairs inside tower (disconnected ramps)
- Removed corner towers, walkways, stepping stones, wall-run corridor,
  wall-climb surfaces, grapple anchors — all were overlapping or unreachable
- Reduced arena from 96x96 to 80x80 for tighter gameplay
- Crates properly spaced (1.5u apart), no overlaps or intersections
- Reduced from 6 spawns to 4 (corners only), each with 2 L-shaped cover
  walls and clear exit routes — no more 3-wall traps
- Spawn alcoves use 2 walls max with open diagonal exits
- Dummies placed in open areas away from geometry:
  TargetDummy at (0,-25), KillableDummy at (25,0),
  WalkingDummy patrols z=-30 from x=-20 to 20
- Central platform simplified: 16x16 base (2u) + 8x8 upper (4u)
- 4 cardinal ramps properly connect ground to platform edge
- Cover walls placed in open lanes, not blocking movement
- Barrels placed along outer walls, not in pathways
2026-06-21 22:41:40 -04:00
Hermes 3584a7e6c5 feat(props): integrate Blender GLB props into movement map
- Replace primitive _crate(), _barrel(), _pillar() with GLB scene instances
- Add 7 prop preloads: crate, barrel, pillar, ramp, weapon_pickup, health_pack, ammo_pack
- Add _load_props() and _place_prop() helpers with null guards
- Add pickup placements: weapon (center), health (east/west), ammo (center/NW/SE)
- Props load at runtime via load() - appear once Godot editor imports the GLB files
- Null guard prevents crashes in headless mode before import
2026-06-21 22:28:41 -04:00
Hermes 462d12bee5 fix: Godot 4.2.1 compat and map builder fixes
- Fix tab character in _build_elevated_walkways() call (line 63)
- Fix untyped 'pos' variable in grapple pillar loop (line 376)
- Remove fog_sky_affinity (Godot 4.3+ only property)
- Replace preload() with load() for runtime script loading
- Replace 'is DoubleBarrelShotgun' type check with duck-typing
- Fix 'is not OfflineMultiplayerPeer' syntax in grenade spawn
- Replace absf() with abs() in state_machine, state_air, state_ground
- Update test_level.tscn to remove stale UID reference

All fixes verified: PARSE OK and scene runs without script errors
on Godot 4.2.1 headless.
2026-06-21 01:24:42 -04:00
Hermes f164afecd8 feat(map): high-quality multiplayer movement map
96x96 arena with multi-level layout, grapple points, wall-run/climb
surfaces, 6 team spawns with anti-camping cover, and varied movement
challenges.

Map Features:
- Central multi-level structure: 20x20 platform (3u), 10x10 tower (6u),
  14x14 top platform (9u) with crown cover walls and internal stairs
- 4 corner towers (5u high) with railings and top platforms
- 4 elevated mid-side walkways (3u) with railings connecting center to edges
- 8 ramps: cardinal to central, diagonal to corners, to walkways
- Quarter-pipe curve (8 segments) near NE corner
- 4 parkour stepping stone chains (NW, NE, SW, SE quadrants)
- Wall-run corridor (N side) with parallel walls, obstacles, and floor gap
- Wall-run surfaces on all 4 outer wall sections
- Wall-climb surfaces around central tower and mid-map (warm color)
- 4 grapple anchor pillars (15u tall) with visible tops at cardinal points
- Cover system: low walls, crate clusters, corridor walls, structural pillars
- Speed corridor with side rails, speed bumps, and floor markings
- 6 spawn alcoves (3 red: NW/SW/West, 3 blue: NE/SE/East) with cover walls
- Anti-spawn-camping: each alcove has 2+ exits and blocking walls
- Floor accent tiles in central area
- Atmospheric sky with procedural sky material and fog
- Directional sun + fill light + center omni + 6 spawn accent lights
- Decorative: barrels, hazard stripes, accent beams, spawn area lights
- Full multiplayer spawning, weapon system, HUD, entities preserved
- All movement states: ground, air, wall_run, wall_climb, wall_cling,
  slide, dash, grapple

Parse verified clean with Godot 4.2.1 headless.
2026-06-21 01:03:34 -04:00
DottsGit 5e4507ab24 feat: implement pause menu system with loadout and settings configuration management 2026-06-10 21:08:01 -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 cd034d1aea feat: add dust2 level builder, player movement controller, and UI menu components 2026-06-06 15:17:54 -04:00
DottsGit 31336fe870 feat: add Dust 2 level builder and implement pause menu UI with settings and loadout management 2026-06-06 14:49:45 -04:00
DottsGit 5f2c2462e2 feat: preventing players from leaving the playable area 2026-06-06 12:44:16 -04:00
DottsGit 64e024eb32 fix movement through the map is easier 2026-06-06 12:28:48 -04:00
DottsGit 050912ca61 fix: better sites 2026-06-06 12:26:03 -04:00
DottsGit 775e57ba4a feat: basic dust 2 2026-06-06 12:23:39 -04:00
DottsGit 6dceab46db feat: fps counter and limiter 2026-06-06 01:06:43 -04:00
DottsGit 33f5c7cb82 feat: added advanced settings for showing player movement debug and settings for mouse sensistivity 2026-06-06 00:51:53 -04:00
DottsGit d0716f72e8 feat: added moving killable dummy 2026-06-06 00:31:43 -04:00
DottsGit 6aae02bef8 feat: fixed ragdoll replacement 2026-06-06 00:09:20 -04:00
DottsGit acd495893d feat: added ragdoll, health, death, and adjusted mortar 2026-06-06 00:01:27 -04:00
DottsGit 72346803a9 feat: humanoid player model without animations 2026-06-05 13:37:43 -04:00
DottsGit a85e0952c5 feat: added hud for utilites 2026-06-05 02:15:32 -04:00
DottsGit ecefeb9f7e feat: added grapple mechanic 2026-06-05 02:05:07 -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 5ae6e20039 feat: add test_level_builder script for debugging level generation 2026-06-04 17:13:05 -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 02c6caa0d6 feat: implement pause menu with loadout management and rebindable input settings 2026-06-04 11:33:10 -04:00
DottsGit 8c928c2d92 feat: add test_level_builder script to debug tools for level creation testing 2026-06-04 10:28:26 -04:00
DottsGit a86ef53622 feat: implement modular state-based player movement system with chain mechanics 2026-06-04 10:26:18 -04:00
DottsGit 5e9f4bec8a feat: add test_level_builder script for debugging level generation 2026-06-04 09:22:30 -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
DottsGit 0fd921481b feat: implement movement state machine, FPS camera rig, and test level builder scaffolding 2026-06-04 00:29:19 -04:00
DottsGit da277e9d35 feat: implement player movement controller and state machine with dash, slide, and wall-run mechanics 2026-06-03 21:55:10 -04:00
DottsGit a46e35431d feat: initialize movement system UID files, update import settings, and set main scene in project configuration 2026-06-03 19:57:51 -04:00
Hermes 415082d866 fix: floor-aligned spawn, remove double jump, enable crouch speed 2026-06-03 17:39:09 -04:00
Hermes d21d5a8b89 fix: restore KEY_SHIFT dash binding 2026-06-03 17:36:37 -04:00
Hermes dc2cb8ca26 fix: correct axis direction, air accel, and jump/dash input handling 2026-06-03 17:35:28 -04:00
Hermes 365264e819 fix: spawn capsule floor-aligned in test level 2026-06-03 17:28:46 -04:00
Hermes d86eb53065 fix: place floor under player and clean debug spam 2026-06-03 17:24:18 -04:00
Hermes e5e7a7284e fix: bootstrap process ticks after runtime script attach 2026-06-03 17:14:09 -04:00
Hermes 6c57f70fb4 fix: clean state_ground and ensure duck-type state machine bootstrap 2026-06-03 16:58:48 -04:00
Hermes 9c39d79696 fix: ensure player._ready() runs before MovementStateMachine._ready() 2026-06-03 16:56:28 -04:00
Hermes 6d2f31d962 fix: rewrite TestLevelBuilder with parse-safe InputMap bootstrapping 2026-06-03 16:54:21 -04:00
Hermes f47fc4827a test: self-bootstrap InputMap actions in TestLevelBuilder 2026-06-03 16:53:04 -04:00
Hermes ea7169048f fix: manually bootstrap state machine after runtime script attachment 2026-06-03 16:49:06 -04:00
Hermes 693145fd69 refactor: remove print_debug and switch to preload for movement scripts 2026-06-03 16:42:51 -04:00
Hermes c0a90df690 fix: wire movement controller before state machine; harden machine lookup 2026-06-03 15:14:10 -04:00
Hermes ceeff6a1ab fix: add smoke verifier, camera to TestLevel, fix player collision shape 2026-06-03 15:06:26 -04:00
Hermes 1feefbf811 test: load MovementStateMachine + state scripts via set_script() at runtime
Root cause: builder created plain Node instances for the state machine
and states, so _machine.player = self in PlayerMovementController
crashed with 'Invalid assignment ... on base object of type Node'.
Now each node gets its real script attached before _ready() runs.
2026-06-03 00:36:05 -04:00
Hermes bb6cac9d7a test: full builder rewrite with player state machine, camera, and manual _ready()
- _build_player: creates Player (CharacterBody3D) with capsule,
  MovementStateMachine + 6 state children, attaches movement script
- Calls player._ready() manually after set_script (GDScript
  set_script does not auto-trigger _ready)
- Camera parented under Player so it follows movement
- Restores _build_camera() which was accidentally dropped
2026-06-03 00:28:56 -04:00
Hermes 559c4bde8f fix(debug): multi-line string literal in test_level_builder.gd 2026-06-03 00:16:41 -04:00