CPSC340 - Game Development Fall 2009

Chapman University
Fall 2009
Tuesday 7-9:50 - LLB16
Part of the Minor in Game Development At Chapman University


Course Overview

Games Development will cover Game Engine Development. We will be using Visual Studio Professional, XNA 3.1 and our primary languages will be C# and Lua. This course will require students to write copious amounts of C# and Lua code over the semester. At the end of the course, students will have had a hand in building a new and innovative game engine..

The goal for this class is to build an open source game engine called Panther Game Engine using XNA, C# and Lua. This game engine will target an RPG or Virtual World type of game..


Students are required to have a detailed understanding of Java or C# programming, Data Structures and Discrete Math. Students at a minimum should have completed (and thoroughly enjoyed) CPSC236. 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# programming while not required as a prerequisite will be very useful.


W. Wood Harter. Adjunct Professor
e-mail: wood - @ - side8.com
skype: wood.wheels

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


Open Source projects require that all communication go through a mailing list. Side conversations about the project are strictly frowned upon and will cause immediate and negative responses. Everyone on the project needs to be informed of all decisions and questions even if they are mundane or small issues.

All questions about assignments and programming projects should also go through the Panther Game Engine mailing list. You are required to join the mailing list for this class. 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 LLB16. If you make arrangements ahead of time I will be sure to be there during those hours.

Required Text

These are the books required for the class.

XNA Game Studio 3.0 Unleashed

XNA 3.0 Game Programming Recipes: A Problem-Solution Approach

Optional and Highly Recommended

3D Game Engine Programming This book doesn't cover any of the XNA topics and doesn't really relate to the class, but it is a good book on what game engine programming is all about.


Optional Texts

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


If you want to work on homework outside the lab, you will be required to have a copy the Visual Studio Professional 2008. It is available to all Chapman Computer Science Students. Please contact the CS department.

You will also need XNA 3.1 which is freely downloaded from Microsoft.

Tortoise SVN will be needed to retrieve and manage project source code.

You should also consider purchasing 3dsMax. $150 for a 13 month student license or $350 for a perpetual student license.


Grading in the course will include attendance, weekly projects, Thursday/Monday status messages, one mid-term test, and one final . The percentage of your grade for each of these items is outlined in the table below. There will either be an assignment each week or you will commit to a specific project on the Panther Game Engine and have it completed by the following week. We will be using Agile Software Development Methodologies to work on a large group project.

    Percentage Of Grade
Attendance   5%


Weekly status messages and scrum meetings   10%
Mid Term   15%
Final   15%
Total   100%

Why Attendance? I have found that attendance counts for a lot in my classes even when I don't count it. I could probably make a graph of attendance and final grade and they would be pretty close. This is not because I weigh attendance heavily, it is because there is a lot of information in every class and missing one class will negatively effect your grade because you will not have that information.

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 game engines. Students are expected to finish the assignments on time. Late assignments will only be worth half credit as the deadline is part of the assignment. This will be an ongoing development effort and late assignments will have zero value to the final development effort. Late assignments must be turned in within 1 week of the due date or they receive 0 credit.

Each week you will either be given a programming assignment or commit to finishing a specific item on our open source project, Panther Game Engine. These assignments or commitments will count for the 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 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.


There will be a midterm on October 27th and a final exam on December 15th. The midterm and the final are each worth 15% of the grade (30% 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 lab computers, the tests will be very difficult.

The final will cover the entire semester but will mostly focus on the Panther Game Engine we will be building throughout the semester .

Tentative Schedule

Date Topic
Sep 1 Course Overview, XNA and Windows Forms programming
Sep 8  
Sep 15  
Sep 22  
Sep 29  
Oct 6 no class
Oct 13  
Oct 20  
Oct 27 Mid-Term
Nov 3  
Nov 10  
Nov 17  
Nov 24 no class - Thanksgiving
Dec 1  
Dec 8  
Dec 15 Final Exam - 7pm-9:30pm - LLB16


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