Skip to content

Latest commit

 

History

History
102 lines (92 loc) · 3.67 KB

README.md

File metadata and controls

102 lines (92 loc) · 3.67 KB

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