3D Game Technology
2010 Spring
Instructors Yu-Chi Lai
Office Hour

9:00 - 11:00 Monday or By appointment

TA Chun-Wei Wang
Yu-Hsian Hsu
Lectures 1
Week Content Notes Assignment

01

Introduction

[Note] 

02

  • Design interactive software
  • Local lighting
  • Global illumination
  • Texture pipeline
  • An for windows
[Note] 

03

  • Environment map
  • Light map
[Note] 
  • Presentation of Stage 1

04

  • Light map
  • Bump map
  • Multipass rendering
  • Reflection
[Note] 
  • Start stage two

05

  • Reflection
  • Transmittance
  • Refraction
  • Caustics
  • Pre-lighting
  • Hardware Programming Language
  • Shadow
[Note] 
  • Stage two

06

  • Shadow
  • Demonstration of stage 2
[Note] 
  • Stage three

07

  • Shadow
  • Ambient Occlusion
[Note] 
  • Stage three

08

  • Ambient Occlusion
  • Spatial Structure
    • Octree
    • Kdtree
    • BSP tree
    • BVH
[Note] 
  • Stage three
  • Midterm

09

  • Cell Visibility
[Note] 
  • Stage three demo
  • Stage four

10

  • Level of detail
[Note] 
  • Stage three demo
  • Stage four

11

  • Midterm discussion
  • Stage three demo
  • Stage four

12

  • Level of detail
  • Mesh simplication
[Note] 
  • Stage four

13

  • Terrain
  • Terrain generation
[Note] 
  • Stage four

14

AI

  • Finite State Machine
  • Decision Tree
  • Rule
  • Fuzzy Logic
  • Neural Network
[Note] 
  • Stage four demo

15

  • Path Finding
[Note] 
  • Final demo

16

  • Collision detection
[Note] 
  • Final demo
PreRequisites

Technically, Computer Graphics and good C++ programming skills. 

Exam

There will be 2 exams, counting for 20% of your grade.

 
  • Exams are difficult to reschedule, and arrangements must be made ahead of time. Please contact me at the beginning of the semester if you foresee there being a problem.
Grading
    • Projects (15, 15, 50% each): 80%
    • Midterm: 10%
    • Final: 10%
Syllabus

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 NTUST CSIE 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.

 

Course Content

  • 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
    • Player and Camera Control
    • Network Architectures
    • Network Protocols for Gaming
    • Lag Compensation
       
    • Reducing Traffic
      • Dead-Reckoning
      • Area-of-Interest Management
    • Cheating and Fixes