COSC 198, Section 1001
COEN 168, Section 1001
Programming Computer Games
Spring, 1999


Course Description:
This course will explore the algorithms, data structures, and tricks used to program computer video games. We will be programming in Java and focussing on arcade-style video games (new and "classic") rather than text-based adventures or strategy games such as chess.

FINALS WEEK

Here is a list of topics for the final exam (which is on Friday, May 14, 3:30PM). I will be available for office hours during finals week on Monday, May 10 from 2-4PM and on Wednesday, May 12 from Noon-2PM.

Course Syllabus

Homework Assignments

Student Gallery
See selections of student work.

Class Demos
This is a link to a directory of class demos stored by date. They are not intended to be self-explanatory (although they might sometimes be), but rather are created as visual aids to the lectures. I'm making them available here so you can play with them and study the examples further after class. In other words, I can't imagine how you would take intelligent notes on some of this stuff, so here are my "animated notes".

Neat Sites
This page contains links to various interesting web sites related to Computer Game programming. In particular, there are some links about Maze Generation.

Exams
The first exam was a traditional, question and answer, written exam on the topics of the first few weeks of class ( study guide). This worked fine, but as we approached the second exam, it was less clear how to write a test covering the next bunch of topics. I came up with the following on-line exam. The answers were still written on paper, but the on-line presentation allowed me to present active questions and expect the students to read through source code (which was one of the important skills of this section of the course).


Graphics options
You can create GIF images by using GIMP or with Raytracing. An easier, but less powerful tool is my ImgEdit applet.

Basic Copyright
This page from the Library of Congress/U.S. Copyright Office gives an overview of copyright law. It is not specifically tailored to video game issues, but it might still be of interest.

Sun's Java Tutorial
Sun has an extensive on-line tutorial for Java. They address basic programming issues as well as more specialized features of Java 1.1 and 1.2. You can also read more about Event Handling using the 1.1 model.

Raytracing
Raytracing provides one method of producing high-quality images from your imagination.

Focus Demo
Some students have been a bit confused about the keyboard focus concept. This applet shows how you can get focus with a mouseclick and show the user that you have it.

Running Java Programs
A quick summary of how to compile and run Java applications and applets.

Java 1.1 API
The Java API (Application Programmer Interface) specifies all of the methods of all of the classes built-in to Java. The API User's Guide might be a good place to start if you find this too confusing. You also have a piece of the Java 1.0 API available in the back of your textbook (Appendix B).


This site created and maintained by Dr. Michael C. Slattery of Marquette University.
You can contact me at mikes (a) mscs.mu.edu.