August 2015

Volume 30 Number 8

Upstart - Games Revolution

By Michael Thompson | August 2015

I was born in 1983, just as the early video game market famously crashed and left many to believe it was a fad that had run its course. But demand for quality games proved resilient and by the time I entered grade school the Nintendo Entertainment System was a favorite topic of playground debate. Since then, the games industry has become larger and more mainstream each year. In 2014, the sector topped U.S. $80 billion in worldwide revenues; double that of the film industry.

It’s no surprise, then, that many of us who grew up with games—and especially those of us who became professional geeks—have dreamt of creating games of our own. And more of us might, if the dream of becoming a ninja-level game developer didn’t seem so unattainable.

But the perception—and reality—of game development is changing. Once an exclusive clubhouse for a special caste of programmers, recent years have seen new offerings in hobbyist-friendly game development toolsets throw the doors open. For little or no up-front cost, these toolsets grant you the opportunity to benefit from the experience of elite game-engine programmers, conveniently exposed through WYSIWYG editors, comprehensive APIs, and beginner-friendly languages like C#, JavaScript, and Lua. Many of these toolsets also integrate marketplaces where users can buy, sell, and share game assets such as 3D models, animations, sound effects, and useful scripts. And while games are the primary focus, these toolsets have also lent their talents to advertising, education and multimedia art installations.

The most popular of these toolsets, Unity, combines a cutting-edge, cross-platform game engine (it supports 21 platforms to date), an intuitive GUI for crafting game worlds, scripting in C# and UnityScript (which is similar to JavaScript), and a vibrant marketplace for content, scripts and editor extensions. Using Unity doesn’t cost a thing unless you’re working as part of an organization with more than $100,000 in revenue or funding per year. On top of that, Unity offers extensive documentation, tutorials and sample projects, as well as benefiting from a rich user community. With so much to offer and so few barriers to entry—technical or financial—it’s easy to see why Unity is so popular.

But Unity isn’t the only game in town. A popular alternative is Unreal Engine 4 (UE4) from Epic Games, which in previous incarnations was marketed to large game studios (and priced accordingly). UE4 is the first to embrace smaller studios and hobby­ist developers by becoming open source and charging only a small royalty on game revenue. The UE4 toolset and workflow are largely similar to Unity’s, though it’s sometimes said to be more capable and less friendly due to its professional lineage.

Another popular alternative is the 100 percent free-to-use and open source Cocos2D, which has traditionally focused on 2D games and favored code over GUI editors. It is further distinguished by offering a family of similar APIs for different languages—C++, JavaScript, Swift and others—rather than a monolithic platform. While still not as feature-rich as Unity or UE4, Cocos2D has recently gained 3D support and the peripheral Cocos Studio provides some of the functionality of competing editors.

Because these toolsets take care of the technology—rendering, sound, animation, input and more—you’re free to concentrate on the creative work of building your game. You don’t need to know how to write optimized C++ code—the toolset provides an optimized engine. You don’t need to know Direct3D or OpenGL—the toolset provides rendering that you can extend with custom shaders. You don’t need to know how to import character models from 3DStudioMax—the toolset can import game assets of all kinds in just about any popular format.

Unleashing creativity with one of these toolsets doesn’t require an exotic skillset. In fact, it doesn’t take much more than a willingness to learn how its components work together, an understanding of high-school math and modest programming skills. Even if you’ve never written a game before you’ll find a lot of familiar ground. Most of what you do to create a game using these tools is a matter of configuring properties or writing code in the right place. Adding a bad guy to your game is not unlike dropping a button into a Windows Forms app and writing code to handle its OnClick event.

Ryder Donahue penned the first Upstart column in the May issue of MSDN Magazine (msdn.microsoft.com/magazine/dn973009), and was quoted in the issue’s Editor’s Note column as saying: “The tools that are given to developers, and the resources available, empower anyone to really make their dream app a reality.” Toolsets like Unity, UE4, Cocos2D and others prove that this observation rings true for aspiring game developers and for other creative developers, as well. More than three decades after the crash of 1983, it’s clear that the game dev space is more vibrant—and more accessible—than ever before.


Michael Thompson is a content developer at Microsoft who writes about C++, graphics and gaming for the Visual Studio team. He’s a DigiPen alumni and a top member at gamedev.net.