COSC 174
Programming Computer Games
Spring, 2003


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.

Course Syllabus

Homework Assignments

FINAL EXAM
Here is a list of topics for the final exam (which is on Monday, May 5, 8:00AM).

Networking Study Questions
We won't have a networking assignment, but you *will* be expected to know about networked games such as Grab (discussed in class) on the final exam. When you do a homework assignment, it forces you to learn whether or not you understand the topic. So, here are a few study questions to help you decide whether or not you understand networking. The Grab code can be found on the April 25 demo page.

SECOND EXAM (On-line exam)
The second exam will be on the computer, in class, on Friday, March 28. Here's a list of topics, but you can work out your own - anything we've studied so far this semester is fair game. If you want a rough idea of what such an exam is like, here's the exam from a couple of years ago. We studied different topics that year, so some of these questions might not seem familiar.

FIRST EXAM
Here is a list of topics for the first exam (on Wednesday, Feb 19).

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

Student Gallery
See selections of student work.

Neat Sites
This page contains links to various interesting web sites related to Computer Game programming.


Java 3D Information

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.

Graphics options
My favorite program for creating simple GIF images on studsys is Icon Editor. You can create fancier GIF images by using GIMP or with Raytracing, but these are each more complicated to learn.

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

Java 1.2 API
The Java API (Application Programmer Interface) specifies all of the methods of all of the classes built-in to Java. The API Help might be a good place to start if you find this too confusing.


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