Great ideas aren’t enough.
At the recent Game Developer Conference Europe in Cologne, I met a lot of developers with creative and innovative ideas. Some of these ideas could have a big impact on the game industry. Unfortunately, most of these developers were making easily avoidable infrastructure mistakes, like building onsite rather than in the cloud — a shortsighted decision that greatly hinders their ability to scale. Great ideas only get game developers so far; they also need the proper architecture tools.
The wide availability of payment tools combined with the popularity of free-to-play models and growing popularity of massive-multiplayer games and social gaming, independent game makers have a great opportunity to make their games a financial success. Most developers are not setup for success, however, because they have neglected infrastructure. What good is a potentially viral, sticky game that can only handle a few hundred players?
Here are five categories of infrastructure that game developers absolutely must consider if they hope for their idea to become a reality.
High-performance cloud infrastructure
Many developers we meet make the mistake of building their initial game on low-performance machines in a private data center. Although it may save costs in the beginning, the strategy fails to take into account high-performance gameplay and the unpredictable burst of user growth that inevitably occurs once a game gets ranked on a great blog or listing and starts to take off. Start with future success in mind by choosing a public cloud, like AWS, SoftLayer, Google Compute Engine or Windows Azure. The public cloud provides the freedom to easily scale up machine resources and deploy an environment in specific global data centers in order to meet variable demand that scales up or down.
Even a relatively simple mobile game demands more than one database. The good news is that we have entered a golden age of open-source NoSQL databases. Developers have great and readily available open-source technologies with robust communities behind them at their fingertips. NoSQL databases like MongoDB are more flexible in how they model data while also offering better performance than relational databases.
The open-source Redis database is growing in popularity as the social aspects of gaming become ever more of a draw. Twitch, the livestreaming video platform and community for gamers that Amazon recently bought, uses Redis for its great performance. So does the mobile-gaming network Scopely. Redis is proving able to handle heavy game performance needs, including real-time leaderboards, gameplay transactions, analytics, and player profiles for up to hundreds of thousands of players as well as job-management requests such as messaging.
Application and server monitoring
Monitoring application performance is critical to ensuring that it’s functioning correctly and also for quickly identifying problematic areas when they arise. Transaction speed, error rates, and slow load times can quickly degrade player experience and kill any chance your game has of growing. Tools like New Relic, DataDog, and AppDynamics are well suited for application and server monitoring.
Games produce tons of data, most of it unstructured and complex. You may have a few friends playing your game today, but once you hit it big, the complexity of gamer volume, gameplay transactions, and gamer lifespan, among other things, will produce enormous data. This can be a headache to manage but can also be immensely valuable to improving gameplay experience, identifying your top players and quickly bringing the game experience back to normal in the event of service disruption. Consider logging solutions like Loggly and Splunk to do the job early on.
Mobile app tracking
When developing a game for a mobile phone or tablet, few things are as facepalm worthy as creating the perfect game experience and getting a great boost in the iTunes or Google Play store ranking without having measured your progress beforehand. Map out the key performance indicators that you need for growth, like installs, new and returning player volume, active user volume and player lifetime. Without keeping track of this valuable information, game developers are missing key opportunities to improve experience and cater to their audiences. Tools like Flurry, HasOffers, and Distimo offer tremendous value in tracking your mobile game’s performance over time and providing the right insights to improve the experience for your players.
It’s a great time to be a game developer. One good idea can massively impact the gaming landscape, but game developers must consider infrastructure. The tools are readily out there. Don’t fall victim to taking infrastructure for granted.