Fall 2012 CS 4332

Introduction to Programming Video Games

M/W 4:00pm - 5:15pm, ECSN 2.110

Instructor :

Xiaohu Guo
Office: ECSS 3.703
Phone: 972-883-4723
Email: xguo at utdallas.edu
Office hours: Tu/Th 3:00pm - 4:00pm


Pre-requisites :

Formal prerequisite for this course is CS 3345 (Data Structures & Algorithm Analysis). You should have strong C/C++/C# programming skills in order to successfully finish the game project. Having knowledge of OpenGL (or DirectX) programming will be a plus.

Course Description :
The computer games industry has grown extremely quickly over the past few years. This course will study basic concepts and techniques for developing computer games. It will cover the basic game programming techniques using XNA Game Studio 4.0, and various aspects of knowledge including computer graphics, animation, spatial data structures, network, artificial intelligence, etc. Coursework will include several programming assignments, writing game project proposals, and a final demo of the game project.
Textbooks :
  • Required: Learning XNA 4.0: Game Development for the PC, Xbox 360, and Windows Phone 7, by Aaron Reed, O'Reilly Media Inc., 2008. ISBN: 1449394620. Source Code Link.
Grading Policy :

There will be No Midterm Exams and No Final Exams! The final grade will be based on programming assignments, project proposals, demos, and presentations. This course emphasizes a "hands-on'' approach to both the better understanding of game programming techniques using XNA Game Studio 3.0. Each student is required to complete three assignments and a final project. The programming assignments and projects will be done in XNA. You are expected to be a competent programmer in C# in this course. All the assignments and projects are mandatory. The final grade will be composed of the following three parts:

  1. Programming Assignments: 45%
    - Assignment 1 (15%)
    - Assignment 2 (15%)
    - Assignment 3 (15%)
  2. Final Project: 50%
    - Project Proposal and Technical Design (10%)
    - Partial Prototype Demo and Progress Report (10%)
    - Final Demo, Presentation, and Submission (30%)
  3. Class Attendance : 5%
Class Attendance :

I expect the students to come to class, read and study the materials and textbook. Download and print available materials from WebCT prior to coming to class. The class schedule specifies the chapters to read for each topic covered. Primary material of this course will come from the required textbook. In addition, material from recent articles or relevant reference books will be presented. Numerous slides and video clips on graphics will be shown. Students are advised to attend the class and follow the lecture notes closely. It is the student's responsibility to check what we covered in class and the announcements during class if he or she did not attend.

Academic Honesty :

Copying source code from another student in this class or obtaining a solution from some other source will lead to an automatic failure for this course and to a disciplinary action. Allowing another student to copy one's work will be treated as an act of academic dishonesty, leading to the same penalty as copying. You should learn how to protect your data. Failure to do so is also unprofessional and it may expose you to the danger that someone will copy your homework and will submit it as his or her own (see above). In this case, you may be given a score of 0 for the assignment or project in question (and the other party will get a failure).

Final Project Screenshots from the Previous Game Programming Classes:
 Subject Zero:
Psycho Tower Defense:
Last Chance:
Marble Madness 3D: