33 Commits

Author SHA1 Message Date
Pierre Wessman
8e68202b23 . 2025-09-19 13:19:38 +02:00
Pierre Wessman
66c949e47d Fix goalie collision on failed saves by adding 500ms cooldown
When goalies fail to save shots, they now have a 500ms collision cooldown
to prevent the puck from bouncing off them repeatedly. This allows the
puck to continue into the goal after a failed save.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 13:19:01 +02:00
Pierre Wessman
15c24608d4 Fix goal detection to match light red goal areas
- Update isInGoal() to check actual goal area boundaries (goalXOffset ± goalDepth)
- Update handleGoal() to use consistent goal area coordinates
- Add continuous goal checking in puck update loop
- Add goal post collision detection to prevent entry from sides/behind
- Goals now only register when puck enters light red areas from the front

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 13:14:43 +02:00
Pierre Wessman
7412d917ee Improve goalie save mechanics and add debug logging
- Fix save calculation to use original shot velocity before collision
- Add console logging for successful/failed saves
- Enhance goalie save logic with proper difficulty scaling
- Maintain collision physics while preserving save accuracy

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 12:34:35 +02:00
Pierre Wessman
9286b28192 Make hit effect size configurable and adjust visual styling
- Add size parameter to drawHitEffect() with proportional inner/outer radii
- Reduce hit effect duration from 500ms to 200ms for faster animation
- Change hit effect color to semi-transparent black and reduce size to 10

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 11:07:50 +02:00
Pierre Wessman
8674e65432 Fix away team left/right player positioning
Away team Left Defender and Left Winger were incorrectly positioned on the right side due to formation logic not accounting for team orientation. Away team faces opposite direction, so their left/right perspective is flipped.

- Fix initial positioning in game-engine.js setupPlayers()
- Update formation logic in player.js for all positioning methods:
  - getOffensiveSupportPosition()
  - getContextualPosition()
  - getFaceoffPosition()
- Away team left positions now use positive Y (bottom), right positions use negative Y (top)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 10:55:21 +02:00
Pierre Wessman
4bf182c2a9 remove energy mechanism 2025-09-19 10:48:24 +02:00
Pierre Wessman
89b473aecf AI behaviour 2025-09-19 08:17:15 +02:00
Pierre Wessman
1ea9657aa4 Improve offensive AI: wingers push forward and better passing logic
- Wingers now push forward past attack zone (+40 units) when team has possession to create passing options
- Added findTeammateCloserToGoal() method to prioritize passes to teammates in better scoring positions
- Puck handlers now pass to teammates closer to goal with 70% probability
- Enhanced team coordination and more realistic offensive positioning

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 20:51:47 +02:00
Pierre Wessman
f7cec84973 Restructure player AI from individual to 2025-09-18 20:27:23 +02:00
Pierre Wessman
af1cbf8110 . 2025-09-16 21:15:07 +02:00
Pierre Wessman
cb8d4919a7 ... 2025-09-16 20:57:39 +02:00
Pierre Wessman
14e0794aae centralize goalXOffset positioning
Make goalXOffset a renderer property and use it consistently across:
- goal rendering with lines and depth
- goalie positioning in game engine
- goalie AI behavior in player updates

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 19:58:40 +02:00
Pierre Wessman
31015bf280 Revert "fix space between goalie and goal"
This reverts commit 69c2d2282dcd29e554def64524e600442cbfe328.
2025-09-16 19:06:21 +02:00
Pierre Wessman
dfc112c516 remove console.log 2025-09-16 19:06:05 +02:00
Pierre Wessman
cad05ad895 increase player speed 2025-09-16 16:48:41 +02:00
Pierre Wessman
cfdad79207 aggressive pressure 2025-09-16 15:13:06 +02:00
Pierre Wessman
326b3036b6 puck handling 2025-09-16 14:48:30 +02:00
Pierre Wessman
c0ced95d46 bugfix: has puck 2025-09-16 14:31:07 +02:00
Pierre Wessman
ac5b83afee debug system 2025-09-16 14:24:09 +02:00
Pierre Wessman
c09bc6edd5 function comments 2025-09-16 13:58:13 +02:00
Pierre Wessman
4236d0098d ... 2025-09-16 13:33:01 +02:00
Pierre Wessman
2533e3c50e stronger passes 2025-09-16 13:21:58 +02:00
Pierre Wessman
344569edee fix camera 2025-09-16 13:11:40 +02:00
Pierre Wessman
abe1e2ca54 remove penalties 2025-09-16 13:08:41 +02:00
Pierre Wessman
961dcc3a25 AI 2025-09-16 12:54:41 +02:00
Pierre Wessman
7cc0950a84 remove sound 2025-09-16 12:36:19 +02:00
Pierre Wessman
f1b511be15 faceoff mechanics 2025-09-16 11:49:47 +02:00
Pierre Wessman
4c48e237c0 .claude 2025-09-16 11:36:23 +02:00
Pierre Wessman
52d9ff1b8b .gitignore 2025-09-16 11:19:38 +02:00
Pierre Wessman
69c2d2282d fix space between goalie and goal 2025-09-16 11:18:20 +02:00
Pierre Wessman
3e95801351 CLAUDE.md 2025-09-16 10:38:48 +02:00
Pierre Wessman
0eb0574fbd init 2025-09-16 10:30:13 +02:00