“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.
About five to seven times a year, the company organizes these Halfbrick Fridays, they told me, where the whole company (about 70 people at this point), breaks into groups of around five people to brainstorm new ideas. The cool thing here is that it’s not just the game designers and developers who participate, but anybody who works for the company – be that in accounting or quality assurance – participates in these sessions. Age of Zombies, for example, is the result of this process (though Larsen and McKinney told me the final version looked very different from the prototype). So is Monster Dash. These events either last for about a week or are spread out to one day during a period of about five to seven weeks.
Once the idea for Fruit Ninja was born, it only took a few months to make, but some game ideas, the team told me, have been floating around for years and have yet to become reality.
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.
Being in Brisbane, the two told me, gives them access to a great pool of developers (there are also small teams that work out of Sydney, San Francisco and Spain). Brisbane features a number of game development schools and college programs, so finding talent isn’t all that hard. Given that C++ has long been the standard in the gaming world, game developers with the right kind of experience aren’t all that hard to find, but because the company doesn’t have too many formal review processes and works with very small teams, McKinney and Larsen told me that the company is extremely picky about who they hire. “We want to make sure we have a fun culture and don’t want to ruin the magic we got,” Larsen noted. Because of this, new hires are required to have a very high level of tech ability.
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.