Skip to content

digitizdat/ski

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Alpine Ski Racing Simulator

A realistic first-person alpine ski racing game featuring authentic FIS World Cup venues, physics-based skiing mechanics, and official ICR-compliant course generation.

๐ŸŽฟ Features

Core Gameplay

  • 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

Technical Features

  • 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

User Interface

  • 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

๐Ÿš€ Quick Start

Prerequisites

  • Modern web browser with WebGL support
  • Python 3.x (for local development server)

Installation

  1. Clone the repository:
git clone <repository-url>
cd skigame
  1. Start a local web server:
python -m http.server 8000
  1. Open your browser and navigate to:
http://localhost:8000

๐ŸŽฎ How to Play

Getting Started

  1. Select Discipline: Choose from DH, Super G, GS, or SL
  2. Choose Venue: Pick an authentic World Cup venue for your selected discipline
  3. Course Inspection: Review course details and watch the 3D flyover animation
  4. Start Racing: Begin your run from the starting gate

Controls

  • Mouse: Look around and steer
  • W/A/S/D: Movement controls (when applicable)
  • ESC: Return to menu
  • Click: Interact with UI elements

Racing Tips

  • 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

๐Ÿ—๏ธ Project Structure

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

๐Ÿ› ๏ธ Technical Details

Technologies Used

  • 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

FIS Integration

  • 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

Performance Optimizations

  • 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

๐Ÿ† Disciplines & Venues

Downhill (DH)

  • 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

Super Giant Slalom (Super G)

  • Sรถlden (Austria) - Season opener
  • St. Moritz (Switzerland) - Historic venue
  • Beaver Creek (USA) - Technical course
  • Cortina d'Ampezzo (Italy) - Olympic heritage

Giant Slalom (GS)

  • Sรถlden (Austria) - Glacier racing
  • Adelboden (Switzerland) - Steep and challenging
  • Alta Badia (Italy) - Night racing spectacle
  • ร…re (Sweden) - World Championship venue

Slalom (SL)

  • Levi (Finland) - Arctic Circle racing
  • Madonna di Campiglio (Italy) - Night slalom
  • Schladming (Austria) - Night race atmosphere
  • Flachau (Austria) - Technical precision

๐Ÿ”ง Development

Adding New Venues

  1. Update venues.json with venue data
  2. Implement venue-specific features in course.js
  3. Add terrain characteristics and course specifications

Extending Physics

  • Modify physics.js for new skiing mechanics
  • Adjust equipment parameters in fis-equipment.js
  • Update collision detection in course.js

UI Enhancements

  • Customize styling in index.html
  • Add new screens and interactions in game.js
  • Implement responsive design patterns

๐Ÿ“‹ Roadmap

Completed Features

  • โœ… 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

Upcoming Features

  • ๐Ÿ”„ Enhanced ski sounds and visual effects
  • ๐Ÿ”„ Advanced racing line optimization
  • ๐Ÿ”„ Weather conditions integration
  • ๐Ÿ”„ Safety netting visualization
  • ๐Ÿ”„ Multiplayer racing capabilities
  • ๐Ÿ”„ Career mode and championships

๐Ÿค Contributing

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

๐Ÿ“„ License

This project is open source. Please respect FIS trademarks and venue copyrights when using real World Cup data.

๐Ÿ”๏ธ Acknowledgments

  • 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! ๐ŸŽฟโ›ท๏ธ

About

Ski! Alpine racing simulator based on real physics, FIS ICR regulations, and FIS World Cup venues

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors