Tag Archives: first person shooter

Network cables - mess :D

Know what to Build: The Server Loop

The Know what to Build articles discuss how to identify our multiplayer game’s server architecture early in the project. This reveals technical risks and key engineering questions before we’ve invested much development time.

In a recent post I described how to assess the impacts of our game’s key design features on the server architecture. In this post I’ll describe a way to develop a high level estimate of the amount of work our server will have to do, to help us know what to build.

The Server Loop as a Model

Developing the architecture for our game server requires making trade-offs. Knowing how to do this requires a general understanding of the operations the server will perform, and the amount of work required.

We’ll use the server loop as a conceptual model for this. The server loop is a variant of the classic game loop pattern, applied to server-side functionality. Because this is just a model, we’ll ignore implementation details such as fixed or variable step sizes. Also, for now we’ll assume our server is single-threaded and runs on a single core machine. Continue reading Know what to Build: The Server Loop

Mysterious Monoliths by John Picken

Pattern: Monolithic Architecture

Problem

What is the game server’s deployment architecture?

Context

We are developing the server for a multiplayer online game with a client-server architecture.

The game design seeks to create engaging game play within fixed technical and resource constraints. It trades game play features against number of concurrent players, player immersion, and size or complexity of the game world to simplify implementation, deployment, and maintenance. Continue reading Pattern: Monolithic Architecture

Collage of multiplayer game types.

Know what to Build: Multiplayer Game Types

Software is a solution to some problem. As I’ve already saidsoftware architecture is the foundation on which we build our software. It’s at the core of the solution we offer in any software we build. Continue reading Know what to Build: Multiplayer Game Types