Live location tracking and playback for the game "manhunt"

README fix-up

bwc9876.dev d3ce5b93 9cd533a7

verified
+23 -11
+23 -11
README.md
··· 2 2 3 3 [![built with garnix](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fgarnix.io%2Fapi%2Fbadges%2FBwc9876%2Fmanhunt-app%3Fbranch%3Dmain)](https://garnix.io/repo/Bwc9876/manhunt-app) 4 4 5 - An iOS and Android app that lets you play man hunt with friends. 5 + An iOS and Android app that lets you play [man hunt](<https://en.wikipedia.org/wiki/Manhunt_(urban_game)>) with friends. 6 6 7 7 The game is played over WebRTC Data Channels and is entirely P2P (except for the 8 8 signaling process needed for WebRTC.) 9 9 10 + ## Features 11 + 12 + - Play games with friends by starting a lobby, your friends can join with the 13 + room code on the lobby screen. 14 + - Pings can be configured to happen at certain intervals. They reveal hider 15 + locations so hiders have to move. 16 + - Powerups are random items you can grab in certain locations that can deceive 17 + seekers or mess up other hiders. 18 + - Watch a replay of your game after it ends, it shows everyone's location 19 + throughout the game. 20 + - Your location data is safe, it's only ever sent to the other players in the game. 21 + 10 22 <!-- TODO: Download & Install instructions for when we get to publishing --> 11 23 12 24 ## Development ··· 27 39 #### With Nix 28 40 29 41 Run `nix develop` to get a development shell with all needed dependencies set up. 30 - You can then call the `just` recipes mentioned below. 42 + You can then call the `just` recipes mentioned below within the shell. 31 43 32 44 ### Setup 33 45 ··· 36 48 37 49 ### Run App 38 50 39 - - `just dev`: Will run the app locally on your computer, this will open a 40 - WebView with the frontend 41 - - Note: all geolocation returned from tauri-plugin-geolocation will be hard 51 + - `just dev`: Run the app locally on your computer, this will open a 52 + WebView with the frontend for testing. 53 + - Note: all geolocation data returned from `tauri-plugin-geolocation` will be hard 42 54 coded to `(0.0, 0.0)` in this mode. 43 - - `just dev-android`: Will run the app on a connect Android device or VM via ADB 55 + - `just dev-android`: Run the app on an Android device or VM via ADB 44 56 - `just signaling`: Will run the signaling server on port `3536` 45 - (this is needed for clients to connect) 57 + (this is needed for clients to connect). 58 + If you need a different port run `cargo run --bin manhunt-signaling 0.0.0.0:PORT`. 46 59 47 60 ### Project Layout 48 61 ··· 64 77 (only need to run if you edited the backend or signaling) 65 78 - `just check-frontend`: Check for potential issues on the frontend 66 79 (only need to run if you edited the frontend) 67 - - `just check-signaling`: Same thing as backend but for the singaling server 68 80 69 81 **Important**: When changing any type in `backend` that derives `specta::Type`, 70 - you need to run `just export-types` to sync these type bindings to the frontend, 71 - otherwise the TypeScript definitions will not match that ones the backend expects. 82 + you need to run `just export-types` to sync these type bindings to the frontend. 83 + Otherwise the TypeScript definitions will not match the ones that the backend expects. 72 84 73 - All changes made will be put through CI to check that all of these commands have 85 + All changes will be put through CI to check that all of these commands have 74 86 been done. 75 87 76 88 ### Other Just Recipes