A realistic first-person alpine ski racing game featuring authentic FIS World Cup venues, physics-based skiing mechanics, and official ICR-compliant course generation.
- Four Alpine Disciplines: Downhill (DH), Super Giant Slalom (Super G), Giant Slalom (GS), and Slalom (SL)
- First-Person Racing: Immersive skiing experience with realistic physics and controls
- Authentic World Cup Venues: Race on famous courses like Kitzbรผhel Hahnenkamm, Wengen Lauberhorn, and Val d'Isรจre
- Course Inspection: Pre-race course preview with 3D flyover animation
- Real-Time Timing: Gate collision detection and race timing system
- FIS ICR Compliance: Course generation follows official International Competition Rules
- Realistic Equipment: Discipline-specific ski models with proper dimensions and sidecut specifications
- 3D Environment: Alpine terrain rendering with Three.js
- Physics Simulation: Authentic skiing physics including gravity, friction, and momentum
- Dynamic Weather: Course conditions and weather information integration
- Responsive Design: Optimized for various screen sizes
- Course Selection: Choose from authentic World Cup venues by discipline
- Statistics Display: Course length, gate count, elevation data, and race results
- Flyover Animation: Smooth camera movement showing complete course layout
- Modern web browser with WebGL support
- Python 3.x (for local development server)
- Clone the repository:
git clone <repository-url>
cd skigame- Start a local web server:
python -m http.server 8000- Open your browser and navigate to:
http://localhost:8000
- Select Discipline: Choose from DH, Super G, GS, or SL
- Choose Venue: Pick an authentic World Cup venue for your selected discipline
- Course Inspection: Review course details and watch the 3D flyover animation
- Start Racing: Begin your run from the starting gate
- Mouse: Look around and steer
- W/A/S/D: Movement controls (when applicable)
- ESC: Return to menu
- Click: Interact with UI elements
- Study the course during inspection to plan your racing line
- Use the flyover animation to understand gate positioning and terrain
- Maintain speed while navigating gates cleanly
- Each discipline has different characteristics and optimal techniques
skigame/
โโโ index.html # Main game interface
โโโ server.py # Development server
โโโ requirements.txt # Python dependencies
โโโ venues.json # World Cup venue database
โโโ js/
โ โโโ game.js # Main game logic and UI
โ โโโ course.js # Course generation and management
โ โโโ physics.js # Skiing physics simulation
โ โโโ skier.js # Skier model and controls
โ โโโ fis-equipment.js # FIS-compliant equipment models
โโโ fis-mcp-agent.py # MCP agent for FIS data integration
โโโ mcp-config.json # MCP configuration
โโโ README.md # This file
- Three.js: 3D graphics and rendering
- JavaScript ES6+: Modern web development
- HTML5 Canvas: 2D UI elements and overlays
- CSS3: Responsive design and animations
- Python: Development server and MCP agents
- ICR Compliance: Course specifications follow official FIS rules
- Authentic Venues: Real World Cup course data and characteristics
- Equipment Standards: Ski dimensions and specifications per discipline
- Racing Rules: Gate placement and course design regulations
- Efficient Rendering: Optimized Three.js scene management
- Responsive UI: Adaptive layout for different screen sizes
- Memory Management: Proper cleanup of 3D objects and event listeners
- Kitzbรผhel Hahnenkamm (Austria) - The legendary downhill
- Wengen Lauberhorn (Switzerland) - Longest DH course
- Val d'Isรจre (France) - Technical and fast
- Beaver Creek Birds of Prey (USA) - Olympic venue
- Sรถlden (Austria) - Season opener
- St. Moritz (Switzerland) - Historic venue
- Beaver Creek (USA) - Technical course
- Cortina d'Ampezzo (Italy) - Olympic heritage
- Sรถlden (Austria) - Glacier racing
- Adelboden (Switzerland) - Steep and challenging
- Alta Badia (Italy) - Night racing spectacle
- ร re (Sweden) - World Championship venue
- Levi (Finland) - Arctic Circle racing
- Madonna di Campiglio (Italy) - Night slalom
- Schladming (Austria) - Night race atmosphere
- Flachau (Austria) - Technical precision
- Update
venues.jsonwith venue data - Implement venue-specific features in
course.js - Add terrain characteristics and course specifications
- Modify
physics.jsfor new skiing mechanics - Adjust equipment parameters in
fis-equipment.js - Update collision detection in
course.js
- Customize styling in
index.html - Add new screens and interactions in
game.js - Implement responsive design patterns
- โ Four alpine disciplines with authentic courses
- โ FIS-compliant course generation
- โ 3D environment and physics simulation
- โ Course inspection with flyover animation
- โ Real World Cup venue integration
- โ Responsive UI and controls
- ๐ Enhanced ski sounds and visual effects
- ๐ Advanced racing line optimization
- ๐ Weather conditions integration
- ๐ Safety netting visualization
- ๐ Multiplayer racing capabilities
- ๐ Career mode and championships
Contributions are welcome! Please feel free to submit pull requests or open issues for:
- Bug fixes and performance improvements
- New venue additions
- Enhanced physics simulation
- UI/UX improvements
- Additional racing features
This project is open source. Please respect FIS trademarks and venue copyrights when using real World Cup data.
- FIS (International Ski Federation) for official rules and regulations
- World Cup Venues for inspiring authentic course recreation
- Three.js Community for 3D graphics capabilities
- Alpine Racing Community for technical expertise and feedback
Experience the thrill of World Cup alpine ski racing from your browser! ๐ฟโท๏ธ