Skip to content

Fan remake of the classic PC game from Windows Entertainment Pack 3.

License

Notifications You must be signed in to change notification settings

cdleveille/skifreejs

Repository files navigation

skifreejs

Fan remake of the classic PC game from Windows Entertainment Pack 3. Written in JavaScript/HTML5 Canvas backed by Node.js.

Original SkiFree graphics/feel enhanced by modern PWA/SPA standards and open source technology stack. Features user login system, leaderboards, and chat box. Supports mouse, keyboard, gamepad, and touchscreen controls.

Inspired by the original by Chris Pirih.

screenshot

Languages/technologies used include:

  • HTML5 Canvas
  • JavaScript
  • TypeScript
  • Node.js
  • Express
  • Socket.IO
  • JWT
  • bcrypt
  • MongoDB

Play

skifreejs.fly.dev

Controls

Mouse & Keyboard

  • While Skiing:
    • Steer: move mouse / arrow keys / ASD / numpad
    • Jump: left click / up arrow key / W / numpad 8
  • While Crashed:
    • Stand up: left click / WASD / arrow keys / numpad
  • While Jumping:
    • Advance backflip stage: left click / W key / up arrow / numpad 8
    • Trick 1: right click / left shift / right ctrl / numpad 0 (hold)
    • Trick 2: move mouse above skier
  • General:
    • Pause: spacebar
    • Restart: F2
    • Show/hide HUD: H
    • Show/hide chat: C

Gamepad

Works with any gamepad - XInput controls shown for reference.

  • While Skiing:
    • Steer: left analog stick / d-pad
    • Jump: button 0 (A)
  • While Crashed:
    • Stand up: button 0 (A) / d-pad
  • While Jumping:
    • Advance backflip stage: button 0 (A) / d-pad up
    • Trick 1: button 1 (B)
    • Trick 2: left analog stick up
  • General:
    • Pause: button 9 (start)
    • Restart: button 8 (back)

Touchscreen

  • While Skiing:
    • Steer: touch below skier
    • Jump: touch above skier
  • While Crashed:
    • Stand up: touch below skier
  • While Jumping:
    • Advance backflip stage: touch above skier
    • Trick 1: touch below skier (hold)

Package Credits