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.
Languages/technologies used include:
- HTML5 Canvas
- JavaScript
- TypeScript
- Node.js
- Express
- Socket.IO
- JWT
- bcrypt
- MongoDB
- 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
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)
- 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)
- bcrypt
- body-parser
- cluster
- compression
- cors
- cpx
- crypto
- dateformat
- dotenv
- ejs
- eslint
- express
- glob-parent
- helmet
- http-server
- javascript-obfuscator
- jsonwebtoken
- mongodb
- mongoose
- morgan
- multer
- node-cache
- node
- nodemailer
- nodemon
- npm
- os
- path
- response-time
- socketio
- ts-node
- typescript-eslint/parser
- typescript
- winston