https://github.com/steenhansen/electric-snakes
A multi-computer snake game using Redux, Immutable.js, WebSockets and Typescript
https://github.com/steenhansen/electric-snakes
game immutablejs redux typescript webpack websockets
Last synced: 5 months ago
JSON representation
A multi-computer snake game using Redux, Immutable.js, WebSockets and Typescript
- Host: GitHub
- URL: https://github.com/steenhansen/electric-snakes
- Owner: steenhansen
- Created: 2018-01-04T04:12:46.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2024-05-20T20:00:37.000Z (almost 2 years ago)
- Last Synced: 2025-01-30T04:42:40.919Z (about 1 year ago)
- Topics: game, immutablejs, redux, typescript, webpack, websockets
- Language: TypeScript
- Homepage: https://electric-snakes.onrender.com/create-game
- Size: 1.03 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
## Multiplayer Game of Snakes

Electric-Snakes, [https://electric-snakes.onrender.com](https://electric-snakes.onrender.com/create-game) a slow to start free site, is a multi-computer snake game server, written in Typescript, using Redux and Immutable.js to hold state.
Interactions are synchronized via WebSockets between the single coordinating Node.js server and possibly several Javascript browsers.
The server is a free Render.com dyno, so it can take a few seconds to wake up. 150 seconds to be exact.
A single player game against seven computer players

A two player game, called "Battle of Troy" [started](https://electric-snakes.onrender.com/create-game) by "Hector" with "Achilles" [joining](https://electric-snakes.onrender.com/join-game).
One person "creates" and names the game. While others can join in.

### Prepare Environment
- nvm install 18.2.0
- nvm use 18.2.0
### Compile all and run from scratch:
$ npm install
$ npx tsc
$ npx webpack-cli
$ npm start or npm test
### Run program
$ npm start
## Free Hosting on render.com
Web Service
Settings
Build Command $ yarn
Start Command $ npm start