- 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>
3.2 KiB
3.2 KiB
Whale Hunting - A Point & Click Adventure
A Monkey Island-style adventure game based on 18th century whaling history, including the dark practice of burning penguins as emergency fuel when traditional fuel ran out.
Setup
Install Dependencies
npm install
Run Development Server
npm run dev
The game will be available at http://localhost:5173 (or another port shown in the terminal).
Build for Production
npm run build
The built files will be in the dist/ directory.
Docker Deployment
Using Docker Compose (Recommended)
# Build and start the container
docker-compose up -d
# View logs
docker-compose logs -f
# Stop the container
docker-compose down
The game will be available at http://localhost:8080
Using Docker directly
# Build the image
docker build -t whalehunting-game .
# Run the container
docker run -d -p 8080:80 --name whalehunting whalehunting-game
# View logs
docker logs -f whalehunting
# Stop and remove container
docker stop whalehunting
docker rm whalehunting
Production Deployment Notes
- The Docker image uses nginx to serve static files
- Includes gzip compression for better performance
- Health checks are configured for container monitoring
- Security headers are enabled
- Static assets are cached for 1 year
Project Structure
whalehunting/
├── index.html # Main HTML file
├── package.json # Dependencies and scripts
├── src/
│ ├── main.js # Game initialization and configuration
│ ├── scenes/ # Game scenes
│ │ └── ShipDeckScene.js # Ship deck scene (starting point)
│ └── game-objects/ # Reusable game objects (future)
└── assets/ # Images, sounds, etc. (future)
Current Features
- Ship Deck Scene: Explore the deck of your whaling vessel
- Interactive Objects: Click on barrels, the ship's wheel, and other objects
- Inventory System: Track fuel, whale oil, and penguins
- Message System: Get feedback when interacting with objects
Game Concept
The game simulates 18th century whaling expeditions where:
- Whalers hunt whales to produce whale oil
- Fuel management is critical for the voyage
- When fuel runs out, desperate measures (burning penguins) become necessary
Next Steps
Future development could include:
- Whale hunting mini-game/scene
- Port scene for resupply and selling oil
- Decision system for fuel management
- Narrative elements and character dialogues
- Penguin catching mechanics
- Multiple voyages with progression
- Art assets to replace placeholder graphics
Technology
- Phaser 3: Game framework
- Vite: Build tool and dev server
- JavaScript (ES6 modules): Programming language
Controls
- Mouse: Click to interact with objects
- Point-and-click adventure style navigation
Development Notes
This is a prototype with placeholder graphics (colored rectangles). Art assets can be added later by:
- Adding images to
assets/sprites/orassets/backgrounds/ - Loading them in the scene's
preload()method - Replacing rectangle shapes with sprites