By Jack M. Germain LinuxInsider Part of the ECT News Network
10/17/08 4:00 AM PT
When it comes to gaming engines, the open source world has plenty of options to offer. But they're not always tapped by game developers, especially ones who deal with online games. Security remains a top concern, but OSS proponents say those worries are often overblown.
Open source software is often an unsung hero in the online gaming universe. Game engines are complex applications with core functionalities provided by numerous modules. These include a
rendering engine for 2-D or 3-D graphics and a physics engine or collision detection and response calculator. In addition, game developers have to provide for sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading and a scene graph.
Behind the scenes, open source graphics rendering engines and game development engines power some of the most popular boxed and online games. Open source is not just the power behind the games. It's very likely that any given online game back-end system relies on software developed by the open source Apache project.
A quick keyword search for graphics rendering engines draws a list of
several dozen open source communities. Depending on which review sources you follow, the top 10 most popular game engines can turn up
in different rankings, much as the drivers on a NASCAR leader board of
drivers changes from race to race.
Even so, the prominence of open source among game developers is not as
universal as one might believe. Especially at some of the most
heavily trafficked online game Web sites, proprietary graphics engines
are more the rule than the exception.
"The gaming world still is largely afraid of open source. The feature
set is often behind that of proprietary offerings. Game companies
sometimes worry about getting support beyond the community," Todd
Northcutt, director of GameSpy Technology, told LinuxInsider.
Type Matters
One thing that game developers consider in selecting the source code
is the type of game the players will see. Games that share similar
risk properties will usually not rely on open source.
"One big example of this is ... 'World of Warcraft.' It has money
involved. Another example is online poker Web sites. Open source is
very well known, sure. But developers of those types of games are not
using open source," Gary McGraw, CTO of security firm Cigital.com,
told LinuxInsider.
In principal, no real reason exists for open source not be used by
these companies. But some of the largest game developers remain
convinced that an open source solution would be less secure.
"You can't buy an open source security thing and add it on. That would
not be able to withstand attacks and cheating. Game operators need to
properly control these aspects," McGraw said. "When building your
system to sell, you have to have confidence in it. Open Source doesn't
always do that."
Misguided Choices?
Shunning open source game rendering components is a big mistake large
game-making companies make because it causes them to spend millions of dollars in their own research and development for nothing, according to Emma McGrattan, senior vice president for engineering at Ingres.
"Lots of open source gaming engines exist. Shame on the big guns for
not using them," she told LinuxInsider. Ingres provides open source information management services to enterprise customers.
Avoiding open source is a typical mentality of large gaming company
executives. They subscribe to the notion that if they build it
themselves, it will be the best game in the industry, she said.
"Gaming engines are like Lego blocks. It's what you do with them, open
source or otherwise," McGrattan said. "It takes some companies (US)$3.7
million to develop their games. That's money down the toilet."
End Game the Same
Whether a game developer uses open or closed source for the rendering
job, what the game player sees on the computer screen is a closed
source product. The players likely will not know what's running it, noted McGrattan.
She sees a trend developing in which game developers are slowly
accepting the idea that game engines are commodities. It's too costly
to continue in-house development of a proprietary module. Sooner or
later, all companies will recognize the benefits of using open source
tools to get to market, she said.
"The secret sauce is not what's in the engine. It is what you do with
it," she stated.
Not Always So?
GameSpy Technology is the technology development division of IGN and
develops multiplayer gaming applications. GameSpy uses the open source
Speex Voice codec for the voice overlay in its game consoles, according to Northcutt.
GameSpy also uses the open source physics solution Bullet Physics to calculate collisions. Even
though the company develops the rest of the game platform, it frequently uses
open source communities for tech support.
Despite that success with open source game components, Northcutt sees
serious shortcomings in relying on other open source game components,
such as graphics engines, for game development.
"Open source mostly has been used to solve small problems that are
well known. The cutting edge in open source is not easily solving game
rendering problems," said Northcutt.
Choices Galore
LinuxInsider contacted some of the major online game companies
to find out what runs their games; however, attempts to generate a list of who uses open source modules met with polite refusals.
Open source game graphics options, however, are not so secretive. Here is a list of the some well-known and often-used open source gaming engines:
Delta3D: Delta3D is a fully-featured
game engine which can be used for games, simulations or other
graphical applications. Its modular design integrates other open
source projects such as Open Scene Graph, Open Dynamics Engine,
Character Animation Library, and OpenAL. It integrates them into an
easy-to-use application programming interface.
NeoEngine: NeoEngine is a fully
featured open source 3-D game engine released under the General Public License
with options of acquiring commercial and support licenses. The engine
is multiplatform, featuring OpenGL and DirectX rendering with support
for Windows, Linux and Mac OS X. It provides functionality for scene
management, vertex and pixel shaders, skeletal animation and physics,
scripting and a fully integrated tool chain.
Irrlicht Engine: The Irrlicht
Engine is an open source, high-performance real time 3-D engine written
and usable in C++ and also available for .Net languages. A
cross-platform design, it uses D3D, OpenGL and its own software
renderer. Its features are comparable to those found in commercial 3-D
engines.
OGRE (Object-Oriented Graphics Rendering Engine): OGRE is a scene-oriented, flexible 3-D
engine written in C++ designed for applications utilizing
hardware-accelerated 3-D graphics. The class library abstracts all the
details of using the underlying system libraries like Direct3D and
OpenGL and provides an interface based on world objects and other
intuitive classes.
Speex: Speex is an open source/free software, patent-free audio compression format designed for speech. The Speex
Project aims to lower the barrier of entry for voice applications by
providing a free alternative to expensive proprietary speech codecs.
Speex is well-adapted to Internet applications and provides useful
features that are not present in many other codecs. It is part of the
GNU Project and is available under the revised BSD license.
Bullet: The Bullet 3-D Game
Multiphysics Library provides state-of-the-art collision detection,
soft body and rigid body dynamics. It is used by many game companies
in AAA titles on Playstation 3, XBox 360, NintendoWii and PC. The
Library is free for commercial use and open source under the ZLib
License.
RealmForge GDK Visual3D.NET: RealmForge is the .Net 3-D game engine predecessor to Visual3D.NET,
which is now being developed instead. Visual3D.NET consists of the
Visual3D Framework, a game engine, run-time system, and application
framework for .Net 2.0 and the XNA Framework, as well as Visual3D
Architect, a Visual Studio 2005-like customizable workspace of visual
design and development tools.
Power Render: Power Render is a
software development kit for games and 3-D graphics. It provides an API
for developers along with several tools for artists for building
content and previewing models in realtime from Autodesk's (Nasdaq: ADSK) 3-D Studio
Max, Alias Wavefront's Maya, and Newtek's Lightwave. The new version
can also preview content using High dynamic range imaging and supports
the OpenEXR file format.
Crystal Space: Crystal
Space is an open source 3-D SDK for Unix, Windows and Mac OS X. It
renders with OpenGL or software and features curved surfaces,
volumetric fog, dynamic colored lighting, terrain engine, LOD,
procedural textures, portals and more.
Genesis3D: Genesis3D is a real-time
3-D rendering environment. The current version of the software
developer kit is 1.1, which is free to download.
jME (jMonkey Engine): JME is a
high-performance scene graph-based graphics API. jME was built to
fulfill the lack of full featured graphics engines written in Java.
Using a abstraction layer, it allows any rendering system to be
plugged in. Currently, LWJGL is supported with plans for JOGL support
in the near future. It is open source under the BSD license.
Devs Test Drive Firefox 3.1 Beta October 16, 2008
The first beta for Firefox 3.1 is ready to roll, and it includes features to interest both developers and users. On the developer side, the beta adds support of CSS 2.1 and 3 and the TraceMonkey JavaScript engine. Users can find new tab functionalities. Mozilla says the beta might not support all plug-ins -- it's just putting it out there to get some feedback.
Related Stories
Can the 'Funnest iPod Ever' Take on Nintendo and Sony? October 13, 2008
The iPod touch can be used to play over 1,000 games available on the iTunes App Store. Apple has even dubbed the touch the "funnest" iPod ever. What threat does it pose to dedicated portable gaming machines like the DS and the PSP? The iPod's lack of buttons may preclude it from large, immersive games, but casual games are a different story.
The New Online Gaming Ad Playbook September 30, 2008
By selling ad space in the virtual environments featured in their video games, developers can earn back some of the money it costs to create the games in the first place. When those games are connected to online networks, central servers can even change up which ads are shown at what hours. But a balance must be struck to avoid disrupting the gaming experience -- or intruding on players' privacy.
Related News Alerts
More by Jack M. Germain
Yahoo Lets FOSS Community Drive Its Traffic Server November 04, 2009
Yahoo Traffic Server is an app server for builders of cloud services. The software package enables session management, authentication, configuration management, load balancing and routing for an entire cloud computing stack. Yahoo has now open sourced a version of the application through Apache.
Is AES Encryption Crackable? November 03, 2009
A team of researchers has discovered what they think could be a flaw that leaves AES encryption open to attack. The technique has only been shown in a theoretical setting; in practice, such a hack would be very difficult to pull off. Still, such a finding could bring into question the faith that's been placed in AES -- and spur new innovation to make encryption even better.
Windows 7 Is a Snooze October 29, 2009
It's accurate to say that Windows 7 straightens out some of the problems with Vista. Aside from that, though, there aren't a whole lot of standout reasons to upgrade to the new OS, especially if you're currently on XP or you honestly don't mind Vista. The new features that are present aren't quite worth the trouble to learn how to use, and if you happen to have even slightly old equipment, forget about it.