Tooling Around: Emergent's Gamebryo
For the next part in Gamasutra’s ‘Tooling Around’ feature, which profiles and interviews middleware and tools developers about their products, today’s interview is with Geoff Selzer, president and CEO of Emergent Game Technologies
, developer of Gamebryo.
Gamebryo is a cross platform C++ game engine first launched in 2003 as a follow-up to the NetImmerse engine. Currently at version 2.2, the product is best known for its 3D rendering abilities, though Selzer is quick to note that its “key is flexibility, both with the engine and the tools”.
“Our modular approach allows the developer to use all parts of Gamebryo or only those components necessary for that particular title,” he explains. “You can’t look at a game and say, ‘that was built with Gamebryo engine’.”
“We don’t want to dictate a developer’s production pipeline and processes,” he adds, “we want our tools to be flexible and modifiable so that the developer can insert Gamebryo into their pipeline and build their game their way.”
To date, Selzer estimates, the engine has been used in the development of almost 200 games including such varied titles as Civilization IV, Freedom Force
and – most visably - The Elder Scrolls IV: Oblivion
We spoke to Selzer about the engine, the move from a focus on graphics to a more well-rounded product and its evolution in the future.
When and why was Emergent formed?
Emergent Game Technologies was founded in 2000, NDL was founded in 1983 and the companies merged in August 2005. Emergent’s expertise in server technologies and automation technologies provided a perfect fit with NDL’s expertise in 3D graphics to form a company that provides developers an unmatched range of integrated capabilities for building, testing and managing games. Emergent is backed by well-known organizations such as Worldview Technology Partners, Jerusalem Venture Partners and Cisco Ventures.
What were the aims and goals of the company at this time?
There are two fundamental disruptive trends impacting the core game market: the rapid increase in cost and scale of games, and the online migration of games. Our answer to these trends is to create the de facto standard pipeline framework and deployment platform for the games industry. The framework and pipeline are designed from the bottom up with Enterprise software discipline and architecture from the ground up. Emergent will provide developers and publishers the world-class tools, technologies and services they need to create the next generation of games with less technological, production and financial risk.
How did you realize the need for a product like Gamebryo, and did you develop the engine with particular goals in mind in regards to performance?
That goes back a long way – back in 1997 NDL’s founder Turner Whitted recognized that the new PC graphics chips were going to revolutionize games and software to take advantage of those capabilities would be crucial in enabling game developers to build great games. We were one of the first companies licensing middleware – back before it was called middleware and back before developers believed you could build a great game on licensed technology. Gamebryo has come a long way since then.
Top performance combined with rich tools set is key – if the game engine doesn’t have it, a developer won’t use it. Our approach evolves constantly as the underlying hardware has evolved – from single purpose 3D graphics chips where functions were hard wired, to programmable shaders, to multi-core processors.
Would you say that there is a specific focus on one element more than any other for Gamebryo?
Historically we have focused on graphics. Our work over the last year and into the future is on adding those features that make Gamebryo a tools rich flexible environment. Concurrency is critical going forward; we are deeply focused making multiprocessor game development as easy as single threaded development while exacting the maximum performance out of these new platforms.
What was the development time on the engine, and what challenges did you run into in preparing the product for industry use?
Since we have been constantly evolving the engine since 1997, it’s hard to pinpoint exactly how much time has gone into the current shipping version – but certainly decades of programmer years.
Our main challenge is staying ahead of the curve – hardware continues to evolve, gamers’ expectations continue to rise, developers expectations of features and tools are rising. Developing middleware is different than developing a game. Once you ship a game, you are pretty much done. Middleware constantly grows and evolves, we need to change and upgrade constantly, while at the same time not making changes that make it difficult for our customers to keep up.
How has the product developed over the time you've been producing it?
Back in 1998 we started out as a PC engine with no tools or exporters. We now support seven platforms, two content creation tools, and our tools effort and development exceeds the time we spend on the engine itself. And it is growing to be a complete development platform that is unique in its architecture and is addressing the industries most trying problems.
How have you acted on feedback to improve Gamebryo?
Our product evolves from three sources: customer feedback, our architects, and evolution of the underlying hardware.
Our customer feedback is extremely important to us. Since we don’t build our own games, we don’t force our customers to accept features on our timetable – we respond to their requests. Most of our customer requests are focused on relatively short-term needs. So we rely on our architects to drive the longer-term direction of the product – what features we need to be developing, what tools we should add, and so forth. Finally, the underlying hardware continues to change rapidly and we need to anticipate and be ready with capabilities that enable developers to take easily take full advantage of those features.
How does the product work on a technical level?
Briefly, Gamebryo is a C++ cross-platform API that runs on PlayStation 3, Xbox 360, PC, PlayStation 2, and Xbox. The engine is optimized and customized for each platform so that the programmer can take full advantage of the unique performance and features of each platform. It handles rendering, effects, particle system, collision, animation, and all things a developer needs to make a game look great.
We have very robust exporters for 3ds max and Maya that enable an artist to easily export content and see exactly how it will look in the game. Finally, we have an animation tool that artists use to tweak and blend animations, and a scene designer that allows the artist and game designer to place lights and objects in a level. Our tool architecture is plug-in based so it is easy for a developer to extend our toolset for their particular pipeline needs.
How have you selected the middleware that has been integrated into the engine?
Perhaps the most important factor is customer requests – we listen first and foremost to what they say and what they need in the near future. Longer term, we look at what technologies will be interesting in the next three to five years – for example procedural modeling is becoming more and more important. We certainly look at the middleware company and their technology – is it great? Are they enthused about working with us? We see middleware integration very important and will be devoting additional resources than we have in the past to integrating other great technologies.
What are some of the more notable examples of the engine's use?
Bethesda Softworks’ The Elder Scrolls IV: Oblivion
for PC and Xbox 360 has been met with critical praise for its stunning graphics. EA Mythic’s Dark Age of Camelot
was the first MMO that used Gamebryo, and Firaxis as used Gamebryo for Sid Meier’s Pirates!
and Civilization IV
Who is currently using the product?
Industry leaders such Bethesda Softworks, Buena Vista Games, EA Mythic, and Firaxis Games. In Asia, Shanda, Grigon, and Acquire are among our customers.
What do you see as the next evolution of Gamebryo?
A full flexible and modular plug and play framework. We already are selling and support PS3, Xbox 360, and PC. There will be other major extensions in the very near term. Developers will be able to develop for multicore and single core in a single unified environment. Add to that our Metrics product and other initiatives unannounced, and I think the industry will see that we will have the most powerful and flexible solution available in the market place.
We are evolving Gamebryo in three areas: tools, optimizations to take advantage of hardware parallelism, and integration with other technologies from Emergent and our partners. We are constantly adding capabilities to our tool chain while ensuring that those tools are flexible enough that a developer can create any kind of game. Our Floodgate technology provides a cross-platform API to easily build, schedule, execute and synchronize workflows of interdependent tasks. Finally, there are many interesting technologies that game developers need that we don’t have world-class expertise and we ware stepping up our efforts to provide better and cleaner integrations to those technologies.
We are building the next generation pipeline around Gamebryo. Our customers are already benefiting from our movement in this direction. This is just the beginning of Emergent’s evolution and our goal is to make it easier to make better games. Then there is the issue of going online, but that’s another topic altogether.