Games programming is wild. The software application development process behind modern video games designed for consoles, PCs and online cloud platforms is a wildly creative process that involves hundreds (if not thousands) of team members. Games developers have to create fabricated worlds, design complex gamification challenges, master the use of sophisticated character movement engines and render images and shapes in intricate detail – the whole process is a maelstrom of inventive and original design.
But as with enterprise software and its ability to identify areas of functional commonality between different applications (nobody needs to program numerical calculator tools now, that function is mostly available as a plug-in), the games universe also has avenues to grasp similar efficiencies.
If software programming for game development doesn’t quite share the same ability to exchange application components (nobody wants to see a Marvel Avenger character cropping up in Assassin’s Creed), there is a relationship between common tools used between different games.
Azure Game Development VM
This is a key part of why and how Microsoft has created Azure Game Development Virtual Machine – with Azure being (obviously) Microsoft’s cloud service, development (clearly) relating to software developers and Virtual Machine (as technologists will know) denoting a computing principle used to ‘describe’ and define a computer of any given capacity in purely software-defined based terms, typically delivered over a cloud service.
Announced in the Spring of this year at the industry’s annual Games Developer Conference (GDC), Azure Game Dev VM has only recently now become generally available to programmers. In the simplest terms possible, this is Microsoft customizing its cloud service specifically for the needs of game developers. It makes sense. On the one hand, it’s efficient for developers and on the other, many console users are ditching CD-ROMs in favor of playing online in the cloud anyway.
By using existing GPU-optimized Azure VM SKUs (we’ll explain below), this product brings together common game developer tooling in a customizable Azure virtual machine (VM), saving hours of time that programmers would usually need to expend installing and configuring software tools, Software Development Kits (SDKs) and software drivers.
For the record and for completeness, when Microsoft’s cloud team talks about SKUs, they are referring to Stock Keeping Units. An Azure cloud SKU specifies the amount of computing capacity in any given instance of cloud. An SKU can be compute-optimized with low data Input/Output (I/O) latency for speedy processing – equally, an Azure SKU might be storage-optimized and so better suited for workloads that require storage for large volumes of data.
Beefed-up & pre-tuned
What Microsoft has done with GPU-optimized Azure VM SKUs (with the GPU denoting Graphical Processing Unit for super-charged processing speed) is to offer SKUs for gamers programmers that are beefed up and pre-tuned power on the same plate. This technology is a core component of the Azure game production pipeline, serving as a catalyst to enable game developers to accelerate their cloud game production journeys. It also provides a platform for partners to onboard their game development solutions to Azure, building the cloud gaming ecosystem together.
“We’re pleased to announce the Azure Game Development Virtual Machine, an Azure offering that makes modern game creation easier and opens the door for game developers to take advantage of game production in the cloud. Games studios around the globe are looking to adapt to new work paradigms that support the complexity [of enabling and working with] remote and distributed teams, including our own,” wrote Ben Humphrey, principal engineering manager, Microsoft Azure on the Microsoft Game Dev blog.
Humphrey and team say they are cognizant of these challenges for the game creation community. “We even see our own game studios accelerate their adoption of Azure to enable a more collaborative and efficient game development pipeline,” he adds.
How does it work?
In terms of working functionality, Azure Game Dev VM enables a hybrid, scalable and quick-to-deploy software production environment with the ability to add or decommission resources at a moment’s notice. It is designed to provide a modernized and sustainable work environment, not dependent on physical locations or hardware infrastructure, to support a creative team that can work globally.
This service is said to allow game development creatives to always have the latest versions of software and optimize archival and disaster recovery in a secure and collaborative cloud infrastructure.
“This allows developers to quickly spin up a functional game development workstation or [production ready] ‘build server’ in around five minutes, which enables easier validation of pipeline performance, [games programmers can also] pull down code/art assets from a Perforce repository to develop and test games right from the cloud. Additionally, it saves hours of downloads and configurations to get the environment needed for game creation,” added Humphrey.
Faster games, better games?
Will faster more efficient game development lead to better games? In theory, of course, the answer is yes. The less time any software application developer has to spend provisioning, planning, prepping and preparing the base layer substrate system for any programming job, the more time (and headspace) they have for creativity.
Microsoft also points out that Azure Game Development Virtual Machine will help game developers looking to evaluate and experiment with the game development experience in Azure. The cloud is now a game zone and a games development zone, gameplayer in-game power-ups just got powered up.