James Batchelor takes a look at prime examples of how the Marmalade Platform can be used to its full potential
Strategy games continue to lead the way on mobile, and the best way to ensure your title stands out is to offer players bigger and better battles than the competition.
This is the goal the Aegis Interactive team set for themselves when developing the recently released Gods of Olympus, inspired by the classic Age of Empires games. Aegis was determined to push limited mobile hardware as far as it can.
But when promising such colossal conflicts, Aegis had to ensure the technology Gods of Olympus was built on could guarantee the best possible performance. The answer was the Marmalade Platform.
“There’s no margin for error,” says CTO Jay Abney. “There’s no room for ‘fat’. Everything has to be as tight as possible – your memory layout, your core game loop, everything has to be optimised.
“[Marmalade] is really, really fast. It’s essentially native performance.”
The key to this was the open nature of Marmalade and its foundation in C++. More customisable than an off-the-shelf graphics engine, this enabled Aegis to display large numbers of active soldiers and other assets without affecting how smoothly the action is presented.
Gods of Olympus was developed with a combination of Marmalade and Cocos2d-x, giving the Aegis team access to the former’s low-level APIs and cross-platform abilities, as well as the latter’s ready-to-go framework.
“As we’ve gone through our development cycle, we’ve simply replaced, upgraded or added to the parts of Cocos2d-x that would help our application perform better based on our game architecture,” said chief design officer Mark Doughty.
“Battles in Gods of Olympus often have hundreds of combat units on the playfield at once, so it was a huge help that Marmalade let us work with OpenGL directly for those times when we needed to maximise performance.
“Marmalade has allowed us to make way more efficient usage of our memory than would be possible otherwise and every megabyte of heap memory we save that way is a bunch of animation frames, or a set of art assets.”
GETTING IN A SPIN
Marmalade’s internal games studio has been demonstrating the platform’s various features with its own releases.
A prime example is 3D match-three puzzler Spinguins and its use of Marmalade’s new cloud services, particularly the integration of GameSparks.
GameSparks is a backend provider that handles player management, social functions, multiplayer, virtual economies and more.
“The GameSparks C++ SDK can be quickly integrated into your Marmalade apps,” says studio head Mike Willis. “Configuration takes place in GameSparks’ web portal and hooking these into the client-side via requests, responses and messages is easy to do.”
Using GameSparks’ cross-platform service removes the time, effort and cost of developing your own backend system. The fact that GameSparks is cloud-based means devs can push more game logic to the cloud, allowing them to adapt and tune their titles even after launch.
Spinguins is also a great showcase of how well the Marmalade Platform handles 3D game development, Willis adds.
“Marmalade puts as little code between your game and the bare metal while still offering powerful and flexible 3D middleware APIs,” he says. “The middleware is optional, so if you want to squeeze even more from the device, Marmalade also lets you work directly with OpenGL ES.
“The Marmalade 3D Kit APIs and tools let you make the choices that work best for you to achieve optimum results.” ′