···23[](https://garnix.io/repo/Bwc9876/manhunt-app)
45-An iOS and Android app that lets you play man hunt with friends.
67The game is played over WebRTC Data Channels and is entirely P2P (except for the
8signaling process needed for WebRTC.)
900000000000010<!-- TODO: Download & Install instructions for when we get to publishing -->
1112## Development
···27#### With Nix
2829Run `nix develop` to get a development shell with all needed dependencies set up.
30-You can then call the `just` recipes mentioned below.
3132### Setup
33···3637### Run App
3839-- `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
42 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
44- `just signaling`: Will run the signaling server on port `3536`
45- (this is needed for clients to connect)
04647### Project Layout
48···64 (only need to run if you edited the backend or signaling)
65- `just check-frontend`: Check for potential issues on the frontend
66 (only need to run if you edited the frontend)
67-- `just check-signaling`: Same thing as backend but for the singaling server
6869**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.
7273-All changes made will be put through CI to check that all of these commands have
74been done.
7576### Other Just Recipes
···23[](https://garnix.io/repo/Bwc9876/manhunt-app)
45+An iOS and Android app that lets you play [man hunt](<https://en.wikipedia.org/wiki/Manhunt_(urban_game)>) with friends.
67The game is played over WebRTC Data Channels and is entirely P2P (except for the
8signaling process needed for WebRTC.)
910+## 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+22<!-- TODO: Download & Install instructions for when we get to publishing -->
2324## Development
···39#### With Nix
4041Run `nix develop` to get a development shell with all needed dependencies set up.
42+You can then call the `just` recipes mentioned below within the shell.
4344### Setup
45···4849### Run App
5051+- `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
54 coded to `(0.0, 0.0)` in this mode.
55+- `just dev-android`: Run the app on an Android device or VM via ADB
56- `just signaling`: Will run the signaling server on port `3536`
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`.
5960### Project Layout
61···77 (only need to run if you edited the backend or signaling)
78- `just check-frontend`: Check for potential issues on the frontend
79 (only need to run if you edited the frontend)
08081**Important**: When changing any type in `backend` that derives `specta::Type`,
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.
8485+All changes will be put through CI to check that all of these commands have
86been done.
8788### Other Just Recipes