6 ms·
The Call of Duty, Destiny (and I believe Overwatch and some other Activision games) backend is written by Demonware, which was acquired by Activision years ago.
by Impossible 6y ago
The Call of Duty, Destiny (and I believe Overwatch and some other Activision games) backend is written by Demonware, which was acquired by Activision years ago. According to their website (https://demonware.net/ https://demonware.net/)
We have a commitment to open source. Our core technologies are Python, Erlang, C++, and MySQL.
Epic Games has Epic Games services, which is a set of backend services that includes matchmaking, achievements, peer to peer networking, lobbies, etc. Apparently Fortnite runs on Epic Games services. Consoles and Steam have similar backends.
All of these backend services use variations on standard web stacks that, from what I can tell, don't look radically different than the variance you'd see among startups or big tech. Here is a postmortem of a Fortnite outage that talks about some of their tech stack, for example https://www.epicgames.com/fortnite/en-US/news/postmortem-of-service-outage-at-3-4m-ccu https://www.epicgames.com/fortnite/en-US/news/postmortem-of-.... They use MongoDB, Java, JAXRS, Redis, AWS, etc. All tech familiar to "mainstream" (web) software engineers.
One thing that is different is game clients (which are obviously real-time 3D engines), and specifically game servers, which are either peers or headless server versions of the game. These run game sessions once matchmaking is resolved and connect to a fixed (usually 4-128) number of players in that given session. Sometimes the backend and game server code is more tightly intertwined, for example in an MMORPG or a Destiny style "shared world" game where matchmaking happens on the fly based on the player's location in the world. There are a variety of services that will help manage hosting game servers (Multiplay, Playfab, etc.) but most of them end up running on "standard" Cloud compute providers (Azure, AWS, GCP). Ultimately the only non "mainstream" thing about running large multiplayer games is the game engine piece.