Choosing your Game Engine (2009)

Preview:

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

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

– mdeloura@satori.org

• Gamasutra engine articles:

– http://www.gamasutra.com/blogs/MarkDeLoura/124/