Category Archives: Reference

Information that is intended to be used to support or augment other content on this site. May include or link to content from external sites.

Glossary

Game Server Architecture Patterns

Game Server Architecture Patterns

This page presents a collection of multiplayer game server architecture patterns that describe solutions to common problems in multiplayer game server development. Over time, I hope to build a library of patterns based on real-world experience, research and experimentation by game server developers.

Pattern: Seamless World Game Server

Problem How do we create a game server that permits unlimited freedom of movement and game play on an expansive map with no apparent boundaries? Context We are developing the server for a massively multiplayer online game with a client-server architecture. The game design seeks to create an immersive play experience by enabling thousands of players to interact with … Continue reading Pattern: Seamless World Game Server

4 comments
Mysterious Monoliths by John Picken

Pattern: Monolithic Architecture

A description of the Monolithic Architecture pattern as it applies to multiplayer game server architecture.

0 comments
Vodafone Innovation Park Labs

Pattern: Distributed Network Connections

Use the Distributed Network Connections pattern to maximize the number of connected clients with minimal impact on game server performance.

0 comments
Me balance cookeys

Pattern: Client Side Load Balancing

Problem How do we ensure a balanced distribution of client connections across a set of connection servers in a distributed game server architecture? Context We are developing the server for a massively multiplayer online game with a client-server architecture. The game design seeks to create an immersive play experience by enabling thousands of players to connect simultaneously … Continue reading Pattern: Client Side Load Balancing

0 comments

Pattern: Map-Centric Game Server

Problem How do we distribute the load of running core game play functionality across multiple processes to support thousands of concurrent players? Context We are developing the server for a massively multiplayer online game with a client-server architecture. The game design seeks to create an immersive play experience by enabling thousands of players to interact with each other in a … Continue reading Pattern: Map-Centric Game Server

0 comments

Pattern: Responsibility-Oriented Game Server

Problem How do we distribute core game play load across multiple processes in a way that supports flexible scaling and efficient allocation of computing resources? Context We are developing the server for a massively multiplayer online game with a distributed architecture. The game design seeks to create an immersive play experience by enabling thousands of players to interact … Continue reading Pattern: Responsibility-Oriented Game Server

13 comments

If you have feedback, corrections, or questions about any of the patterns you see at Engines of Delight, please leave a comment on this page, or any of the specific pattern posts.

Resources

This page is a collection of various resources relevant to the topics discussed on Engines of Delight that I’ve found to be useful or promising. If you have suggestions for adding other resources, or feedback about the ones already listed, please leave a comment on this page.

Thanks for playing!

TWD: No Man's Land is Next Games' most recent mobile MMO.

[Podcast] Hanselminutes: Scaling The Walking Dead: No Man’s Land

Scott Hanselman talks with Next Games’ CTO, Kalle Hiitola, about the server architecture of their newest game, The Walking Dead: No Man’s Land. This is a great opportunity for those of us interested in game server development to learn from others’ real-world experience.

0 comments

[Presentation] Building Scalable Stateful Services

I was researching stateful distributed systems for an article today and found a post on High Scalability that was a perfect fit. It’s an unofficial transcript of a StrangeLoop 2015 talk by Caitie McCaffrey, Tech Lead for Observability at Twitter. I read the transcript first, then felt compelled to watch the presentation.

0 comments

[Discussion] A Journey Into MMO Server Architecture

I discovered this post today while doing some research for another post I’m writing. It’s about the server architecture of the sci-fi MMO sandbox game, Face of Mankind: Fall of the Dominion, published by Nexeon Technologies. The post is a couple of years old, but I think the topics are still important. Sadly, the game was recently shut down. However, … Continue reading [Discussion] A Journey Into MMO Server Architecture

0 comments

[Podcast] SE-Radio: Rebecca Parsons on Evolutionary Architecture

The concept of evolutionary architecture is a good fit for game server development. Game servers are complex enough to warrant a disciplined focus on building a good architecture. Yet, game development is very subjective, and making a great game is an exercise in evolution. The five principles of evolutionary architecture discussed in this podcast can help us in evolving a solid game server architecture.

0 comments

[Discussion] Ultima Online Server Architecture

I recently ran across a Quora discussion from a few years ago about the technology stack of Ultima Online’s original servers. In it, a few of the game’s developers recall some of the game’s early server architecture decisions and their outcomes. It’s an interesting read with some good real-life insights. Source: What was the technology stack … Continue reading [Discussion] Ultima Online Server Architecture

0 comments

[Podcast] SE Radio: Software Architecture Sketches with Simon Brown

Podcast Summary Simon Brown, author of Software Architecture for Developers, talks with Sven Johann about using Software Architecture Sketches to visualize, communicate and document software architecture.

0 comments

[Podcast] SE Radio: Stefan Tilkov on Architecture and Micro Services

Podcast Summary Micro services is an emerging trend in software architecture that focuses on small, lightweight applications as a means to avoid large, unmaintainable, monolithic systems.

0 comments

[Podcast] DotNetRocks: Marc Mercuri and Mark Simms Build Resilient Cloud Applications

Podcast Summary Carl and Richard talk to Marc Mercuri and Mark Simms about resilient cloud architecture. The conversation starts out focused on the white paper called ‘FailSafe’ and the guidance it provides for building resilient cloud applications – but the information is applicable to any large scale system running on any sort of infrastructure.

1 comment

 

 

Know what to Build: Assessing Impacts for MMORPG

Assumptions for MMORPG Feature Impact Assessment

The feature impact assessment for the MMORPG game design requires a number of assumptions that aren't documented in the main posts or in the "reference problem statement" for the game. I've provided them here to serve as a rationale for impact rankings that I chose.

 
FeatureSizeComplexityImportance
Persistent item state
Rank: 5
Rank: 5
Rank: 5
Large shared world
Rank: 5
Rank: 5
Rank: 5
"Items are important
and ubiquitous"
Rank: 4
Rank: 5

Rank: 5
Unique character visuals
Rank: 4
Rank: 5
Rank: 3
Large number of players
Rank: 5
Rank: 3
Rank: 4
Persistent mission state
Rank: 3
Rank: 4
Rank: 4
Persistent character state
Rank: 3
Rank: 3
Rank: 5
Text and voice chat features
Rank: 3
Rank: 2
Rank: 4
Persistent alliances
Rank: 2
Rank: 3

Rank: 3

Return to Know what to Build: Assessing Impacts.

Multiplayer Game Types

TypeDescriptionPlayersPersistenceGame Examples
FPSFirst person shooter<= 256NoQuake 2
Unreal Tournament
Counter Strike
Battlefield
Call of Duty
Tribes: Ascend
M.A.G.
RTSReal-time strategy game<= 8NoCommand and Conquer
StarCraft
WarCraft
Homeworld
MMO
Massively multiplayer online gameThousandsYes, generallyEve Online 1)Eve Online describes itself as "an open-ended Massively Multiplayer Online Game (MMOG)." It does not fall cleanly into one of the more specific types below so we'll just call it an "MMO" for now - https://wiki.eveonline.com/en/wiki/About_EVE_Online
See more specific MMO examples below.
MMORPGMassively multiplayer online role-playing gameThousandsYes, character development, items.Ultima Online
EverQuest
World of Warcraft
Guild Wars
Rift
Elder Scrolls Online
MMORTSMassively multiplayer online real-time strategy gameThousandsYes, player bases, leader boards.Shattered Galaxy
Battle Pirates
War Commander
Tiberium Alliances
MMOFPSMassively multiplayer online first person shooterHundreds to thousandsYes, character development, items, leader boards.Planetside
Firefall
Defiance
Global Agenda
MOBAMultiplayer online battle arenaLeague of Legends
Defense of the Ancients
Smite
AirMech
SandboxMultiplayer sandboxYes, player and world stateMinecraft
MMOSMassively multiplayer online sandboxYes, player and world state.Trove
Roblox