CPSC370 - Games
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
Tuesday 7-9:50 - LLB14
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.
Harter. Adjunct Professor
Chapman address for e-mail will only delay a response.
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.
Game Programming in Java by
Theory Of Fun by
Graphics - Principles and PracticeThe
definitive guide to computer graphics. Not required for class, but
required for real world work.
for Game Developers -
We will not use the book directly. It is just a good book.
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.
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
Letter grades will be assigned
based on the following table.
||93 and up
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
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.
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.
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
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%
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.
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