Fall
2009 CS 4v95 - 001
Game
Programming
Tuesday
and Thursday 4:00pm - 5:15pm, ECSS 2.306
|
|
| |
| Instructor
: |
(Tiger)
Xiaohu Guo
Office:
ECSS 3.703
Phone: 972-883-4723
Email: xguo at utdallas.edu
Office hours: M/W 3:00pm - 4:30pm
|
| |
|
| 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 |
Tuesday |
Thursday |
| 1 |
|
Aug
20: Introduction to Game Programming |
| 2 |
Aug
25: Console I/O, Random Numbers in C# |
Aug
25: 2D Sprites |
| 3 |
Sep
1: Controller, Keyboard, Mouse |
Sep
3: Object-Oriented Design |
| 4 |
Sep
8: Collision Detection |
Sep
10: Path Finding |
| 5 |
Sep
15: 3D Graphics |
Sep
17: 3D Graphics |
| 6 |
Sep
22: 3D Models |
Sep
24: HLSL Shaders |
| 7 |
Sep
29: Geometric Transformation -- Basics |
Oct
1: Viewing and Projection -- Basics |
| 8 |
Oct
6: Proposal Presentation |
Oct
8: Proposal Presentation |
| 9 |
Oct
13: Blender Tutorial |
Oct
15: Picking of 3D Models |
| 10 |
Oct
20: Camera |
Oct
22: Lighting -- Basics |
| 11 |
Oct
27: Introduction to BEPUPhysics Engine |
Oct
29: Lighting -- HLSL |
| 12 |
Nov
3: Technical Design Presentation |
Nov
5: 3D Skybox, Reflection, Transparency |
| 13 |
Nov
10: Partial Prototype Demo |
Nov
12: Particle Engine, Mesh-By-Mesh Animation |
| 14 |
Nov
17: BEPUPhysics Engine -- Revisited |
Nov
19: Character Animation |
| 15 |
|
|
| |
Dec
10th, 2pm: 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.
|
| |
| Other
Resources : |
| |
|
|