44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
# Snek
|
|
![Snek icon, Miia from Mon Musu](assets/icon.jpg)
|
|
|
|
A "simple" Snake, done as my final JS class project
|
|
|
|
[Original subject](https://perso.liris.cnrs.fr/pierre-antoine.champin/enseignement/intro-js/s6.html)
|
|
|
|
## Features
|
|
- 60 FPS 2D animations
|
|
- arcade and speedrun game modes
|
|
- touchscreen and controller support
|
|
- playable at [snek.codinget.me](https://snek.codinget.me)
|
|
|
|
## Dev dependencies
|
|
- All the POSIX tools, most importantly a POSIX-compliant shell, `echo`, `rm`, `seq` and `sed`
|
|
- Busybox is known to work
|
|
- GNU Coreutils are known to work
|
|
- On Windows, WSL is known to work
|
|
- Imagemagick, with the `convert` tool in the PATH
|
|
- `bc`
|
|
- Make
|
|
- Node.js and npm, both in the PATH
|
|
- Node.js 10 and 12 are known to work
|
|
- node-gyp and python are required for the database
|
|
|
|
## Running the game (dev)
|
|
- `git clone` this repo
|
|
- `npm install` the dependencies (this will also build the less and js and initialize the database)
|
|
- `npm start` the server
|
|
- `make` every time you change something
|
|
|
|
## Running the game (prod, docker)
|
|
- Get the [Dockerfile](https://gitdab.com/Codinget/Snek/raw/branch/master/Dockerfile)
|
|
- `docker build` it
|
|
- `docker run -it -p80:3000` the container
|
|
- ideally, put it behind a reverse proxy
|
|
|
|
## Running the game (prod, direct)
|
|
- `git clone` this repo
|
|
- `npm install` the dependencies (this will also build the less and js and initialize the database)
|
|
- `npm start` the server
|
|
|
|
## License
|
|
[MIT](https://opensource.org/licenses/MIT)
|