The next-gen challenge

The industry is undergoing a transition to “next-gen” --from the DirectX 6 thru 8.1 class of hardware (represented by the Playstation 2, Gamecube and Xbox) to the DirectX 9 class of hardware (in the form of the Xbox 360 or the future Playstation 3). We’ve heard many concerns, from both publishers and developers, about the difficulty of creating a “next gen” game. We’ve all heard about inflating budgets, time constraints, inadequate workflow methods and so on. As a middleware provider, what is your take on the subject?

We think it’s one of the most critical issues facing the industry. As consoles get more powerful and complex, developing for those consoles is just getting tougher. Yes, we have more processing power. But making efficient use of all that power to make more engaging and complex game experiences requires some new skill sets, not to mention more programmers, more time, more ideas – and more money. By taking advantage of our expertise in parallel processing, distributed systems and advanced development methodologies, we believe developers will be better able to take advantage of all that new CPU power—allowing them to focus more on crafting great gameplay and compelling content.

In other words, you obviously think that choosing middleware solutions such as Gamebryo make more sense now than they ever did. This seems to be an idea most project managers agree with, these days. Having said that, what would you say to those skeptical developers, some of whom frequent our forum (Link), who think that maintaining large middleware frameworks tend to be a negative from a productivity standpoint?

I’d tell anyone with that viewpoint that if the resource costs of maintaining a middleware framework outweigh the benefits for you, then by all means don’t use middleware. Frankly, we don’t run into that one very often anymore. As I said earlier, most teams are determining whether it makes more sense to build their own tools, given their custom production needs. Reinventing the core tech for each game when highly competitive, leading-edge implementations can be purchased off-the-shelf is a bit of a no-brainer. We offer full source code and sell ongoing service as part of our licensing agreement precisely so developers don’t need to waste precious time and resources on such things. Again, it’s really about freeing up our customers so they can be focusing on creating great gameplay and content.

Click for a bigger version
 

Aside from game code, one of “the battles for middleware” is content creation. Better engine/toolset integration, is no longer a nice feature to have, it is a prerequisite. How high of a priority is providing easy-to-use tools for your company?

We live and die by our toolset. A powerful engine means nothing without a rich toolset to make the most of it. Our Scene Designer is a great example of this—this is a tool that makes it easy for artists to quickly pull together assets to make an entire scene, complete with lighting effects. Additionally, our Scene Designer was created as an easily extensible framework so developers can customize as much as they need. Gamebryo comes packed with all the tools (and source for all tools too!) that our customers ask for, all designed so you can see exactly how things look in the game.

Looking at today's hardware architectures one element appears to prevail: it is all about multi-core processors. From Symmetric Multi-Processing (SMP) systems, like the ones found on the PC (Core 2 Duo, Althlon X2) to asymmetric systems like Playstation 3 Cell, the trend is about having most of your code running in concurrent threads. Moreover, Gamebryo is publicised as being optimised for multi-core development. What multi-core optimisations does Gamebryo support, and how is this implemented in a friendly way for developers?

Multi-core processing has definitely captured developers’ attention, and with good reason: with all that processing power, the potential for real innovation in gameplay has spiked. But that doesn’t mean it’s easy.

Our latest version of Gamebryo includes Floodgate, which is a stream processing engine that helps next-gen developers get the most processing power out of each core and CPU or SPU. With Floodgate, once the programmer specifies the operations to perform and the associated streams (think graphics, AI, sound and physics data), this tool manages and executes those operations with amazing efficiency.

Floodgate isn’t the only multi-core / multi-cpu optimization built in to Gamebryo, but it’s definitely one of the most powerful.

Another step, in the ever moving definition of “next-gen”, is the release of Microsoft‘s Vista and its Direct3D10 API. Can we expect a new version of Gamebryo to be released in a timely fashion to take advantage of the features introduced by this new API?

Absolutely. We haven’t yet announced that release date, but will very soon.