Gaming API Design Decisions

Let's learn about the workflow and design considerations of a multiplayer gaming API.

Introduction

In the last lesson, we looked at some of the factors that make a gaming experience enjoyable and also learned about the intricacies of various components involved. In this lesson, we’ll explore the overall architecture of the system and use our understanding to decide which architectural style and protocol to use for communication between different components

Design overview

There are many services and components in a modern game system. For simplicity, we’ll only focus on the functional requirements defined in the requirements lesson. We can classify the services associated with the gaming API into the following categories:

  • Main stack services: This category manages the incoming client's requests.

  • Gaming cluster: This category manages the interactive gameplay.

  • Persistent layer: This category manages the user data and game assets.

The diagram below shows only the most common components and services required to design our game API:

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.