76

Choosing your Game Engine (2009)

Embed Size (px)

Citation preview

Page 1: Choosing your Game Engine (2009)
Page 2: Choosing your Game Engine (2009)

Choosing the Game Engine that is Right for You

Mark DeLouraVideogame Technology

ConsultantOctober 12, 2009

Page 3: Choosing your Game Engine (2009)

Introduction

Page 4: Choosing your Game Engine (2009)

Topics

• The Evolution of Game Engines

• Choosing a Game Engine

• Available Engines

Page 5: Choosing your Game Engine (2009)

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

Page 6: Choosing your Game Engine (2009)

Graphics Enginesto Game Engines

• 1993: Doom (idTech 1)

Page 7: Choosing your Game Engine (2009)

Graphics Enginesto Game Engines

• 1995: Software-rendered engines

– Argonaut’s BRender

– Criterion’s Renderware

– RenderMorphics’ Reality Lab

Page 8: Choosing your Game Engine (2009)

Graphics Enginesto Game Engines

• 1996: Quake 1

Page 9: Choosing your Game Engine (2009)

Software 3D to Hardware 3D

• 1996: Quake 1

Page 10: Choosing your Game Engine (2009)

Software 3D to Hardware 3D

• 1997: Quake 2 (idTech 2)

Page 11: Choosing your Game Engine (2009)

Software 3D to Hardware 3D

• 1998: Half-Life (GoldSRC)

Page 12: Choosing your Game Engine (2009)

Software 3D to Hardware 3D

• 1998: Unreal (Unreal Engine 1)

Page 13: Choosing your Game Engine (2009)

Software 3D to Hardware 3D

• 1999: Quake 3 (idTech 3)

Page 14: Choosing your Game Engine (2009)

Consoles Embrace Engines

• 1999: PlayStation2

Page 15: Choosing your Game Engine (2009)

Consoles Embrace Engines

• 1999: NDL’s NetImmerse 3D

• 2000: Intrinsic Graphics’ Alchemy

Page 16: Choosing your Game Engine (2009)

Consoles Embrace Engines

• 2001: Grand Theft Auto III uses Criterion’s Renderware

Page 17: Choosing your Game Engine (2009)

Consoles Embrace Engines

• 2003: Unreal 2 PC (Unreal Engine 2)

• 2004: Unreal 2 Xbox; PS2 in dev

Page 18: Choosing your Game Engine (2009)

Consoles Embrace Engines

• 2003: Vicarious Visions purchases Intrinsic Graphics (Alchemy)

• 2004: EA purchases Criterion (Renderware)

• 2005: Emergent purchases NDL (NetImmerse, Gamebryo)

Page 19: Choosing your Game Engine (2009)

Engines Embrace Consoles

• 2007: Unreal Engine 3

– PC, Xbox360, PS3

• 2009: CryEngine 3

– PC, Xbox360, PS3

Page 20: Choosing your Game Engine (2009)

The Mod Generation

Page 21: Choosing your Game Engine (2009)

The Mod Generation

• 1993: Doom (idTech 1)

Page 22: Choosing your Game Engine (2009)

The Mod Generation

• 1997: Quake 2 (idTech 2)

Page 23: Choosing your Game Engine (2009)

The Mod Generation

• 1998: Unreal (Unreal Engine 1)

Page 24: Choosing your Game Engine (2009)

The Mod Generation

• 2001: Tribes 2 (Torque)

Page 25: Choosing your Game Engine (2009)

The Mod Generation

• 2002: Criterion ships RenderwareStudio

Page 26: Choosing your Game Engine (2009)

The Mod Generation

• 2004: Doom 3 (idTech 4)

• 2004: Half-Life 2 (Source)

• 2004: FarCry (CryEngine)

Page 27: Choosing your Game Engine (2009)

The Mod Generation

• 2007: Gears of War (Unreal Engine 3)

Page 28: Choosing your Game Engine (2009)

The Mod Generation

• 2007: Crysis (CryEngine 2)

Page 29: Choosing your Game Engine (2009)

Shader Evolution

• 1999-2000: “All games on a particular engine look the same.”

Page 30: Choosing your Game Engine (2009)

Shader Evolution

• 2000: GeForce3 released

Page 31: Choosing your Game Engine (2009)

Shader Evolution

• 2004: Doom 3 (idTech 4)

Page 32: Choosing your Game Engine (2009)

Shader Evolution

• 2004: Half-Life 2 (Source)

Page 33: Choosing your Game Engine (2009)

Shader Evolution

• 2004: Far Cry (CryEngine)

Page 34: Choosing your Game Engine (2009)

Shader Evolution

• 2007: Gears of War (Unreal Engine 3)

Page 35: Choosing your Game Engine (2009)

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

Page 36: Choosing your Game Engine (2009)

Choosing a Game Engine

• The most important decision you will make about game technology

Page 37: Choosing your Game Engine (2009)

1. Create Your Game Design

• A draft Game Design Document

Page 38: Choosing your Game Engine (2009)

2. Create Your Tech Design

• A draft Technical Design Document

Page 39: Choosing your Game Engine (2009)

3. Create Your Production Plan

• A draft Production Plan

Page 40: Choosing your Game Engine (2009)

4. Now Look at Engines!

Page 41: Choosing your Game Engine (2009)

Developer Survey

• February 2009 survey of game developers on game engines

– Senior producers

– Senior engineers

• Results published on Gamasutra.com

Page 42: Choosing your Game Engine (2009)

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

Page 43: Choosing your Game Engine (2009)

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

Page 44: Choosing your Game Engine (2009)

Cost: What can you afford?

• Deal structures are flexible

– Survey: Preferred deal structure?

82.1%

17.9%

Flat-rate

Royalty

Page 45: Choosing your Game Engine (2009)

Cost: What can you afford?

• Other costs to keep in mind

– Training

– Integration time

– Support and maintenance fees

– Add-ons

– Potentially unhappy employees

Page 46: Choosing your Game Engine (2009)

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

Page 47: Choosing your Game Engine (2009)

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?

Page 48: Choosing your Game Engine (2009)

Support

• Documentation

• Support team structure

• Samples and tutorials

Page 49: Choosing your Game Engine (2009)

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

Page 50: Choosing your Game Engine (2009)

Support

• Get a demo license!

Page 51: Choosing your Game Engine (2009)

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

Page 52: Choosing your Game Engine (2009)

Tools and Pipeline

• Survey: Most important engine tools

1. Profiling system

2. Live preview on target platform

62.5%

37.5%

Yes

No

Page 53: Choosing your Game Engine (2009)

Tools and Pipeline

• Most important engine tools

3. Standalone world builder

4. Particle system editor

Page 54: Choosing your Game Engine (2009)

Tools and Pipeline

• More important engine tools

5. Scripting system

• Run-time script debugger

• 51.3% of projects use Lua

Page 55: Choosing your Game Engine (2009)

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

Page 56: Choosing your Game Engine (2009)

Integration

• Existing custom technology

• Middleware technology

55.0%

45.0%

Using Engine

Yes

No89.7%

10.3%

Using Middleware

Yes

No

Page 57: Choosing your Game Engine (2009)

Integration

• Survey: Most popular middleware libraries

– Bink

– FMOD

– Havok

– Scaleform

– Kynapse

– Wwise

Page 58: Choosing your Game Engine (2009)

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?

Page 59: Choosing your Game Engine (2009)

Other important factors

• Outsourcing

• Source code escrow

Page 60: Choosing your Game Engine (2009)

Most Importantly

• DEMO!

Page 61: Choosing your Game Engine (2009)

Currently Available Engines

• MMO Engines

• High-end Engines

• Mid-range Engines

• Casual / Web Engines

• Open source PC Engines

Page 62: Choosing your Game Engine (2009)

MMO Engines

• BigWorld Technology Suite

• Simutronics’ HeroEngine

• Sun’s Project Darkstar (server)

Page 63: Choosing your Game Engine (2009)

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

Page 64: Choosing your Game Engine (2009)

Mid-range Engines

• Emergent’s Gamebryo

• Terminal Reality’s Infernal Engine

• Blitz Games’ BlitzTech

• Trinigy’s Vision Engine

• Vicious Cycle’s Vicious Engine

Page 65: Choosing your Game Engine (2009)

Casual / Web Engines

• Unity Technologies’ Unity

• Garage Games’ Torque

• Macromedia Flash

– For example, PushButton Engine

• Sun’s Java

– For example, jMonkey Engine

Page 67: Choosing your Game Engine (2009)

Another option: Use middleware

• Use middleware to supplement your own engine

Page 68: Choosing your Game Engine (2009)

Online Games

• BigWorld Technology

– Tian Xia 2, Kingdom Heroes 2 Online, Chuang Shi Online

Page 69: Choosing your Game Engine (2009)

Online Games

• Simutronics’ HeroEngine

– Star Wars: The Old Republic

Page 70: Choosing your Game Engine (2009)

Online Games

• Crytek’s CryEngine 3 (2)

– AION, Entropia

Page 71: Choosing your Game Engine (2009)

Online Games

• Unreal Engine 3

– Alliance of Valiant Arms (A.V.A.), APB, Huxley, The Agency

Page 72: Choosing your Game Engine (2009)

Online Games

• Gamebryo

– Warhammer Online, Wizard 101, Dark Age of Camelot

Page 73: Choosing your Game Engine (2009)

Casual Games

• Unity

Page 74: Choosing your Game Engine (2009)

Casual Games

• Torque

Page 75: Choosing your Game Engine (2009)

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

Page 76: Choosing your Game Engine (2009)

Closing

• Mark DeLoura’s contact info:

– http://www.satori.org

[email protected]

• Gamasutra engine articles:

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