Titanfall is a new blockbuster game for the Xbox One. It is being published by Electronic Arts and is due to be released in March 2014. Titanfall is a first person shooter that will have much of its AI hosting , physics calculations, online match making and multi-player dedicated servers hosted in Windows Azure. This means several things:
- Azure’s IaaS provides dedicated servers for multi-player games providing near infinite bandwidth with low server pings and anti-cheat enabled
- Azure’s PaaS is being utilized to provide physics calculations and specialized AI to learn your style of play
- PaaS and dedicated servers auto scale to provide fast dynamic content to players around the world on a consistent scale
Multi-player infrastructure background
Traditionally multi-player games have been played using a client/server paradigm. This paradigm generally involves a computer acting a dedicated server for the game. This dedicated server accepts connections from a specific amount of players and handles communication between the clients/players. The server normally does not perform any game relevant calculations but would act as a central repository where players send update information which would then be distributed and consumed by every client.
Recently the game development community has moved away from the dedicated server model due to operational cost and replaced it with a player-host model. The player-host model essentially means that one player hosts the game and every other player connects to the host. This new paradigm has several disadvantages to network multi-player gaming but was implemented to save costs on running dedicated servers as game hosts. A few of the obvious disadvantages to the player-host model are:
- Inconsistent bandwidth and server lag of the player chosen to be the host
- No anti-cheat enabled on host
- Slower updates / increased lag due to server not being dedicated
- Local player receives faster updates than other players
How Azure fixes this
The dependence on a cloud infrastructure for a fast paced reactionary game is a significant leap of faith. Video games generally run in a continuous loop created by the game engine to repeatedly update all of the game data (AI, particles, physics, player movement, event handling etc.) and then draw that data to the screen. It takes a substantial amount of CPU and GPU power to calculate and render all of the in-game objects at speeds necessary to achieve the target of 60 frames per second.
The developer of Titanfall, Respawn Entertainment, is utilizing Azure PaaS to handle several expensive calculations normally performed by the local host (console or PC). These calculations are typically done on the local host so the player experiences minimal lag. With these calculations off loaded to the cloud and not affecting any game play, it allows the developers to optimize the Xbox One hardware to handle more graphically intense environments. This strategy could also extend the life of the Xbox One even further in the future.
Cloud computing services such as Azure have allowed dedicated servers to once again be economical. With automatic server scaling and incredibly cheap virtual machine costs, the server cost and total hours of man power have been significantly reduced. The more calculations that are performed in the cloud the more you can do with the hardware available. Another way to look at this is, the more calculations you can do in the cloud significantly impacts the entry point for other hardware platforms. If a developer is able to process 90% of intense calculations on an Azure compute cluster then the hardware needed to play the game can be anything from a tablet to a workstation. This has the opportunity to increase the install base substantially.
Games are real time applications that depend on milliseconds and timing. Azure is effectively performing calculations for a real time application and delivering results to multiple parties simultaneously. If the Titanfall launch performs well, expect hundreds of future Xbox One games to utilize Windows Azure in making the cloud (and Azure) a dominant force in multi-player gaming for years to come.
Pingback: Tuesday, January 28, 2014 on #WindowsAzure | Alexandre Brisebois