Choosing to buy a middleware game engine for your next game is the most important technology decision you will likely make for your project. How can you evaluate engines properly? What should you do before looking at engines? This talk covers a framework for evaluating game engines, based on a developer survey conducted in early 2009. It also goes through a bit on the history of game engines. Alas, without notes or audio, there are a lot of things missing from this presentation. But hopefully you will find it helpful!
5. 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
35. 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
36. Choosing a Game Engine
• The most important decision you
will make about game technology
37. 1. Create Your Game Design
• A draft Game Design Document
38. 2. Create Your Tech Design
• A draft Technical Design Document
39. 3. Create Your Production Plan
• A draft Production Plan
41. Developer Survey
• February 2009 survey of game
developers on game engines
– Senior producers
– Senior engineers
• Results published on
Gamasutra.com
42. 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
43. 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
44. Cost: What can you afford?
• Deal structures are flexible
– Survey: Preferred deal structure?
17.9%
Flat-rate
82.1% Royalty
45. Cost: What can you afford?
• Other costs to keep in mind
– Training
– Integration time
– Support and maintenance fees
– Add-ons
– Potentially unhappy employees
46. Cost: What can you afford?
• Potentially unhappy employees?
– Survey: If budget and time were no
object, which of these would you
prefer?
7.0%
9.3%
46.5% Create ourselves
Use middleware
37.2%
Purchase engine
Other
47. 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?
49. 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
51. Functionality
• Survey: Most important engine
systems
1. 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
52. Tools and Pipeline
• Survey: Most important engine
tools
1. Profiling system
2. Live preview on target platform
37.5%
Yes
62.5%
No
53. Tools and Pipeline
• Most important engine tools
3. Standalone world builder
4. Particle system editor
54. Tools and Pipeline
• More important engine tools
5. Scripting system
• Run-time script debugger
• 51.3% of projects use Lua
55. Tools and Pipeline
• Build Process
– Average code change: 3.5 minutes
– Average full rebuild: 105 minutes
Using Automated Builds
11.9%
Yes
88.1% No
56. Integration
• Existing custom technology
• Middleware technology
Using Engine Using Middleware
10.3%
45.0%
Yes Yes
55.0% 89.7%
No No
57. Integration
• Survey: Most popular middleware
libraries
– Bink
– FMOD
– Havok
– Scaleform
– Kynapse
– Wwise
58. 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?
75. 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