COSC 198, Section 1001
Programming Computer Games
Spring, 2000


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 Thursday, May 11, 10:30AM). I will be available for office hours during finals week on Monday, May 8 from 10AM-Noon and on Wednesday, May 10 from Noon-2PM.

Study Guides
Here are the topic lists for exam 1 and exam 2.

Course Syllabus

Homework Assignments

Optional Assignment
This optional assignment can be substituted for one of assignment #6 or assignment #7 if you would like.

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.


Java 3D API
This page on the Sun site has everything you'd ever want to know about Java 3D.

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

Raycasting
This seems to be a very nice tutorial on Ray-Casting. In fact, this is just a piece of a large site about Game Programming run by F. Permadi.

MIDI Tutorial
Although we can't currently play MIDI on the JavaStations, it is still an important tool for music in games. This site has a general tutorial about MIDI.

Putting MIDI on Webpages
This page (part of a large collection of tutorials) describes how to play MIDI music in the background of a webpage on most browsers.

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.

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.