01 // PROJECT AT A GLANCE
R-TYPE
C++A networked multiplayer shoot'em up, built on a game engine written from scratch.
Remaking R-Type, the cult 1987 shoot'em up, as a multiplayer game playable together over the Internet. The subject asks not only for the game but for the engine running it: a reusable set of components that could serve other games. Writing the engine before the game changes everything — every decision has to stay valid for a game you have not imagined yet.
A game engine and networked game in C++: authoritative multi-threaded server, SFML client, TCP transport for control and UDP for game state, documented binary protocol.
PRIMARYC++
DELIVERYTEAM RECORD
VERIFICATIONGoogleTest
SOURCEINSPECTOR READY
03 // KEY OUTCOMES
- A reasoned choice of two transport protocols according to the nature of the data
- A multi-game, multi-threaded authoritative server
- Architecture documentation provided: UML, protocol specification, client specification
BEYOND THE BRIEF
- GitHub Actions continuous integration, plus a Discord notification action on every build
- A Docker image provided to run the server
- Client-side prediction, not required by the subject, which completely changes how the game feels
- Documentation provided: protocol specification (protocol.rst), component list, client specification
- GoogleTest tests on the ECS, the network and the systems
04 // SOURCE TREE
READING SOURCE…