Due February 4 CS 4455 - Video Game Design & Programming Spring 2002

Assignment 2: Hack Quake 1

Team assignment

For this assignment, you should hack the game Quake-I to:

  1. Hack one of the preexisting monsters or player models and modify its behaviour.
    eg. Make a zombie sing Oh Canada when it gets shot instead of falling over.
    The easiest way to do this is to use quakec, and modify the config files. (The hard way is to hack to source.)
    You must create four separate behaviors for the monster or player model you hack. Please make the behavior easy to provoke.
  1. Provide a textfile "readme.txt" describing what you did, some of the problems that you encountered, and how to compile and run though the program.
    Keep in mind that we will be running this on a machine in the states cluster.
    Be especially clear about the compiling and run-time instructions.
    If these are not clear, the TA will not be appreciative.

Hints:

Get the following files.
masm from:
Local: BINS_DDK.EXE
Remote (and slow) http://www.microsoft.com/ddk/download/98/BINS_DDK.EXE

q1source.zip from:
Local: q1source.zip
Remote (and slow) ftp://ftp.cdrom.com/pub/idgames/idstuff/source/q1source.zip
Or any other location.

qcc.tar.gz
Local: qcc.tar.gz
Remote (and slow) ftp://ftp.idsoftware.com/idstuff/source/qcc.tar.gz

quake106.zip
This is the quake demo. Use a Pak editor to modify Pak0.pak for customized models, etc. If you make any changes to the source code, replace Quake.exe with your modified executable. Follow the instructions for qcc to incorporate your QuakeC modifications.
Local: quake106.zip
Remote: ftp://ftp.idsoftware.com/idstuff/quake/quake106.zip

WinQuake
For those of you having problems getting quake to run under Windows NT or 2000 (getting General Protection Faults), download WinQuake, and copy the files into the directory containing the quake demo.
Remote (cnet.com): WinQuake

To compile under NT follow the instructions at this site.
I'll paraphrase it below for those who don't want to change the page..

Get the BINS_DDK.EXE file, and open it up using winzip or another favourite zip-util.
Get the file: "bin_win98_ml.exe" from the file "bins_ddk.cab" which results from running bins_ddk.exe
and rename it to: ml.exe

Add the directory you choose to keep this in to the "directories" setting under MVC++
(It's in  tools->options->directories. Modify the directory listing pertaining to executables.)
 

Now set the active configuration to gas2masm-debug.
It is imperative that you set it to the DEBUG and not release setting.
Build it.

Now you can build any of the other configurations (depending on what you want to do).

A file describing quakec is linked-to from the swiki. It would be a good idea to look at it before attempting to hack the quakec/

Editing Tips:

Quake Model Editing

PAK Files

QuakeC

Please post any helpful resources you find to the swiki (CoWeb)

Comments:

Note: It is not necessary to modify the quake source to change the game. Most of your work will be using QuakeC and modifying the contents of the Pak0.pak file. You only need to modify the quake source if you wish to make changes to the game engine itself.

See the swiki for additional help (tell your classmates to put their experiences up there. It will help everyone out).

Every team is expected to do their own work.

What to Turn In

Grading:
Grading for this assignment:

20% Subjective analysis. How pretty or neat does it look/sound? This hack should be interesting.
A singing/dancing zombie (including 4 variants thereon) would probably get the full credit on this part. Be creative!

30% Compiles and runs without intervention on the part of the TA.
(i.e. Please give the TA some good instructions!)

50% Follows requirements: Did you do what the assignment asked you to do?