ImposterGame is a lightweight terminal-based party game inspired by the social deduction word game where one or more players are secretly the imposter(s) while everyone else knows the secret word. The game is designed for small groups and runs entirely from the command line.
This project is a Python implementation of a simple "Imposter Who?" style game:
- 3 to 15+ players can participate
- One player starts the round
- A secret word is chosen for each non-imposter player
- The imposter receives a hint instead of the real word
- Players describe their word without saying it directly
- After the round, everyone votes to identify the imposter
- The true imposter(s) and secret word are revealed at the end
The flow of the game is handled in main.py:
- A starting menu is shown
- Players enter their names
- The game determines the number of imposters
- Random players are assigned as imposters
- One player is selected to begin the round
- Secret words and hints are assigned
- The round is started and the word assignment is revealed at the end
- Terminal UI using JSON-defined modal menus
- Configurable min/max player count (
3to15)- Don't change the lower the minimum- it will break the game
- Randomized word assignment and imposter selection
- Rotation-based turn order using random clockwise or counter-clockwise direction
- Built-in instructions menu
- Word dataset stored in
utilities/words.json- Add your own!
- Python 3
- A real terminal environment
This project uses terminal screen control features (sys.stdout.isatty() and alternate screen rendering), so it works best when launched in a normal terminal session rather than a limited or non-interactive environment.
git clone https://github.com/dunccarr/impostergame.git
cd impostergame
python main.pyReplace python with python3 for Mac and Linux.
When the program starts:
- Choose
Begin Gamefrom the main menu - Enter each player's name
- Set the number of imposters and player count as prompted
- Pass the device to each player as they receive their role
- Take turns describing your word without revealing it directly
- Vote at the end of the round to find the imposter
- The words and hints are drawn from the JSON list in
utilities/words.json - The game is intentionally simple and meant to run locally with friends
- The project is a lightweight, script-based game rather than a graphical app
This project is licensed under the MIT License. See the LICENSE file for details.