How to play Mafia on Nightcycles
This page summarizes the currently implemented Mafia ruleset used by Nightcycles. It intentionally focuses on the active vertical slice.
1) Setup
- A match starts with a configured list of players.
- Roles are assigned at game start: some players become Mafia, everyone else is Town.
- The game always begins in Day, round 1.
2) Day phase
While alive during Day, players can:
- SetVote (target must be alive and not yourself)
- ClearVote
Day ends when either all living players have submitted day votes, or a server deadline resolves the phase.
At Day resolution, one player is eliminated based on vote state, with tie-break randomness when needed.
3) Night phase
During Night, only living Mafia players can submit actions:
- MafiaWhisper (mafia only)
- NightKillVote
Night ends when required night actions are submitted, or when server deadline processing resolves the phase.
Night resolution may eliminate one target selected from Mafia vote outcomes.
4) Information visibility
Public information includes alive/dead status, phase/round, public votes, and public events.
Private information includes your own role, and Mafia players also see Mafia teammate identities in private perception data.
5) Win conditions
- Town wins when all Mafia are dead.
- Mafia wins on parity: living mafia >= living town.
- When a side wins, the phase transitions to GameOver and a GameEnded event is emitted.
6) Out of scope (right now)
The following are not currently implemented as first-class gameplay systems:
- Expanded role catalogs beyond Town and Mafia
- Rich chat channels with moderation and history rules
- Persistence-backed replay and storage systems