“This is the original concept shot for Fruit Ninja which was pitched to the company during Halfbrick Fridays. This is literally the very first piece of Fruit Ninja imagery ever created, so it’s historically significant,” Halfbrick Studio‘s Chief Marketing Officer Phil Larsen said in an email to me last week after I interviewed him and his colleague Richard McKinney, the company’s Chief Technology Officer, about how the company develops its games. Halfbrick Fridays is one of the ways the Brisbane, Australia-based company comes up with new ideas for its games. Fruit Ninja – its greatest hit to date – came out of this.
Halfbrick Fridays
From Idea To Game
What’s interesting about how Halfbrick turns its game ideas into actual products is that virtually all of its games use one underlying engine (written almost exclusively in C++). The core engine team consists of six “hardcore programmers,” as McKinney told me, and they ensure that those teams that work on the individual games have a stable architecture that they can then write their own code for.
One of Halfbrick’s larger teams, by the way, is now the cloud service team that provides the back-end technology to connect games together across platforms. Halfbrick uses Amazon’s EC2 platform for this and recently switched to a NoSQL database for better scalability.
The point of the core engine, the team stressed, is to be able to publish apps across platforms as easily as possible. Many game developers who have a hit on one platform often find themselves struggling to port their games to another platform, which can take months and could make them lose precious momentum.
Halfbrick Studios releases games for Windows, Xbox, PlayStation, Windows Phone, Android and iOS. All the core parts of the code are written in C++. “A lot of companies get into the mistake of writing just in Objective C and put all of their game logic etc. in Objective C,” McKinney told me. “How do you get that into Android?”
To avoid having to rewrite a lot of code, Halfbrick just uses C++ across the board and drops into native languages as little as possible. The core engine provides the developers with generic interfaces into the engine that abstracts almost all of the platform specifics for them and using C++ gives the teams control over performance and lets them fine-tune things and control memory usage. C++, they also stressed, offers a large number of third-party libraries for game developers.
Halfbrick then uses a mix of open source and proprietary tools to publish the code to the various native platforms.
Most of the development at Halfbrick happens in Visual Studio, though the team does need to use Apple’s Xcode every now and then. Visual Studio, McKinney told me, “is the best environment for creating games as far as we are concerned.” Halfbrick doesn’t want its developers to have to learn lots of different environments and the pipeline the team has created allows coders to work almost exclusively in Visual Studio and C++, even when they are developing for HTML5.
Looking ahead, Halfbrick plans to launch about five games this year after mostly focusing on expanding its existing catalog to new platforms last year. Some of these new games will be spin-offs of the company’s current hits and some will be completely new, but the exact details are obviously under wraps.
No comments:
Post a Comment