We will be using the 23 linux boxes in WeH 5336 for the assignments.
has been installed on them. You are also welcome to install
it on your personal machines but you must turn in assignments that work
on the machines in the cluster.
Setting Things Up
Instructions on logging in
Note: if you make these dot files from a PC you MUST make sure that
each line has a carriage return and doesn't have the ^M character.
Disk Space on Linux boxes
Everyone in the class will have a directory in /usr0/15-493/
for temporary use on each of the machines in WeH5336. Those disks are NOT backed up and should not be
used for long term storage.
There will be a single "midterm" exam, about 2/3 of the way through the course.
The exam will be in-class and closed book.
More detailed descriptions of the assignments will be handed out when
the class begins the assignment.
Assignment 1: Artificial Intelligence
You will implement the AI (a "'bot") to control tanks in a multi-player
battle game. We will provide all of the code to render and run the game
itself, leaving an empty AI class which you must fill in with your own
logic. Your task is to decide at each timestep throughout the game the
action that your AI-controlled tank should perform given the current
state of the world.
Assignment 2: Motion Capture.
You will implement a motion graph and control the motion of a character
in the world with the mouse by sketching paths. We will give
you a viewer, the world, motion capture clips and you will have to
implement the motion graph.
Assignment 3: Networking.
You will implement a two-player networked space-combat game. The game will
consist of spaceships flying around inside a rectangular chamber. Each
ship will have a number of ranged weapons. There will be a number of
rectangular bulletproof obstacles floating inside the chamber. We will
provide a library to render and to compute the physics. We will also
provide a generic networking library. Your goal will be to implement
networking code that enables two players sitting at two clients to see
each other and shoot at each other. We will run the game over a very slow
network; you will need to write code that compensates for the latency.
Each student will write a proposal for a modest game. We will hold
a poster session where each student will pitch his proposal. Each
student will select a number of projects in which they would like to
participate. We will then assign students to projects, in small teams,
taking into account student preferences and our own judgment. The project
will last approximately 6 weeks.
Each team will put together a web page for their project that will serve
as an archival record of your progress. At a minimum, the web page
Demos of the final projects will occur during the final exam slot in May.
pictures of the members of the team
statement of project (both technical and conceptual)
model sheet for your characters or elements
the checkpoints that you defined in your project proposal