diff --git a/doc/La_Traque.pdf b/doc/La_Traque.pdf new file mode 100644 index 0000000..5641201 Binary files /dev/null and b/doc/La_Traque.pdf differ diff --git a/readme.md b/readme.md index e32f7b1..ff4260c 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,27 @@ -# Instructions -## Setup development environment +# The game +## General principle +La traque is a IRL team game where the goal is to catch another team without being catched by another team. +Each team starts with the starting position of the tracked team as well as a picture of them, they don't know who they are being tracked by. +To get the latest known position of the tracked team, a team can update their lastest known position as their own position. +Once the tracked team is captured, the tracked team becomes the team previously tracked by the captured team, the game continues until two teams are left. +Each team has to update their location at a given interval, if they don't, they recieve a penalty. +The game is played in a zone, if a team goes outside of the zone for a given time, they recieve a penalty. +For further information see the pdf in the doc folder. + +## The zone +The zone is similar to the one in Fortnite, it is a circle that gets smaller and smaller as the game goes on. +The zone is defined by two circles, the starting zone and the final zone, a number of reductions, the delay between two reductions, and the duration of a reduction. + +## The penalties +A penalty can be given to a team for going outside the zone or not updating their position. After 3 penalties a team is eliminated. + +# Structure of the app +The app is divided in two parts, a Next.js front end and a Node.js back end. +The front end is divided in a team section and an admin section. +The backend manages the game state and the teams, and communicates with the front end through socket.io + +# Setting up the app +## Development environment ### Front end configuration Edit the .env file in traque-front and add specify the following values: ``` @@ -42,6 +64,9 @@ https://example.com:3000 ## Deployment Put your certificate and private key in the proxy/ssl folder. They need to be named `cert.pem` and `privkey.pem`. -You can then depploy the docker application with `docker compose up` +You can then depploy the docker application with `docker compose up`. + You can change the production environment varialbes for the backend in the docker-compose.yml file. The frontend environment variables can be changed in the .env file in the traque-front directory. -The reverse proxy is used to get https to the next app on port 3000. \ No newline at end of file + +# Authors +- [Quentin Roussel](mailto:quentin.roussel11@gmail.com) (initial version) \ No newline at end of file