Upload
mark-deloura
View
9.684
Download
2
Embed Size (px)
Citation preview
Choosing the Game Engine that is Right for You
Mark DeLouraVideogame Technology
ConsultantOctober 12, 2009
Introduction
Topics
• The Evolution of Game Engines
• Choosing a Game Engine
• Available Engines
The Evolution of Game Engines
• Graphics engines to game engines
• Software 3D to hardware 3D
• Consoles embrace game engines
• The Mod generation
• Shader evolution
• Costs and complexity
Graphics Enginesto Game Engines
• 1993: Doom (idTech 1)
Graphics Enginesto Game Engines
• 1995: Software-rendered engines
– Argonaut’s BRender
– Criterion’s Renderware
– RenderMorphics’ Reality Lab
Graphics Enginesto Game Engines
• 1996: Quake 1
Software 3D to Hardware 3D
• 1996: Quake 1
Software 3D to Hardware 3D
• 1997: Quake 2 (idTech 2)
Software 3D to Hardware 3D
• 1998: Half-Life (GoldSRC)
Software 3D to Hardware 3D
• 1998: Unreal (Unreal Engine 1)
Software 3D to Hardware 3D
• 1999: Quake 3 (idTech 3)
Consoles Embrace Engines
• 1999: PlayStation2
Consoles Embrace Engines
• 1999: NDL’s NetImmerse 3D
• 2000: Intrinsic Graphics’ Alchemy
Consoles Embrace Engines
• 2001: Grand Theft Auto III uses Criterion’s Renderware
Consoles Embrace Engines
• 2003: Unreal 2 PC (Unreal Engine 2)
• 2004: Unreal 2 Xbox; PS2 in dev
Consoles Embrace Engines
• 2003: Vicarious Visions purchases Intrinsic Graphics (Alchemy)
• 2004: EA purchases Criterion (Renderware)
• 2005: Emergent purchases NDL (NetImmerse, Gamebryo)
Engines Embrace Consoles
• 2007: Unreal Engine 3
– PC, Xbox360, PS3
• 2009: CryEngine 3
– PC, Xbox360, PS3
The Mod Generation
The Mod Generation
• 1993: Doom (idTech 1)
The Mod Generation
• 1997: Quake 2 (idTech 2)
The Mod Generation
• 1998: Unreal (Unreal Engine 1)
The Mod Generation
• 2001: Tribes 2 (Torque)
The Mod Generation
• 2002: Criterion ships RenderwareStudio
The Mod Generation
• 2004: Doom 3 (idTech 4)
• 2004: Half-Life 2 (Source)
• 2004: FarCry (CryEngine)
The Mod Generation
• 2007: Gears of War (Unreal Engine 3)
The Mod Generation
• 2007: Crysis (CryEngine 2)
Shader Evolution
• 1999-2000: “All games on a particular engine look the same.”
Shader Evolution
• 2000: GeForce3 released
Shader Evolution
• 2004: Doom 3 (idTech 4)
Shader Evolution
• 2004: Half-Life 2 (Source)
Shader Evolution
• 2004: Far Cry (CryEngine)
Shader Evolution
• 2007: Gears of War (Unreal Engine 3)
Current Engine Trends
• Game development costs are very high– Amortize development across
multiple games and multiple platforms
• Multi-processor complexity – Encourages use of game engines that
make multi-processor development simpler
Choosing a Game Engine
• The most important decision you will make about game technology
1. Create Your Game Design
• A draft Game Design Document
2. Create Your Tech Design
• A draft Technical Design Document
3. Create Your Production Plan
• A draft Production Plan
4. Now Look at Engines!
Developer Survey
• February 2009 survey of game developers on game engines
– Senior producers
– Senior engineers
• Results published on Gamasutra.com
Game Engine Decisions
• The most important considerations
– Cost: What can you afford?
– Relevance to platforms, genre, design
– Support
– Functionality: Time saved
– Tools and Content Pipeline
– Integration into Current Technology
– Flexibility
Cost: What can you afford?
• Tiers of game engines roughly match cost
– MMO Engines
– High-end Engines
– Mid-range Engines
– Casual / Web Engines
– Open source PC Engines
Cost: What can you afford?
• Deal structures are flexible
– Survey: Preferred deal structure?
82.1%
17.9%
Flat-rate
Royalty
Cost: What can you afford?
• Other costs to keep in mind
– Training
– Integration time
– Support and maintenance fees
– Add-ons
– Potentially unhappy employees
Cost: What can you afford?
• Potentially unhappy employees?
– Survey: If budget and time were no object, which of these would you prefer?
46.5%
37.2%
9.3%7.0%
Create ourselves
Use middleware
Purchase engine
Other
Relevance
• Platforms– MMO, PC standalone, consoles,
handhelds, mobile
• Genre– Look for similar games which use the
engine
• Design– What is most important? Graphics?
Interaction? Physics?
Support
• Documentation
• Support team structure
• Samples and tutorials
Support
• Survey: Most important engine practices
1. Source code is available
2. Known to easily integrate
3. Resource management is tweakable
4. Ongoing access to current builds
5. Clear development roadmap
Support
• Get a demo license!
Functionality
• Survey: Most important engine systems1. Multi-threading system
2. Rendering pipeline
3. Animation system
4. Collision detection / physics system
5. Streaming system
6. Networking design
• Varies based on game, team expertise, other middleware
Tools and Pipeline
• Survey: Most important engine tools
1. Profiling system
2. Live preview on target platform
62.5%
37.5%
Yes
No
Tools and Pipeline
• Most important engine tools
3. Standalone world builder
4. Particle system editor
Tools and Pipeline
• More important engine tools
5. Scripting system
• Run-time script debugger
• 51.3% of projects use Lua
Tools and Pipeline
• Build Process
– Average code change: 3.5 minutes
– Average full rebuild: 105 minutes
88.1%
11.9%
Using Automated Builds
Yes
No
Integration
• Existing custom technology
• Middleware technology
55.0%
45.0%
Using Engine
Yes
No89.7%
10.3%
Using Middleware
Yes
No
Integration
• Survey: Most popular middleware libraries
– Bink
– FMOD
– Havok
– Scaleform
– Kynapse
– Wwise
Flexibility
• What range of games are made on the engine?
• Talk to people who have used the engine.
• Work with the code: how brittle is it?
Other important factors
• Outsourcing
• Source code escrow
Most Importantly
• DEMO!
Currently Available Engines
• MMO Engines
• High-end Engines
• Mid-range Engines
• Casual / Web Engines
• Open source PC Engines
MMO Engines
• BigWorld Technology Suite
• Simutronics’ HeroEngine
• Sun’s Project Darkstar (server)
High-end Engines
• Epic’s Unreal Engine 3
• Crytek’s CryEngine 3
• Digital Extremes’ Evolution Engine
• id’s idTech 4/5/6
• Valve’s Source
Mid-range Engines
• Emergent’s Gamebryo
• Terminal Reality’s Infernal Engine
• Blitz Games’ BlitzTech
• Trinigy’s Vision Engine
• Vicious Cycle’s Vicious Engine
Casual / Web Engines
• Unity Technologies’ Unity
• Garage Games’ Torque
• Macromedia Flash
– For example, PushButton Engine
• Sun’s Java
– For example, jMonkey Engine
Open source PC Engines
• Irrlicht
• OGRE3D
• Panda3D
• Many more listed at:
– en.wikipedia.org/wiki/List_of_game_engines
– zh.wikipedia.org/wiki/游戏引擎列表
Another option: Use middleware
• Use middleware to supplement your own engine
Online Games
• BigWorld Technology
– Tian Xia 2, Kingdom Heroes 2 Online, Chuang Shi Online
Online Games
• Simutronics’ HeroEngine
– Star Wars: The Old Republic
Online Games
• Crytek’s CryEngine 3 (2)
– AION, Entropia
Online Games
• Unreal Engine 3
– Alliance of Valiant Arms (A.V.A.), APB, Huxley, The Agency
Online Games
• Gamebryo
– Warhammer Online, Wizard 101, Dark Age of Camelot
Casual Games
• Unity
Casual Games
• Torque
Conclusion
• There are many, MANY engines
• Plan what you are making BEFORE analyzing game engines
• Each engine has unique features –analyze games, talk to users, demo the pipeline, examine the code
Closing
• Mark DeLoura’s contact info:
– http://www.satori.org
• Gamasutra engine articles:
– http://www.gamasutra.com/blogs/MarkDeLoura/124/