It has been 2 years in the making but steady development by a small and dedicated team has produced Kwalee’s new server technologies to support its long term goals.
David Darling’s desire to return to the gaming industry was kindled by what was then a social-smartphone revolution. The size of the market and the space available in which to innovate was an opportunity not to be missed. Friends could communicate, socialise and game in increasingly diverse ways but they increasingly do this across the internet; across the cloud. He formed Kwalee in 2011 and obviously, Kwalee needed a “back-end service” that could support and deliver its games onto every smartphone, regardless of the vendor.
Work began on a game server (subsequently nicknamed Koala) which could cater to the company’s specific needs. With a focus on multiplayer games, the first hurdle towards delivering the very best multiplayer games was to have the very best player matching. Kwalee feels it is essential to connect players that want to play with other like-minded players. This crucially separated the “I’ll just take a look” players from the ones that are really interested in participating and will return time after time. Koala’s algorithm for optimising player hook-up offers every player the best chance for fun.
At the same time Koala’s developers were tasked with minimizing dependency on a single outside provider for social integration and analytics. So, while Facebook, Game Centre, Google Play Game Services, and so on can be adopted to authenticate players, record achievements, log leaderboards and connect with friends, they are not a core dependency to any of our games. Similarly, data aggregation and analytics services such as Flurry and Google Analytics take a back seat to our own analysis tools and daily reports.
Visibility is an important part of the development process and Koala enables each of our development teams to have a big screen where analytics data is visualised in real time. For a short time, one team even tied a sound to the in-app purchases event (“Kerching”). As with all mobile development companies, the aggregation and analysis of raw data continues to inform our improvements to existing and future games.
From the beginning we knew Koala would need to support the development of multiple games, so only the core generic features common to multiplayer games were implemented. On top of that an extensions API still allows the teams to create their own specific server logic. This has allowed us to maintain a small server team and still develop 4 games concurrently. From the game client perspective, sharing the API code between projects has meant more time can be spent on gameplay. Code sharing is paramount to efficient game development and improvements become instantly available to all our projects.
Kwalee now has a fully developed server architecture that supports four games on the iTunes Store, with more in development and pre-production. All the core requirements for Koala have been fulfilled and we are able to analyse and refine our matchmaking system, and make real improves to the game experience for our players. The system was recently stress tested as our premier title “Farm Fighters” was featured on the front page of the iTunes App store. We suddenly had massive increase to our daily download levels. We have to admit, there was some strain but our plans kicked into action and we had no appreciable downtime.
There is plenty still to learn and the diverse nature of our projects has driven server development in new ways. For instance, in-app purchase support across multiple platform providers was always in the plan, but support for distributing data across the cloud and managing it was something which arose naturally with development needs.
Some of our current features are:
Advanced matchmaking, user profiles and chat across all games
Shop support across multiple platform providers
Cloud data distribution (using Amazon S3)
NoSQL support to distribute structured data globally
Denormalized Relational Database for optimised reporting
This leads to some higher level features:
Per project dashboards, each team gets to view the aggregated data, test hypotheses and track results in real-time
Real-time sales data : “kerching!”
Real-time tweaking of gameplay parameters and economy
Of course we had our surprises. Having the raw data at our disposal turned out to be extremely useful, but also very dangerous. With no employee dedicated to data analysis it can be very easy to misinterpret data and arrive at poor conclusions. It is inevitable that in the future, “Data Analyst” will be a common job title in the credits page for all the most successful freemium games. At Kwalee, our simple approach has been to create use cases and review data to check our hypothesis. We still strongly rely on our intuition and years of experience making games since relying on data-driven design can lead to some really ghastly outcomes.
We are at a point now where we need to grow our server department. Supporting all the teams and implementing new features is beginning to take toll on further research. Necessity is the mother of invention and strong growth demands Kwalee keeps coming up with new solutions and overcoming exciting challenges.
Kwalee are currently hiring experienced game developers: take a look at our jobs page.
Kwalee the Kwalee logo, Koala and the Koala logo are trademarks of Kwalee Ltd. Other company and product names may be trademarks of their respective owners.
The post Kwalee takes Mobile Gaming beyond the Next Level appeared first on Kwalee.