CSE 191: Video Game Programming Seminar

Spring 2003

 

Instructor

            Steve Rotenberg (srotenbe@cs.ucsd.edu)

            Office: AP&M 3832, Fridays, 3:30-4:30

Lectures

            Friday, 5:00pm – 6:20pm

            Peterson Hall, room 102

April 4 – June 6, 2003 (10 lectures)

Required Reading

            “Real-Time Rendering”, Moller, Haines

Recommended Reading

            Game Programming:

            “3D Game Engine Design”, Eberly

            “Game Programming Gems”, DeLoura

 

            Computer Graphics:

            “Computer Graphics: Principles and Practice”, Foley, Van Dam

            “Fundamentals of Computer Graphics”, Shirley

 

            Physics:

            “Physics for Game Programmers”, Bourg

            “Dynamic Simulations of Multibody Systems”, Coutinho (*Advanced*)

Seminar Objective

This seminar will provide a broad introduction to some of the major software components of cutting edge 3D video games, including graphics, collision detection, physics simulation, character animation, 3D sound, special effects, and artificial intelligence. Each lecture will cover one of these major subjects and discuss some of the main issues involved. Some algorithms will be presented in detail, but some will be left to the reading material.

 

The intention is to familiarize the students with the key elements of game programming and give them a foundation upon which to pursue further knowledge on the subject. This seminar should also provide useful supplemental material for students concurrently taking CSE190 with Geoff Voelker, but the two courses are independent of each other.

 

Students taking this class should already be familiar with the fundamentals of 3D graphics programming and ideally, should have completed CSE167 or Math155A.

Grading

This class is for 2 units and grading will be on a pass/no-pass basis only. Students are required to attend at least 9 of the 10 lectures to pass. There will also be reading assignments and students will have to choose a special topic and either write a small report or computer program about it. There are no tests.

About the Instructor

Steve is a visiting lecturer to UCSD working with the graphics group within the computer science department. For the last 10 years, he has worked at Angel Studios, a 150 person video game development company located up in Carlsbad (25 minutes north of UCSD). Steve has served as Director of Software, Director of Research, Project Director, and has worked on several video game and computer animation projects, including Midtown Madness 1 & 2, Midnight Club 1 & 2, Smuggler’s Run 1 & 2, Transworld Surf, and others. He specializes in character animation, physics simulation, procedural modeling, and high quality rendering.

Schedule

Here is a rough outline of the course. This will be updated throughout the quarter with any changes.

 

Lecture 1: Introduction     (April 4, 2003)

-         Hardware platforms

-         Game development process

-         Software overview

-         (Slides)

 

Lecture 2: Scene Management     (April 11, 2003)

-         Culling: bounding volumes, portals, PVS

-         Level of detail

-         Draw order

-         (Slides)

 

Lecture 3: Collision Detection     (April 18, 2003)

-         Basic primitives: segments, spheres, triangles

-         Optimization structures: octrees, BSP

-         Pair reduction

-         (Slides)

 

Lecture 4: Physics Simulation     (April 25, 2003)

-         Particle systems

-         Rigid body motion & collisions

-         Overview of advanced dynamics

-         (Slides)

 

Lecture 5: Character Animation     (May 2, 2003)

-         Skeletons & skin

-         Animation

-         Locomotion & procedural animation

-         Character production

-         (Slides)

 

Lecture 6: Gameplay     (May 9, 2003)

-         Input devices

-         Play control

-         Camera

-         Game design & fun

-         (Slides)

 

Lecture 7: Artificial Intelligence (AI)     (May 16, 2003)

-         General AI goals

-         Navigation & path finding

-         Behavior & subsumption

-         Practical game AI

-         (Slides)

 

Lecture 8: Visual Effects     (May 23, 2003)

-         Lighting

-         Alpha blending

-         Vertex & pixel shaders

-         Particles and other effects

-         (Slides)

 

Lecture 9: Networking     (May 30, 2003)

-         Guest speaker: Mark Rotenberg, Technical Director on Midnight Club 2

-         (Slides)

 

Lecture 10: Audio, TBD     (June 6, 2003)

-         3D audio

-         Music