# Scrawl

Game where you can write akward stories with your friends.

I created this game to be able to remotely play games with friends during the Coronavirus pandemic. It was built using `node.js` and `socket.io`.


## The Game

The concept of scrawl is pretty simple: players write a story, line by line. Each player does the best they can to come up with a hilarious addition to the story and submits it. Afterwards, everyone gets to vote on their favourite submission. The one with the most votes gets added to the story.

Players can win the game by gaining the most points. For every vote on a line you wrote, you receive 1 point.

These simple rules actually make for a pretty entertaining game that's still really fun to play with some friends. I enjoyed creating it, and I hope you like playing it. Have fun!


## Installation

You can host the game on your own computer, by following these steps:

**Note:** this guide assumes you're running Ubuntu and have already installed node.js on your system.

1. Open a terminal window
2. Download the code: `git clone https://git.bitscuit.be/bitscuit/Scrawl.git`
3. Move into the project directory: `cd Scrawl`
4. Install the dependencies: `npm i socket.io`

You can now edit the `main.js` file with your favourite text editor and change the following:

- Set the value of `hostname` to your machine's IP address on your local network. This will make it possible for anyone on your local network to join the game.
- Set the value of `port` to whatever port you want the game to run at.

## Usage

Once you've installed the game on your system, run `node main.js` to start the game.

Other players can now join the game by entering `<IP-address>:<port>` in their browser.

If you want others to be able to join over the Internet, you should forward a port on your router and redirect it to your machine. More information about this can be found [here](https://www.howtogeek.com/66214/how-to-forward-ports-on-your-router/). Others can then join the game by entering your *public* IP address in their browser.


## Contributing

Want to help develop Scrawl? Awesome!

Feel free to fork this repository, add new features and submit a pull request. Thanks!


## Disclaimer

Copyright 2021 Thomas Van Acker

This project is available under the [GPLv3 license](https://www.gnu.org/licenses/gpl-3.0.en.html). This program comes with ABSOLUTELY NO WARRANTY.

I am not resposible for any damage that may be caused by this software. USE AT YOUR OWN RISK.


## Acknowledgements

Scrawl uses the following libraries:

- Node.js, available at [https://github.com/nodejs/node](https://github.com/nodejs/node), [license](https://github.com/nodejs/node/blob/master/LICENSE)
- socket.io, available at [https://github.com/socketio/socket.io](https://github.com/socketio/socket.io), [license](https://github.com/socketio/socket.io/blob/master/LICENSE)
- skeleton, available at [https://github.com/dhg/Skeleton](https://github.com/dhg/Skeleton), [license](https://github.com/dhg/Skeleton/blob/master/LICENSE.md)
- FontAwesome, available at [https://github.com/FortAwesome/Font-Awesome](https://github.com/FortAwesome/Font-Awesome), [license](https://github.com/FortAwesome/Font-Awesome/blob/master/LICENSE.txt)


