CPSC370 - Games Development

This course is now complete. Over the coming months. I hope to organize the hundreds of sample programs onto the "code samples" page. Currenlty you will have to dig through the Assignments page to find the most useful samples.

The final project included a contest for the best game. Here are the winners.

GameDev370 Final Projects


Chapman University
Spring 2006
Tuesday 7-9:50 - LLB14


Course Overview

Games Development will cover programming techniques for writing a broad range of computer video games, including 2D arcade style, isometric, 3D and networked gaming. The course will require students to write copious amounts of Java code over the semester. At the end of the course, students should have the ability to write any type of video game they can imagine.

The goal for this class is not to learn a specific gaming engine (ie. simply building levels), but to gain the skills necessary to build a 2d or 3d gaming engine.


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.


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.

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 Beckman 408 or LLB14. If you make arrangements ahead of time I will be sure to be there during those hours.

Required Text

Killer Game Programming in Java by Andrew Davison

A Theory Of Fun by Raph Koster

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.

Developing Games In Java. My second choice of book for this class. A well written book but he uses his own API for drawing 3D graphics and I thought it would be better to use Java3D.

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



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 thse 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.

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 in Java. More information about the project requirements will be made available as the semester progresses.


There be a midterm on April 4 and a final exam on May 16. 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 3d and network aspects of game development.

Tentative Schedule

Jan 31 - Timers, Simple Games, 2D graphics
Feb 7 - Adding Game Elements
Feb 14 - Image Effects
Feb 21 - Audio integration
Feb 28 - Collision Detection, Side Scrollers, Isometric games
Mar 7 - Targeting
Mar 14 - Java3D - Overview, model creation, model loading
Mar 21 - Java3D Animation
Mar 28 - Java 3D Game Development
Apr 4 - Midterm
Apr 11 - Spring Break
Apr 18 - Networking
Apr 25 - Java3D Game Development
May 2 - Java3D Game Development
May 9 - Show and Vote Final Games Due
May 16 - Final Exam - 7pm-9:30pm - LLB14

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