Jan 2025 – Apr 2025
SWELast edited
DrawGuess: Multiplayer Pictionary Reinvented
DrawGuess is a turn-based multiplayer Pictionary-style mobile game for Android. Players are first assigned as drawers (each given a word to draw on their screen within a time limit), then cycle through a guessing phase where everyone tries to identify other players' drawings. Correct guesses score points; the round ends once every player has guessed every drawing except their own.
The architecture combines Model-View-Controller for screen organisation, Client-Server for the multiplayer backend (Firebase Firestore + Storage and Socket.IO for real-time events), and Entity-Component-System for the drawing canvas and dynamic game-state objects. Singleton and Factory patterns handle global session management and screen instantiation.
Built for NTNU's TDT4240 Software Architecture course, with modifiability as the primary quality attribute and usability and performance as secondary. Architectural decisions were validated against functional and quality requirements through a structured test report.
Affiliation
NTNU
Report
- Implementation report
Keywords
- Software Architecture
- Design Patterns
- Entity-Component-System
- Client-Server Architecture
- State Synchronization
- Modifiability
- Java
- LibGDX
- Android SDK
- Firebase Firestore
- Firebase Storage
- Socket.IO
- Render
▸ Deepdive
Under development.