Commit Graph

23 Commits

Author SHA1 Message Date
Thomas Richter
810377b76d Update fuel barrel message to reference boiling whale blubber
Changed message to clarify fuel is for cooking whale oil,
not for running the ship.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-17 03:46:29 +01:00
Thomas Richter
a17500dff4 Add intro scene with title screen
- Create IntroScene with ocean-themed background
- Display game title and 18th century whaling subtitle
- Add decorative waves and ship silhouette
- Implement START GAME button with hover effects
- Initialize inventory and transition to ShipDeckScene

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-17 03:43:27 +01:00
Thomas Richter
d6941621cd Fix Docker build and change port to 8880
- Install all dependencies including devDependencies for build
- Change port mapping from 8080 to 8880

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-16 23:40:14 +01:00
Thomas Richter
0064773eaa Add Docker-based production deployment
- Multi-stage Dockerfile with Node builder and nginx server
- Nginx configuration with gzip, security headers, and caching
- Docker Compose setup with health checks
- Updated README with deployment instructions

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-16 23:34:05 +01:00
Thomas Richter
09fd0629af Improve whale boundary behavior to avoid edge sticking
- Increased boundary margin: 60 → 100 pixels
- Push whale 20px away from edge when bouncing (not just clamping)
- Add random variation to bounce speed
- Randomize Y direction when hitting horizontal edges
- Tighter vertical bounds: 150-500 (was 120-550)
- Prevents whale from getting stuck near edges
- More natural swimming patterns in center area

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-16 23:29:14 +01:00
Thomas Richter
604c26fcc1 Double the size of the whale
- Body ellipse: 80x40 → 160x80
- Tail size and position doubled
- Fin size and position doubled
- Health bar: 60x6 → 120x12 (offset -70)
- Collision radius: 40 → 80
- Updated bodyWidth/bodyHeight data
- Whales now much more visible and easier to target

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 12:23:00 +01:00
Thomas Richter
5946172728 Keep whale swimming within visible area
- Added proper boundary margins (60px) for whale size and bobbing
- Clamps whale position to bounds when hitting edges
- Uses Math.abs() for reliable direction reversal
- Properly flips whale sprite when bouncing
- Bounds: X: 60-740, Y: 120-550
- Whale can no longer escape off screen

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 12:20:47 +01:00
Thomas Richter
033da743b3 Reduce whale swimming speed
- Horizontal swim speed: 0.5-1.0 → 0.2-0.5 (60% slower)
- Vertical drift: 0.3 → 0.15 (50% slower)
- Makes whales easier to track and hit
- Better difficulty balance

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 12:17:56 +01:00
Thomas Richter
bbd791bb68 Add whale swimming and diving mechanics
- Whales now swim across screen with directional movement
- Random horizontal speed (0.5-1.0) and vertical drift
- Bounces off screen edges and flips direction
- Diving behavior: dives every 3-7 seconds for 2 seconds
- Fades to 20% opacity when diving, full when surfaced
- Cannot be hit while diving (invulnerable)
- Shows dive/surface messages
- Combines swimming with bobbing animation
- Much more dynamic and challenging hunting
- Whales are now moving targets instead of stationary

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 04:26:23 +01:00
Thomas Richter
16ef3dd2aa Fix hidden mouse cursor after returning from hunting
- Restore default cursor in returnToMap() before scene transition
- Prevents cursor staying hidden when returning to map
- Cursor was set to 'none' for crosshair aiming but not restored

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 04:19:19 +01:00
Thomas Richter
bc95f94d1b Hide penguin references until feature is discovered
- Penguin inventory line only shows when penguins > 0
- Penguin cage and emoji on ship deck hidden until discovered
- Antarctic Island description made mysterious (no penguin mention)
- Penguin cage visibility updates when inventory changes
- Creates surprise discovery moment when visiting Antarctic Island
- Maintains dark humor reveal during gameplay

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 04:13:22 +01:00
Thomas Richter
2b8be8c9f2 Add capacity display to inventory in all scenes
- Updated inventory display format from "Fuel: 80" to "Fuel: 80/100"
- Shows max capacity for all resources:
  - Fuel: /100
  - Whale Oil: /50 (cargo hold capacity)
  - Penguins: /20
- Applied to HuntingScene, ShipDeckScene, and MapScene
- Players can now see remaining capacity at a glance

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 04:05:57 +01:00
Thomas Richter
1215fadc88 Make whales spawn randomly across entire screen
- Changed whale spawn from center area to full screen
- X position: 100-700 (was 350-450)
- Y position: 150-500 (was 250-350)
- Each whale now appears in unpredictable location
- Keeps margins to avoid edge spawning
- Increases gameplay variety and challenge

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 04:03:09 +01:00
Thomas Richter
9b5f566bce Make crosshair shake smooth with oscillation
- Replaced random shake with smooth sine/cosine oscillation
- Added crosshairShakeTime variable to track oscillation phase
- Uses different frequencies (3x and 2.5x) for natural circular motion
- Creates predictable, smooth shake pattern instead of jittery random
- More comfortable aiming experience while maintaining difficulty

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 04:01:38 +01:00
Thomas Richter
68ddb1aef7 Double whale movement oscillation
- Increased horizontal whale movement from 15px to 30px
- Increased vertical whale movement from 10px to 20px
- Whale now bobs twice as much, increasing difficulty
- Makes targeting more challenging

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 03:59:26 +01:00
Thomas Richter
6c9d9a149d Decouple UI controls from ocean camera movement
- Set scrollFactor(0) on all UI elements to fix them to screen
- HUD, crosshair, harpoons, buttons, and messages now ignore camera sway
- Only whale and ocean background move with camera
- Updated collision detection to convert whale world position to screen space
- Harpoons shoot straight relative to screen, not world
- Creates stable aiming interface while ocean/whale sway dynamically
- Much better gameplay feel with separated control and world layers

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 03:54:44 +01:00
Thomas Richter
cfed5503ac Speed up ocean movement by 10x
- Increased camera time increment from 0.01 to 0.1
- Ocean sway now completes full cycle in ~1 second (was ~10 seconds)
- Much more dynamic and challenging hunting conditions
- Simulates fast-moving rough seas

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 03:50:54 +01:00
Thomas Richter
cd04e334bd Increase ocean sway for more dramatic movement
- Increased horizontal camera sway from 8px to 25px
- Increased vertical camera sway from 5px to 18px
- Creates much more challenging hunting conditions
- Simulates rougher seas

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 03:49:23 +01:00
Thomas Richter
8ccd2cf3d1 Add ocean movement and centered whale mechanics
- Whale now spawns in center area (350-450 x, 250-350 y) instead of from sides
- Replaced linear whale movement with gentle bobbing oscillation
- Whale bobs 15 pixels horizontally and 10 pixels vertically
- Added camera sway to simulate ship rocking on ocean
- Camera moves 8 pixels horizontal and 5 pixels vertical in smooth sine waves
- Combined effects create realistic ship-based hunting experience
- Significantly increases difficulty - must compensate for crosshair shake, whale bobbing, and camera sway
- Natural ocean feel with continuous wave-like movement

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 03:48:11 +01:00
Thomas Richter
9e6f1d24ea Improve whale hunting mechanics with multi-hit system
- Changed to single whale spawning (one at a time)
- Added crosshair shake effect for increased difficulty (2px random shake)
- Implemented whale health system (3 hits to kill)
- Added dynamic health bar above whales (green -> yellow -> red)
- Visual feedback on hits: red flash, whale shake animation
- Health bar updates in real-time as whale takes damage
- New whales spawn 1.5 seconds after previous whale dies or leaves
- Separated hitWhale() and killWhale() functions for damage vs death
- Shows health status messages on each hit
- Much more challenging and engaging hunting gameplay

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 03:42:39 +01:00
Thomas Richter
09a1b7a537 Decouple travel and cooking fuel mechanics
- Travel is now free (no fuel cost for sailing between locations)
- Fuel is only consumed for cooking whale oil (2 fuel per whale)
- Updated TransitionScene to show "The wind carries your sails..." when no fuel cost
- Removed fuel checks from MapScene travel methods
- Added fuel validation in HuntingScene - can't process whales without fuel
- This sets up the penguin burning mechanic for when cooking fuel runs low

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 03:34:44 +01:00
Thomas Richter
ee45c9015c Add whale hunting mini-game with crosshair mechanics
- Created HuntingScene with mouse and keyboard controls
- Crosshair can be controlled by mouse or WASD/Arrow keys
- TAB key toggles between control modes
- Whales spawn and swim across screen from both directions
- Harpoon shooting mechanic (click or SPACE)
- Collision detection and whale hit animations
- Whale oil rewards (+1 per successful hunt)
- HUD displays fuel, oil, and whales hunted
- Return to map button
- Updated MapScene to transition to HuntingScene

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 03:29:26 +01:00
Thomas Richter
4190170f1f Initial commit: Whale hunting adventure game
- Set up Phaser 3 game framework with Vite
- Created ship deck scene with interactive objects
- Implemented navigation map with destination selection
- Added transition screens for travel between locations
- Inventory system for tracking fuel, whale oil, and penguins
- Three destination types: hunting grounds, Antarctic islands, and port

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 03:21:05 +01:00