I played Among Us, and figured I could make a better more engaging game that's more about the people than the gameplay. I used to play Mafia back in my home country and decided to make an app that helps facilitate a moderator role (called SinglePlayer where only one user the moderator needs to have the app) and also a moderator-lite role where users can take their own actions (called Multiplayer where each user needs to have the app).

What it does

Helps manage Mafia games for in-person and online.

Helps facilitate a moderator role (called SinglePlayer)

Allows moderator-lite with each player controlling their actions independently (called Multiplayer), which will be implemented after the Hackathon.

The single player will be fully functional and will allow full games to be played with limitless players.

How we built it

All in Javascript! Using React Native via Expo managed projects, Redux for managed centralized game states, Redux-Persist to save games between app instances, and React Navigation for navigating between screens.

Challenges we ran into

We wanted to use array inputs to minimize redundant hardcode but since react only refreshes on changed states and changing array elements doesn't count, the components wouldn't re-render. We used a hack to re-create a copy of the array to force a re-render.

What's next for Mafia

Implementing multi-player and putting it on the app store! Or just cleaning up single-player and putting it on the app store anyways while we work on multi-player :)

Share this project: