Assignment 2: Hack Quake 2
Team assignment
For this assignment, you should hack the game Quake
2 to:
- Hack at least 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. This will require editting the source code.
You must create four separate behaviors for the monster or player
model you hack. Please make the behavior easy to provoke.
- 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.
You will have a chance to demo your changes to the TA in the states cluster,
but please provide instrusctions for the TA in case you cannot make it to
the demo sessions.
Be Creative!!!
Necessary Files:
Quake 2 Demo: q2-314-demo-x86.exe
Source Code: q2source-3.21.zip
Opening and Editting the pak0.pak file:
pak0.pak contains the data files, such as models, skins, sounds, etc. for
Quake 2. To edit these files, you will need to download Pak Explorer. Extract
all the files from pak0.pak into the directory pak0.pak is in. You can then
move or rename pak0.pak so the game will not look there for data. You can
now edit the data files for the game. Note, it is not necessary to
put your edited files back into the pak file for the game to find them.
Modeling/skinning tools:
NST
is a good tool to start with.
http://www.quake2.com/modeling/
http://www.quake2.com/fear/ed_model.htm
Skinning can also be done with any paint program that can edit .PCX files.
Editting the source code:
In order to change monster behaviors, etc, you will need to edit and rebuild
the source code. To do this, open the main workspace file in Visual C++ 6.
Once you've made your changes, you will need to overwrite the relevant files
from the demo with your new versions. For most changes you make to game elements,
this means overwriting gamex86.dll. Any other changes will likely require
overwriting quake2.exe. Just make note of what the compiler rebuilds
after you make a change, and copy any library or executable that was altered.
Comments:
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
- The readme.txt for your team's mods. Include instructions
for running your stuff on states cluster. Be
sure to include the names of the members of your team.
- The TA and the instructor will follow these instructions
for grabbing your source and compiling it, or for grabbing your
executable and running it. You may participate in demoing
this to us at TBA in states. Please have everything set up and ready to
run beforehand.
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?
Please start on this assignment early. It is not very difficult, but it
may take some time to get up to speed on how to edit the code and data files.