diff --git a/src/politburo.md b/src/politburo.md index d713f9f..d3985cc 100644 --- a/src/politburo.md +++ b/src/politburo.md @@ -2,15 +2,15 @@ Politburo is a game of social deduction and intrigue that pits friends against each other in a struggle for power. -# Defining the problem +## Defining the problem The program in question, *Politburo*, fills in the gap between historically accurate gameplay (history buff appeal), social deduction, and backstabbing among players. *Politburo* is a game inspired by the game *Secret Hitler*, in which the liberals need to find out who the fasicasts are before they pass enough policies to win. *Politburo* is a card game that takes that idea of social deduction and historical background and adds a backstabbing aspect. The client for this project, Nicholas Doan is a history buff and plays a wide range of strategy and history adjacent games in his spare time. During our interview, he provided some great insight on enhancing the intrigue aspect of the game, and provided some useful feedback on the gameplay and themes. -# The Proposed Product +## The Proposed Product Our game will be implemented using Bevy's 2D game engine, and networking will be done with the `libp2p` library, allowing us to mostly forgo a central server. We will still need a central server running the reference `libp2p` server for connecting and hole-punching players. The client will use the `identify` protocol to connect to the central server. For matchmaking, the kademlia protocol will be used to find open lobbies. Once an open server is identified a peer-to-peer connection is established using the DCUtR protocol. The user will interact with the chat functions using the `bevy_egui` library (which will render the chat as a window in the game) and the game will be played with digital interactable cards on a digital interactable Politburo desk. -# Success Criteria +## Success Criteria 1. Players can connect to others via lobbies 2. Multiplayer is reliable and doesn't drop players mid-game @@ -23,7 +23,7 @@ Our game will be implemented using Bevy's 2D game engine, and networking will be 9. Chat messages are expressive and support a markup syntax like djot 10. Players are having enough fun to not want to leave mid-game -# Appendix A +## Appendix A - Rowan: The game I want to make? Have you ever heard of *Secret Hitler*? - Mr. Doan: Yes, I have heard of *Secret Hitler*