···2233[](https://garnix.io/repo/Bwc9876/manhunt-app)
4455-An iOS and Android app that lets you play man hunt with friends.
55+An iOS and Android app that lets you play [man hunt](<https://en.wikipedia.org/wiki/Manhunt_(urban_game)>) with friends.
6677The game is played over WebRTC Data Channels and is entirely P2P (except for the
88signaling process needed for WebRTC.)
991010+## Features
1111+1212+- Play games with friends by starting a lobby, your friends can join with the
1313+ room code on the lobby screen.
1414+- Pings can be configured to happen at certain intervals. They reveal hider
1515+ locations so hiders have to move.
1616+- Powerups are random items you can grab in certain locations that can deceive
1717+ seekers or mess up other hiders.
1818+- Watch a replay of your game after it ends, it shows everyone's location
1919+ throughout the game.
2020+- Your location data is safe, it's only ever sent to the other players in the game.
2121+1022<!-- TODO: Download & Install instructions for when we get to publishing -->
11231224## Development
···2739#### With Nix
28402941Run `nix develop` to get a development shell with all needed dependencies set up.
3030-You can then call the `just` recipes mentioned below.
4242+You can then call the `just` recipes mentioned below within the shell.
31433244### Setup
3345···36483749### Run App
38503939-- `just dev`: Will run the app locally on your computer, this will open a
4040- WebView with the frontend
4141- - Note: all geolocation returned from tauri-plugin-geolocation will be hard
5151+- `just dev`: Run the app locally on your computer, this will open a
5252+ WebView with the frontend for testing.
5353+ - Note: all geolocation data returned from `tauri-plugin-geolocation` will be hard
4254 coded to `(0.0, 0.0)` in this mode.
4343-- `just dev-android`: Will run the app on a connect Android device or VM via ADB
5555+- `just dev-android`: Run the app on an Android device or VM via ADB
4456- `just signaling`: Will run the signaling server on port `3536`
4545- (this is needed for clients to connect)
5757+ (this is needed for clients to connect).
5858+ If you need a different port run `cargo run --bin manhunt-signaling 0.0.0.0:PORT`.
46594760### Project Layout
4861···6477 (only need to run if you edited the backend or signaling)
6578- `just check-frontend`: Check for potential issues on the frontend
6679 (only need to run if you edited the frontend)
6767-- `just check-signaling`: Same thing as backend but for the singaling server
68806981**Important**: When changing any type in `backend` that derives `specta::Type`,
7070-you need to run `just export-types` to sync these type bindings to the frontend,
7171-otherwise the TypeScript definitions will not match that ones the backend expects.
8282+you need to run `just export-types` to sync these type bindings to the frontend.
8383+Otherwise the TypeScript definitions will not match the ones that the backend expects.
72847373-All changes made will be put through CI to check that all of these commands have
8585+All changes will be put through CI to check that all of these commands have
7486been done.
75877688### Other Just Recipes