CPSC240 - Game Development Spring 07

Chapman University
Spring 2007
Tuesday 7-9:50 - LLB13
Part of the Minor in Game Development At Chapman University

http://www.gamedev360.com - (note, this is different than last year)

Course Overview

Games Development will cover 3D game programming using the Torque Game Engine/Torque script and C/C++ code to modify the Torque Engine. This course will require students to write copious amounts of Torque Script, C and C++ code over the semester. At the end of the course, students should have the ability to write any type of 3D game they can image.

The goal for this class is to learn Torque and be able to build a similar engine using pure C/C++.


Students are required to have a detailed understanding of Java Programming, Data Structures and Discrete Math. Students at a minimum should have completed (and thoroughly enjoyed) CPSC231. Students should have a lot of free time as there will be a ton (more like two tons) of programming to complete on a weekly basis. C/C++ programming while not required as a prerequisite will be very useful.


W. Wood Harter. Adjunct Professor
e-mail: wood - @ - side8.com
aim: ironholtz
yahooim: ironholtz

Using my Chapman address for e-mail will only delay a response.


All questions about assignments and programming projects should go through the Mailing List. If you are not subscribed to the mailing list, or only choose to receive the Digest you may miss important information and announcements. If you have a really dumb programming question and don't want to post it to the public list, please send me an e-mail directly and tell me you don't want to be associated with the question. I will probably cleanse it of your name and respond to the list with the question and answer. If you have the question, others probably do too and this saves me time answering the same question twice. I personally am confounded by computers most of the time and have in my experience been stuck on very simple things for days at a time. You are not alone. Once I learned to ask the simple questions of those around me I found I was able to work more effectively. I will not hold dumb questions against you.

Office Hours:

I am a part time professor and do not have a permanent office. I will be available after every class for as long as necessary. I am also available by appointment. Please send me e-mail for an appointment. In the past courses I have made arrangements to meet in the computer labs on Saturdays to answer questions. This is available as an option by request and availability. I will try to be available from 5:30-6:30 in LLB14. If you make arrangements ahead of time I will be sure to be there during those hours.

Required Text

These are the actual books required for the Spring 2007 class.

The Game Programmers Guide to Torque

3D Game Programming All In One - Second Edition

Optional and Highly Recommended

Advanced 3D Game Programming All In One

A Theory Of Fun by Ralph Koster. This is a great book on what makes games fun.

Tricks of the 3D Game Programming Gurus. This is my favorite book on game engine development. Uses C, but this is a great book that covers all aspects of game engine development in detail.


Optional Texts

Computer Graphics - Principles and PracticeThe definitive guide to computer graphics. Not required for class, but required for real world work.

Physics for Game Developers - We will not use the book directly. It is just a good book.

Mastering Unreal Technology: The art of level design. This is the best book on Unreal available and was going to be required before we switched the class to Torque.

 Unreal Scripting Game Programming A decent book on unreal script and good companion to the above book.

Killer Game Programming in Java by Andrew Davison. This is last years book. It's a decent book and could be useful for reference.

Developing Games In Java. A well written book but he uses his own API for drawing 3D graphics and it is better to use Java3D.

A Good Book On Blender Animations. This is a more advanced book on Blender and a good resource.

Books on C or C++

A Book On C is a great reference book for C programming.

Programming Windows - Petzold - If you want to write a Windows GUI or just learn windows programming. This is absolutely the best book you can buy. It is all in C (I don't think any C++) so it is by far the best way to learn Windows programming. If you aren't good at C/C++ yet, this would also be a great book to get started with (text based hello world C and C++ examples are completely useless for real world learning). I've spent thousands and thousands of hours with this book on my lap. My second edition copy was falling apart last time I looked at it.

The C++ Programming Language - Stroustrup At first I was not going to recommend a C++ book because the only one I ever read was by the original creator (Stroustrup) and I was sure that was outdated. It looks like he's kept the book updated over the years. I do not have this book, but I did learn C++ with the first edition. It was the only choice back then, but this book now has good reviews and what better place than the source.


If you want to work on homework outside the lab, you will be required to have a copy the Torque Game Engine. The cost will be $75 for students and more information will be available here later.


Grading in the course will include Attendance, up to 10 projects and 5 quizzes, one mid-term test, one final test and one final project. The percentage of your grade for each of these items is outlined in the table below.

    Percentage Of Grade
Attendance   5%


Final Project   30%
Mid Term   10%
Final   10%
Total   100%

Letter grades will be assigned based on the following table.

A 93 and up
A- 90-92.99
B+ 87-89.99
B 83-86.99
B- 80-82.99
C+ 77-79.99
C 73-76.99
C- 70-72.99
D+ 67-69.99
D 63-66.99
D- 60-62.99
F Under 60

Academic Integrity

Violations of academic integrity include, but are not limited to, the following: cheating on an examination, assignment or quiz; plagiarism on any paper or report; falsifying data, research or report; presentation of forged documents; misrepresentation of information in oral, online or written form.
Students in this course are expected to comply with the University Policy on Academic Integrity. Any student suspected of violating this obligation for any reason during the semester will be required to participate in the procedural process

Homework Projects

The objective of this course is to learn the skill of programming computer games. Students are expected to read the book and finish the assignments on time. Late assignments will only be worth half credit as the deadline is part of the assignment. Late assignments must be turned in within 1 week of the due date or they receive 0 credit.

Homework projects may or may not be assigned on a weekly basis. As the class progresses, there will be less homework assigned as the projects become more difficult. There will be 5-10 programming projects assigned throughout the semester. This will count for a majority of the grade.

Note: The easiest way to fail this course is to get behind in the homework projects. The majority of the points in the class are the homework projects. The midterm and final are also based on the homework projects. If you do all of the homework projects you should do well in the class. Start early on the projects as they will be difficult and take a lot of time. Contact me early in the week if you are having problems to leave plenty of time to fix the problem and complete the project.

If you find yourself late on more than two weekly assignments, you should consider your grade in jeopardy.

Final Project

The final programming project is worth 30% of the grade. This project will span a number of weeks at the end of the semester and will overlap with some homework assignments. The final project will be a game based on the material presented in class. Each student will be required to design and develop a game using the Torque Game Engine. More information about the project requirements will be made available as the semester progresses.


There will be a midterm on March 27and a final exam on May 15. The midterm and the final are each worth 10% of the grade (20% total).

The midterm will be based on the course material presented in the first half of the class. There will be programming problems on the midterm. If you have not done the homework projects and become familiar with the tools available on the library computers, the tests will be very difficult.

The final will cover the entire semester but will mostly focus on the Torque Game Engine.

Tentative Schedule

Date Topic Dev Days Remaining
Jan 30 Course Overview and C/Win32 game 98
Feb 6 TGB overview and tutorials 91
Feb 13 TGB full circle games 84
Feb 20 TGE introduction 77
Feb 27 TGE Game Building and Modeling Introduction 70
Mar 6 Networking, Modeling and Animations, Interiors 63
Mar 13 Interiors continued, More complex uv mapping, Blender, programatic movement 56
Mar 20 Focus on final projects, installers, triggers 49
Mar 27 Mid Term, torque internals, physics, pathing 42
Apr 3 Spring Break 42... (date changed)
Apr 10 Torque Script, Datablocks, Agile Programming 35
Apr 17 Camera Pathing, Camera Control 28
Apr 24 no class 21
May 1   14 (marketing materials)
May 8 Final Exam - 7pm-9:30pm - LLB14 7
May 15 Show and Vote Final Games Due 0 - Presentation Day


CPSC240 - Games Development
Chapman University
Instructor: W. Wood Harter
(c) copyright 2006-2007 - W. Wood Harter - All Rights Reserved
Screen shots on banner (c) copyright their resprective owners