Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cdleveille/skifreejs
Fan remake of the classic PC game from Windows Entertainment Pack 3.
https://github.com/cdleveille/skifreejs
bcrypt canvas express fan-remake game html html5 html5-canvas javascript js jwt mongodb node node-js nodejs ski skifree skiing socket-io typescript
Last synced: 3 months ago
JSON representation
Fan remake of the classic PC game from Windows Entertainment Pack 3.
- Host: GitHub
- URL: https://github.com/cdleveille/skifreejs
- Owner: cdleveille
- License: mit
- Created: 2021-01-06T04:48:23.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-09-24T02:29:12.000Z (over 2 years ago)
- Last Synced: 2024-05-30T02:15:56.203Z (8 months ago)
- Topics: bcrypt, canvas, express, fan-remake, game, html, html5, html5-canvas, javascript, js, jwt, mongodb, node, node-js, nodejs, ski, skifree, skiing, socket-io, typescript
- Language: JavaScript
- Homepage: https://skifreejs.fly.dev
- Size: 971 KB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://ski.ihoc.net/) by Chris Pirih.
![screenshot](https://user-images.githubusercontent.com/1410481/107723050-3be67380-6cae-11eb-9cf6-32e21a840cb4.png)
Languages/technologies used include:
- HTML5 Canvas
- JavaScript
- TypeScript
- Node.js
- Express
- Socket.IO
- JWT
- bcrypt
- MongoDB## Play
[skifreejs.fly.dev](https://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
- [bcrypt](https://github.com/kelektiv/node.bcrypt.js)
- [body-parser](https://github.com/expressjs/body-parser)
- [cluster](https://github.com/LearnBoost/cluster)
- [compression](https://github.com/expressjs/compression)
- [cors](https://github.com/expressjs/cors)
- [cpx](https://github.com/mysticatea/cpx)
- [crypto](https://github.com/nodejs/node/blob/master/doc/api/crypto.md)
- [dateformat](https://github.com/felixge/node-dateformat)
- [dotenv](https://github.com/motdotla/dotenv)
- [ejs](https://github.com/mde/ejs)
- [eslint](https://github.com/eslint/eslint)
- [express](https://github.com/expressjs/express)
- [glob-parent](https://www.npmjs.com/package/glob-parent)
- [helmet](https://github.com/helmetjs/helmet)
- [http-server](https://github.com/http-party/http-server)
- [javascript-obfuscator](https://github.com/javascript-obfuscator/javascript-obfuscator)
- [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken)
- [mongodb](https://github.com/mongodb/node-mongodb-native)
- [mongoose](https://github.com/Automattic/mongoose)
- [morgan](https://github.com/expressjs/morgan)
- [multer](https://github.com/expressjs/multer)
- [node-cache](https://github.com/node-cache/node-cache)
- [node](https://nodejs.org/en/)
- [nodemailer](https://github.com/nodemailer/nodemailer)
- [nodemon](https://github.com/remy/nodemon)
- [npm](https://www.npmjs.com/package/npm)
- [os](https://nodejs.org/api/os.html)
- [path](https://github.com/jinder/path)
- [response-time](https://github.com/expressjs/response-time)
- [socketio](https://github.com/socketio/socket.io)
- [ts-node](https://github.com/TypeStrong/ts-node)
- [typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint)
- [typescript](https://github.com/Microsoft/TypeScript)
- [winston](https://github.com/winstonjs/winston)