PROJECT DOSSIER // [R-TYPE]VIEW SOURCEBACK TO PROJECTS →

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
MEDIA ATTACHMENTS (Images, Photos, Videos)

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…