Fall
2011 CS 4V95 - 501
Game
Programming
Monday
and Wednesday 8:30pm - 9:45pm, ECSS 2.312
|
|
|
Instructor
: |
Xiaohu Guo
Office:
ECSS 3.703
Phone: 972-883-4723
Email: xguo at utdallas.edu
Office hours: M/W 4:00pm - 5: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 3.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 3.0: Game Development for the
PC, Xbox 360, and Zune, by Aaron Reed, O'Reilly Media
Inc., 2008. ISBN: 0596521952. 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:
- Programming
Assignments: 45%
- Assignment 1 (15%)
- Assignment 2 (15%)
- Assignment 3 (15%)
-
Final Project: 50%
- Project Proposal and Technical Design (10%)
- Partial Prototype Demo and Progress Report (10%)
- Final Demo, Presentation, and Submission (30%)
- 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).
|
Class
Schedule : |
Week |
Monday |
Wednesday |
1 |
|
Aug
24: Introduction to Game Programming |
2 |
Aug
29: Console I/O, Random Numbers in C# |
Aug
31: 2D Sprites |
3 |
Sep
5: Labor Day |
Sep
7: Procedural and Object-Oriented Design |
4 |
Sep 12: Collision Detection and Pathfinding |
Sep
14: Introduction to 3D in XNA |
5 |
Sep
19: Basics of 3D Graphics -- Transformation |
Sep
21: Basics of 3D Graphics -- Viewing |
6 |
Sep
26: Basics of 3D Graphics -- Projection |
Sep
28: Displaying and Picking 3D Models |
7 |
Oct
3: Project Proposal Presentation |
Oct
5: Controlling Camera |
8 |
Oct
10: Character Animation: Skeletons |
Oct
12: Character Animation: Skinning |
9 |
Oct
17: Introduction of Shader Programming |
Oct
19: Particle Systems: Basics |
10 |
Oct
24: TBD |
Oct
26: TBD |
11 |
Oct
31: Particle Systems: Advanced |
Nov 2: Rigid Body Dynamics |
12 |
Nov
7: Rigid Body Dynamics |
Nov
9: Partial Prototype Demo and Presentation |
13 |
Nov
14: Illumination and Shading I |
Nov
16: Illumination and Shading II |
14 |
Nov
21:Illumination and Shading III |
Nov
23: Illumination and Shading V |
15 |
Nov
28: TBD |
Nov
30: TBD |
16 |
Dec 5: Final Project Demo and Presentation |
|
- Important:
The dates in this schedule may change due to the class level.
If the class needs more time and examples to understand a
concept I will modify the schedule. If the class is ready
to skip a chapter or go faster I will modify the schedule.
Therefore, it is the student's responsibility to check what
we covered in class and the changes in the schedule announced
during class.
|
|
Final
Project Screenshots from the Previous Fall'09 Class: |
Subject
Zero: |
|
|
Psycho
Tower Defense: |
|
|
Tinks:
|
|
|
Last
Chance:
|
|
|
Ascension: |
|
|
Marble
Madness 3D: |
|
|
|