CPSC340 - Collaborative Game Development Spring 2011

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


Course Overview

We will be using Visual Studio Professional 2010, XNA 4.0 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 built an innovative game using XNA and possibly the engine (Panther Game Engine) developed in previous courses.


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
gtalk: wood.harter - @ - gmail.com
skype: wood.wheels

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


The first part of class will be individual project and we will transition into using the Panther Engine. As we move towards the engine we will be using a mailing list associated with the Panther Engine project for class communication. 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

This book isrequired for the class.

XNA 3.0 Game Programming Recipes: A Problem-Solution Approach

Optional and Highly Recommended

Programming In Lua - Second Edition

Available Online: http://www.lua.org/pil/

Beginning Lua Programming

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.

XNA Game Studio 3.0 Unleashed


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 2010. It is available to all Chapman Computer Science Students. Please contact the CS department.

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

Git 1.7.6 or later will be needed to retrieve and manage project source code.

We will use 3dsmax and Photoshop for art resources.


Grading in the course will include attendance, weekly projects, 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 or course game and have it completed by the following week. We will be using Agile Software Development Methodologies for those that choose to work on the Panther Engine .

    Percentage Of Grade
Attendance   5%
Required Projects  


Final Project   25%
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.

We will have 100-200 points of homework due every week. This assignment will either be assigned by me or chosen by you (and agreed to by me) to make specific progress on your final project. The first few weeks will be assigned by me as we dig into C# and XNA. There willGrades will be updated regularly on blackboard.

We will learn about Agile Software Development Principals as we work towards a finished final project. The final project can be done in groups of up to two people. If you must have more than two you will have to sell me on the value of having more than two people.

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 games and 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 your own project or the 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 20th and a final exam on Dec 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.

Tentative Schedule

Date Topic
Sep 8  
Sep 15  
Sep 22  
Sep 29  
Oct 6  
Oct 13  
Oct 20 midterm
Oct 27  
Nov 3  
Nov 10  
Nov 17  
Nov 24 Thanksgiving (no class)
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