100 likes | 267 Views
COMP 4501. Advanced Computer Game Design and Development Wilf LaLonde. Aim of the Course. Advanced Gaming Notions from a pragmatist . Implementation Languages (Complements experience in other courses). C++ for the overall framework (NOT XNA). OpenGL + DirectX 9+10+11 .
E N D
COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde
Aim of the Course • Advanced Gaming Notions from a pragmatist. Implementation Languages (Complements experience in other courses) • C++ for the overall framework (NOT XNA). • OpenGL + DirectX 9+10+11. What We Will Start With • Other people’s demos and engines…
Experience we assume you have • 3D game building. • Vertex and index buffers. • Simple shaders. DirectX or OpenGL
Sample 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
Student 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
My 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, AdriaanBlaauw)
What’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...
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
What 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.
A 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...