CS679 - Computer Games Technology
Tentative Syllabus
A note: This course was carefully titled to indicate its content. It covers
various computing technologies useful for computer game development. It does
NOT cover game development as a topic in itself, nor does it cover game design,
and it doesn't even cover all the computing technology that might go into
a game (one glaring oversight is audio).
Some of the course content may be covered by other UW CS courses, but the
emphasis in this course will be on real-time performance. This course will
also, no doubt, contain many basic computer science algorithms in an
application setting that tend not to be covered in other courses, such
as spatial data structures.
- Anatomy of a Game
- Introduction to Lag
- Drawing Things
-
- Mapping Techniques
- Multi-texturing
- Bump mapping
- Light maps
- Environment maps
- Interesting uses for Textures
- Multi-Pass Techniques
- Buffers in the Graphics Pipeline
- Shadows
- Reflections
- Interesting use for Buffers
- Programming Graphics Hardware
- Spatial Data Structures
- Octrees
- KD-Trees
- BSP Trees
- Spatial Hashing
- Level of Detail
- Impostors or Proxies
- Decimation Schemes
- Switching Representations
- Progressive Schemes
- Visibility
- Cell-Portal Methods
- PVS Computations
- Terrain
- Terrain Generation
- Terrain Rendering
- Making Things Move
-
- Event Driven AI
- State Machines
- Scripting AI
- Path Planning
- A* Planning
- Storing Paths
- Alternatives
- Path Following
- Collision Detection
- Motion Capture and Playback
- Player and Camera Control
- Playing with Others
-
- Network Architectures
- Network Protocols for Gaming
- Lag Compensation
- Reducing Traffic
- Dead-Reckoning
- Area-of-Interest Management
- Cheating and Fixes
Back to CS679 Home Page