Architecture.html
Game Overview
Our goal is to create a multiplayer game using Unity in which one person draws an object, while the other players use a chat box to guess the drawing.
Key architectural drivers
- Saving the drawings and showing them at the end of the game to all players
- TeStoring player's scores and showing them at the end of each round
- Allowing users to guess other players' drawings and receive feedback on their guesses
- Supporting multiplayer functionality, allowing users to compete against each other in real-time
- Users will be able to communicate with each other through in-game chat
- A range of drawing tools and features
Architectural Style Choices
Client-Server
The client-server architecture is suitable for online games that require a centralized approach. In this architecture, the client (player) sends requests to the server, and the server processes those requests and responds accordingly. In your game, the server can store the drawings, manage the game logic, and communicate with the clients. The client can request a new drawing to guess, submit their guesses, and receive feedback on their guesses from the server.
Publish-Subscribe
The Publish-Subscribe architecture is suitable for games that require real-time updates to multiple players simultaneously. In this architecture, the players (subscribers) subscribe to a specific topic, and the game (publisher) publishes the updates to that topic. For example, when a player submits a guess, the game publishes the guess to all other players. The other players' interfaces can update in real-time to show that a guess has been submitted. In addition, the game can publish the correct answer to all the players when the round is over.
Client-Server Architecture Diagram