As Qube Software announces plans to unveil its 'future generation' middleware Q at this year's GDC, Gamasutra talks with Qube co-founder and Direct3D veteran Servan Keondjian, who claims that its true power is its modular approach -- the "antithesis" of high profile "monolithic" engines from Crytek or Unreal.
The development of Q has been one long in the making, with Qube forming in the late nineties, after its founders Keondjian and Doug Rabson left their previous company, Rendermorphics, having been acquired by Microsoft to absorb its technologies into the DirectX initiative as what is now known as Direct3D.
"Basically," explains Keondjian, "when we left Microsoft after we'd done Direct3D, we wanted to build a middleware solution. I didn't just want to make another middleware solution, I felt there was a problem with middleware in the game industry, and I wanted to really understand that problem and see if we could crack it. That was the mission."
"The problem was that from what at least was our experience, game developers didn't like using middleware. They often felt locked into things, they couldn't innovate themselves, they couldn't show their own studios innovations and advantages. In some way middleware wasn't really working, and that problem still seems to be around," he continues.
Qube set out on a four year research and development phase to build out all of the rendering technologies and experiment to ensure the software had all traditional engine features up and running -- all of which led up to Q 1.0, and then set out to tackle the more important task, modularizing its pieces to give developers the freedom to use or ignore any piece of the technology.
"From that point on, we then broke it down completely into a bunch of components, and started looking at how to design an API or a framework around those components," says Keondjian. "In particular, we wanted to let people blow out any component from the lowest level all the way to the very high level, so even the networking libraries and input libraries are pluggable, the scripting's pluggable -- everything's a completely pluggable framework for developing games."
Keondjian says the approach is an entirely unique one, so far as the company knows, and its advantages are great, compared to other current solutions that are more tailor-made to address specific genres or types of games:
"The solutions out there, are more what we call 'monolithic' -- they've evolved from games or they've evolved from rendering engines, they're all evolutions. What we've done is we've sort of sat down, looked at what game developers need from all directions, while looking at the rendering problems that were there -- because if you can't do the rendering that you need to do it's absolutely no use -- and designed what we feel is the ideal solution."
"We've got some pretty good off the shelf solutions that do, say, cascade shadow buffers, shadow maps, all the standard things, but we let the developer put them together in the way they want for their title," he continues.
"I believe that's actually what people want to do," says Keondjian, "and more and more that's the direction things are going, especially with the shaders being provided by the graphics card companies, and DX10 giving you more and more power. I've got no criticism of what's there in terms of great rendering solutions -- Crytek or Unreal -- the batch of shaders that they've put together for what they're delivering is fantastic, but for us, we almost look at that as just a set of components plugged together."
As a package, Q does ship with a number of custom-built technologies, but again, Keondjian says its real power, is in what can be easily stripped away or replaced with whatever pieces a developer has invested in themselves:
"It's not just an empty framework -- that's something we've been asked before. One of the bigger pieces is there's a complete streaming back-end built in to the whole architecture so that you can use it for streaming levels, data sets over the internet, that sort of thing, and another big piece is that we've got a very nice animation blending system."
Q doesn't, however, ship with any AI or physics technology, a deliberate omission, Keondjian explains, as getting 'stuck' with bundled solutions is like "having someone else tell you how your game has to work":
"AI and physics are two components of any game that can have a major impact on the look and feel of the entire production. What we've done is made it very simple for developers to plug in any of the multitude of existing solutions or solutions they build themselves and that gives them a far greater degree of control over the direction their games take. We think those decisions are absolutely the ones that should be taken by studios and not by middleware providers."
Asked if he feels Qube is prepared to stand up against its high-profile competitors, Keondjian says definitely, so long as developers understand the approach that makes Q unique:
"We think we address a whole bunch of problems that those guys don't address. If somebody wants a first person shooter engine, what's there is a very good first person shooter engine. I wouldn't say if someone just wants to change the textures or assets a little bit, ours is going to be the quickest way to do it. We're looking at studios that want to innovate, want to get on with their own skills, and build the tools they want to use, and help them do that."
Keondjian describes its genre-agnostic approach, which can be as easily adapted for an FPS as an RPG, MMO, racing, sports, action or even rhythm game as "the antithesis" of its competitors, and says Q is "for experienced developers that say, 'We know what we want to do, we want to pick the useful bits and just get on with it. Make sure they're all designed so they fit together.'"
Currently, the version of Q to be unveiled at GDC is up and running on PlayStation 2, Xbox, Wii, PlayStation 3, PC, and Mac. The Xbox 360 is the only platform currently undeveloped, but, says Keondjian that's simply because "we know it's the easiest. We don't have somebody clamoring for it yet, but it's not hard at all."
And, says Keondjian, its solution is one that will be marketed at developers of all configurations both major and independent: "We'd love it if publishers start taking it across the board, but at the moment independent studios, game developers of any size that want to start a new project, or have some great in-house technology, but really want to re-architecht it in terms of a framework form, so they can rapidly move their own technology forward."
"One of the buzzwords is 'it sets people free' -- in a way, lets them get on with what they want to do. I know other middleware people have said that, but they don't deliver that," he concludes. "That's our edge -- we don't blow away somebody else's investment and what they do, and other traditional middleware does that."