Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.

10
Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde

Transcript of Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.

Page 1: Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.

Wilf LaLonde ©2012Comp 4501

COMP 4501COMP 4501

Advanced Computer Game Design and

Development

Wilf LaLonde

Page 2: Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.

Wilf LaLonde ©2012Comp 4501

Aim of the CourseAim of the Course

• Advanced Gaming Notions from a pragmatist.

• C++ for the overall framework (NOT XNA).• OpenGL + DirectX 9+10+11.

• Other people’s demos and engines…

Implementation Languages (Complements experience in other courses)

Implementation Languages (Complements experience in other courses)

What We Will Start WithWhat We Will Start With

Page 3: Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.

Wilf LaLonde ©2012Comp 4501

Experience we assume you haveExperience we assume you have

• 3D game building.• Vertex and index buffers.• Simple shaders.

DirectX or OpenGL

Page 4: Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.

Wilf LaLonde ©2012Comp 4501

Sample TopicsSample Topics

• Relief mapping• Ambient occlusion.• Shadows.• Adding a physics engine to a game engine.• Deferred rendering• Occlusion culling, instancing, water shaders,

geometry buffers

Link to detailed outline

Page 5: Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.

Wilf LaLonde ©2012Comp 4501

Student WorkStudent Work

• 4 mandatory assignments (to give you B+)

My topics. Letter graded by me.• 1 optional assignment (to give you A+)

Your topic.

Link to detailed description

Page 6: Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.

Wilf LaLonde ©2012Comp 4501

My BackgroundMy Background

• Smalltalk expert, wrote a number of books, wrote series of articles for JOOP (9 per year for over 5 years).

• Game engine expert. Trying to build a game on the Iphone (racing/exploration in an infinite world).

• Had experts working for me building the complicated shaders for the PC.

• A number of my former employees working for Silicon Knights (Jeff Giffen) and Rock Star Games (Nan Ma, Adriaan Blaauw)

Page 7: Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.

Wilf LaLonde ©2012Comp 4501

What’s In It For MeWhat’s In It For Me

• There are a number of advanced topics that I understand conceptually BUT THAT’S NOT ENOUGH.

• I want to understand the details, to be able to do it.

• I also want to know what works well versus what works at all.

A simple algorithm that gives you a 90% result versus a really complicated and messy algorithm that gives you 93% is probably not worth it...

Page 8: Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.

Wilf LaLonde ©2012Comp 4501

What I Had To Do To Prepare: Step 1 (Read Books)What I Had To Do To Prepare: Step 1 (Read Books)

• Game Programming Gems, II, III, IV, V, VI, VII, and VIII, Charles River Media, Inc.

• GPU Gems, II, and III, Addison Wesley.• GPU Pro, II, and III, A.K Peters.• Real-time Shadows, CRC Press• Mathematics for 3D Game Programming &

Computer Graphics (Third edition is the latest), Eric Lengyel, Charles River Media, Inc.

• A host of others not worth mentioning

Page 9: Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.

Wilf LaLonde ©2012Comp 4501

What I Had To Do To Prepare: Steps 2-3What I Had To Do To Prepare: Steps 2-3

• Read a whole bunch of papers that the books referred to because some of the explanations were not that clear...

• Downloaded a host of DirectX SDKs and Nvidia SDKs to see the state of the art.

• It’s one thing for the technique to be cool, it’s another to be practical.

There’s a difference between a demo that runs at 60 frames per second with nothing to draw but a room and a technique you want to put in an engine that draws a

100 times more stuff.

Page 10: Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.

Wilf LaLonde ©2012Comp 4501

A Few Of The Demos That Inspired MeA Few Of The Demos That Inspired Me

• You can get your own copy since there all publicly available...

• But bewarned... It’s easy to look at it and say cool, then to tweek it, and say cool. But try and put it into an existing game engine...

How can this work?What does this mean?

How do I do this in the framework of my engine.Is this a hack, or something I really need to understand?

Oh oh, there’s no way of doing this on the Playstatio, Xbox, Iphone...