Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/js13kgames/the-circle-masters
the Circle Masters - a js13kGames 2018 competition entry by @MrDobi.
https://github.com/js13kgames/the-circle-masters
2018 competition desktop game html5 javascript js13k js13kgames js13kgames2018 mobile offline optimization server touch
Last synced: 2 days ago
JSON representation
the Circle Masters - a js13kGames 2018 competition entry by @MrDobi.
- Host: GitHub
- URL: https://github.com/js13kgames/the-circle-masters
- Owner: js13kGames
- Created: 2018-09-13T22:46:38.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-09-13T10:39:25.000Z (about 6 years ago)
- Last Synced: 2024-09-25T17:45:05.834Z (2 days ago)
- Topics: 2018, competition, desktop, game, html5, javascript, js13k, js13kgames, js13kgames2018, mobile, offline, optimization, server, touch
- Language: JavaScript
- Homepage: https://js13kgames.com/entries/the-circle-masters
- Size: 46.9 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# js13kgames.com Game Server
Game server for the [js13kGames Competition](http://js13kgames.com/).
## Install
[Download](https://github.com/js13kgames/js13kserver/archive/master.zip) the skeleton. Extract the files and install the third party libraries with `npm`.
npm install
## Runinng
You can run the server locally with the following command:
npm start
You can reach the test server at [http://localhost:3000](http://localhost:3000)
## Code structure
All your code must be in the `public` folder. Put your server side code into the `server.js` file. The `shared.js` file is loaded at the begining of the `server.js` file. You can also use this code on the client side.
The `server.js` is a standard Node.js module. You can use the following structure to create new [Express](https://expressjs.com/) routes or [Socket.io](https://socket.io/) connection handler.
module.exports = {
// Express route to /hello
hello => (req, res) { ... }
// Socket.io connection event handler
io => (socket) { ... }
}## Persistent storage
The server category entries can use 13kByte persistent storage. The key and value size also counts into the limit!
The storage uses SQL database to save the key/value pairs. By default it's SQLite but on Heroku you have to use the Postgres add-on!
In the `server.js` file you can access the `storage` interface. The API documentation is inside the [lib](./lib/) folder.
## Deploy to Heroku
All server category entries must be hosted on [Heroku](https://www.heroku.com/). You can either use free or paid plan.
1. Push your files to your GitHub repository
2. Create new WebApp on heroku
3. Add Heroku Postgres add-on (optional)
4. Connect your WebApp with the GitHub repository
5. Deploy your codeYou can find more information about the platform on the [Heroku Dev Center](https://devcenter.heroku.com/) site.
## Submit your entry
1. Zip all files in the `public` folder.
2. Submit your entry on the [js13kgames.com](http://js13kgames.com) site.
3. Add [[email protected]](mailto:[email protected]) games as collaborator to your Heroku WebApp.## Server category rules
* Sandbox server
- You can find the official sandbox server at [https://github.com/js13kGames/js13kserver](https://github.com/js13kGames/js13kserver).* Package size still below 13 kB
- Game package will contain all the game code and assets, for the client and the server.* Sandboxed environment
- Your game will run in a node.js based sandbox environment. That means you will not really use node. You cannot require modules and your own modules shipped by your 13k pack.* Do not leak the sandbox
- This is not a hacking competition. This is a way to help the competition admins, the site persistence, and you. Do not touch the `procfile` and the skeleton code.* Socket.io client lib
- You can use it. Simply add `` to your HTML and that will be loaded. No server configuration will be needed. The sandbox already did it.* Can I test the sandbox before submitting?
- Yes, you can and you must! Installing and getting it running is simple. Visit the project page at [https://github.com/js13kGames/js13kserver](https://github.com/js13kGames/js13kserver).* Is there any example? How do I develop my game using the sandbox server?
- There's a simple "Rock, Paper, Scissors" example in the public folder.* I have more questions!
- Feel free to send them to [[email protected]](mailto:[email protected]).## FAQ
* Can I minify the server side code?
- Yes, but you have to keep the readable code also.* Can I add more npm packages?
- Yes, but you cannot use them in your game code.
* What files count in the 13kb limit?
- All files in the `public` folder.* Can I deploy new code after I submited the entry?
- Yes, but you have to resubmit your entry on the site also.* Can I modify the `procfile` or the skeleton code?
- No