Q is a 3D engine / tech development platform / interoperability standard developed by the London-based developer Qube Software.
Overview
Qube has made considerable claims for Q. Its lead designers, Servan Keondjian and Doug Rabson, have pointed to Q's architecture as being its key innovation. Q is configured as a framework into which all the supplied components plug in modular form. The framework's common APIs are designed to make adding and removing components a trivial task and one that can be done neatly. The key idea is that this makes it simple for studios licensing the platform to develop and add whatever elements their project requires and to license original components amongst one another. The claim has had customer endorsements: “If we develop a plug-in during the course of one project its easy to use it or build on it for another; so our development work is cumulative. We can build a library of plug-ins. Nothing is wasted.” Qube also claims to have developed Q as an interoperability standard for 3D, providing the same degree of coherence for the 3D products across both gaming and non gaming environments that Flash or HTML provide for web applications. The claim is predicated on Q's supposed ability to accommodate any platform, scripting language, or genre of game, or 3D application. Licensees have already reported titles in production or shipped for the PC, PS2, Wii and PS3. Keondjian said early in 2008 that an Xbox 360 port would follow: "we know it's the easiest.” The company has also indicated that Mac and Linux versions of Q are available and that the platform would be compatible with the PSP, iPhone and next generation mobiles.
Features
According to Qube, Q ships with a range of features including: arbitrary scene rendering algorithm support, arbitrary shader program support, keyframe animation, simultaneous n-dimensional animation blending, animation state machines, multi-gigabyte texture manager, background data streaming, hierarchical LOD and scene management schemes, collision detection, network-enabled media pipeline, live editing of game content, scripting across all core and custom components, cross-platform data formats and APIs, platform-specific extended data formats and APIs, 2D and 3D audio with effects, background texture compression / decompression, user input, hardware accelerated math, Max and Maya exporters, application framework, command line tool framework, and cross-platform build.
Early in 2009, Qube and Brighton-based server solution company RedBedlam announced that they would bring their technologies together to produce a ‘one stop shop’ for online environments. The project was given the codename '"Messiah". Messiah has been adopted by NearGlobal for the NearLondon virtual world.
Customers
Take up of Q 2.0 has been steady if unspectacular to date. Clients announced include Candella Software, Asylum Entertainment, EC-I Interactive, NearGlobal, Airo Wireless, and Beyond the Void. The developer has hinted that other studios are using Q on projects that have not yet been made public.
History
Work on Q started in 1998 after Qube founder Servan Keondjian left Microsoft. There, he had led the team that turned his own Reality Lab API into Direct3D. According to Qube's website, Keondjian and his Reality Lab coding partner Doug Rabson believed: “Microsoft was a great place to ship products but not a place for innovation and new ideas.” "Basically," Keondjian told the website Gamasutra in 2008, "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." Q 1.0 was released in 2001. In effect, a prototype for the version that was to follow it was first used on the BBC's Dinosaur World, and projects for Microsoft and Virgin Interactive. Q 2.0 was released in February 2008. Q 2.1 was announced in July 2008 and included script debugging and new shader and scene rendering plugins.