NFL Madden 2006 - Electronic Arts

CS 378 - Game Technology

Spring 2006


Half Life 2 - Valve

Tu/Th 2:00pm-3:30pm
RLM 7.120


Instructor: Okan Arikan

  • E-mail: okan 'at' cs.utexas.edu
  • Office: ACES 2.110
  • Office hours: Th 1:00pm-2:00pm

TA: Paul Arthur Navrátil

  • E-mail: pnav 'at' cs.utexas.edu
  • Office: ESB 229, Desk #1
  • Office hours: Fri 11:00am-noon

!!! Important !!!

This is a preliminary web site. It will evolve throughout the semester. Please make sure you check it frequently.

Course description: 

This class focuses on the technological aspects of game development. We will be covering various algorithms ranging from graphics to artificial intelligence/networking and sound. We will primarily explore the technical aspects of game development. As such, the course will involve many computer science topics, not just computer graphics. This class will have a significant final project where the students will prepare a computer game (more on this below).

Grading: (subject to change)

  • % 10 Homework 1
  • % 10 Homework 2
  • % 15 Midterm
  • % 20 Final
  • % 45 Project
    • %5 - Project proposal
    • %10 - First deliverable
    • %15 - Second deliverable
    • %15 - Final report/demo

Late Policy:

Unless you have a legitimate excuse, you will loose 5 pts for each day your homework of final project is late. For example, if you turn your homework one day late, you will loose %5 of your total grade for the class.

*** Code of conduct: ***

Every student must read and agree with the code of conduct outlined at http://www.cs.utexas.edu/users/ear/CodeOfConduct.html. You must report any piece of written material (text or software) that comes from someone other than yourself. Note that you are not allowed to use any software that overlaps with the objectives of homework and projects. Depending on the class size, some homework or projects may be done in teams. There will be a discussion of policies related to group projects and homework in the class and this web page will be updated accordingly.

Final project:

You will create a game of your own design and implementation. Students can work in groups for the final project. However, every student is expected to submit a report individually for each stage of the development. This project will involve significant coding and its purpose is to showcase what you learned in this class. The details of this project will be supplied in this project web site.

Prerequisites:

  • C/C++ programming skills
  • Computer algorithms & data structures
  • Computer graphics (CS354 or CS384G)
  • Talk to the professor if you're in doubt

Topics:

Some of the topics that we will cover in class include:

  • Interactive systems
  • Graphics
    • Texture / Environment / Shadow mapping
    • Shading models
      • Light maps
      • Bump maps
      • Multitexturing
    • Multi-pass rendering
    • Occlusion culling
    • Graphics hardware / vertex / pixel shaders
    • 2D Games / billboards
    • Meshes
    • Terrain generation
    • Level of detail
    • Octrees, Kd-trees, BSP trees
    • Visibility
  • Animation
    • Keyframing, motion capture
    • Character rigging
    • Inverse kinematics
    • Physics, simulation
    • Particle systems
    • Collision detection / response
  • Artificial intelligence
    • Finite state machines
    • Decision trees
    • Rule based systems
    • Fuzzy logic
    • Neural nets
    • Path planning
  • Networking
    • Dealing with lag / network failures
  • Sound
  • Issues
    • Design
    • Balance
    • Cheating
    • Testing
    • Business aspects
 

Final Projects

Astro Racing Circuit

Tron Revolution

Ghosts on a Plane

Apocalypse

Haze

 

Tentative course calendar: (to be populated in the near future)

Week Tuesday Thursday
1 Jan 17
  • Course overwiew
  • Introduction to game development

Lecture Notes (ppt)
Lecture Notes (ppt)

Jan 19
  • Computer graphics review
  • Linear algebra
  • Projections & Clipping & Fun stuff
Lecture Notes (ppt)
Lecture Notes (ppt)
Lecture Notes (ppt)
2 Jan 24
  • Computer graphics review
  • Shading & Fun stuff

Lecture Notes (ppt)

Jan 26
  • Texture / Environment / Shadow mapping

Lecture Notes (ppt)

3 Jan 31
  • Surface representations

DEADLINE: Project proposal is due

Homework 1 is out

Lecture Notes (ppt)

Feb 2
  • Interactive systems

Lecture Notes (ppt)

4 Feb 7
  • More mapping

Lecture Notes (ppt)

Feb 9
  • Reflections
  • Shadows

Lecture Notes (ppt)

5 Feb 14
  • Shadows
  • Shaders

Lecture Notes (ppt)

NOTE: Linear Algebra Question Set (pdf)

Feb 16

Lecture Notes (ppt)

Linear Algebra Question Set
Solutions 1 (pdf),2 (pdf),3 (pdf)

6 Feb 21

MIDTERM

Feb 23
  • Spatial subdivision

Lecture Notes (ppt)

7 Feb 28
  • Visibility
  • Terrain

Lecture Notes (ppt)

Mar 2
  • Terrain creation

Lecture Notes (ppt)

DEADLINE: Project second stage is due

8 Mar 7
  • Character animation
  • Inverse kinematics

Lecture Notes (ppt)

DEADLINE: Homework 1 is due

Mar 9
  • Physically based animation
  • Particle systems
  • Integration

Lecture Notes (ppt)

9 Mar 14

Spring Break

Mar 16

Spring Break

10 Mar 21

Guest Lecture: Don Fussell

 

Mar 23

Guest Lecture: Bill Mark

11 Mar 38
  • Spring mass systems
  • Collision detection
  • Rigid body simulation

Lecture Notes (ppt)

Mar 30
  • Rigid body simulation

Homework 2 is out

12 Apr 4

Guest Lecture: Bradley Jensen

Apr 6
  • Car dynamics
  • Physics alternatives
  • Motion Capture

Lecture Notes (ppt)

DEADLINE: Project third stage is due

13 Apr 11
  • Introduction to AI
  • Finite state machines

Lecture Notes (ppt)

Apr 13
  • Fuzzy nogic
  • Neural nets
  • Path planning

DEADLINE: Homework 2 is due

Lecture Notes (ppt)

14 Apr 18
  • Path smoothing
  • Hierarchical path planning
  • Decision trees
  • Rule based systems

Lecture Notes (ppt)

Apr 20
  • Networking

Lecture Notes (ppt)

15 Apr 25
  • Strategic AI

Lecture Notes (ppt) - Paul Arthur Navrátil

Apr 27
  • Cheating
  • Sound

Lecture Notes (ppt)

Submission instructions for the final stage of the project

16 May 2

Guest Lecture: Paul Trowe

May 4

FINAL PROJECT DEMOS

 
 

May 12 (Friday) 2pm - 5pm

FINAL


Software:

References:

Books:

Resources:



Okan Arikan
Last updated: 5/5/2006