Multiplayer Trading Card Game
Real-time PvP card game. Two players, one match, turn-based state kept in sync over WebSockets.
- ROLE
- Full stack
- TEAM
- 3 people
- YEAR
- 2024
- CONTEXT
- SEP module · 9 ECTS
Outcome
[ Add a short outcome: what worked, what was delivered, and any verified result. ]
Repository & demo
[ Add repository / demo links here. The university GitLab project may need a public mirror. ]
The problem
A turn-based card game played by two people at once needs both screens to agree on what just happened. That means moving game state between two browsers in real time, without either client being able to drift from the other.
My contribution
- Real-time PvP with WebSockets, synchronizing turn-based game state between two clients per match.
- Angular / TypeScript features, Spring Boot REST endpoints, and the game state model.
- User authentication and session handling.
Architecture
Each player runs an Angular client. Both hold a WebSocket connection to a Spring Boot backend that owns the game state model and handles authentication and sessions.
Technical decision
[ Why WebSockets over polling? Why keep game state on the server? Include a short relevant code snippet and explain the tradeoff. ]
A problem I hit
[ What broke, why it broke, how you fixed it. ]
What I would change
[ What you learned, what remains limited, and what you would do differently now. ]