Interactive Media & Game Development
Worcester Polytechnic Institute

IMGD


IMGD 4000: Technical Game Development II
Term Project: Jaegermeister!
Presentations: Tuesday, May 6, 2014

PLEASE NOTE: Because of the joint nature of this project, the final presentaitons on May 6 will run from 1pm until 4pm.
If you have a conflict with this timing, please let us know, and we will schedule your team during the joint hour (2-3).

Objective: For the term project in this course, you will build a complete game using the Unity Game Engine.

The game is called "Jäger: The Hunt for Crazy Gert's Gold!".

IMGD 4000 focuses on the technical aspects of game development. Therefore, it is your duty to make sure the resulting game plays well with respect to the stated technical aspects; you will not be graded on the artistic aspects of your game, though completeness and overall quality will count for 10% of your final grade.

This project must be done in teams of two IMGD 4000 students. Both the scope and compressed timeline of this project require that the project be done in teams.

The desired outcomes of this project are as follows:

  • To go through the process of developing a game of significant size
  • To gain experience with a sizable game engine codebase
  • To gain experience in team-based development
  • To determine and follow a timeline of milestones that must be met to complete a project of this size on time
  • To implement significant advanced technical features of modern games
  • To have fun!

There will be several, rapid milestones to be met along the way to delivering your working product. These are listed below.


Overview: For this project, the class will be split up into teams of two. From a technical point of view, all teams will build the same basic game; unlike many of the other courses you've taken, this one prescribes a particular game design for you to follow. The reason for this is so that you can focus on building a game, as opposed to specifying a game. Luckily, other IMGD courses focus on the design aspects of game development.

The game you will build is called Jäger: The Hunt for Crazy Gert's Gold!, and could be classified as a non-violent, multi-player dungeon crawler. The main elements of the game are:

  • Two-player cooperative network play
  • Steering-based character movement
  • Scene complexity management
  • Hierarchical state-machine-based Boss control
  • Procedural content generation of the game world
Through a series of programming projects, you will build the technical underpinnings for the game, as well as the game itself.

The projects are as follows:

  1. Project 2: Basically aMazing!!
  2. Project 3: Ghoulies!!
  3. Project 4: Who's the Boss?
  4. Project 5: Two Heads Are Better Than One!
  5. Extra Credit!!

For this project, you must use source code control software, and we've set up a repository that you must use for doing your projects. Here is a set of instructions to help you set things up.

Since this is a technical course, you will be given (or create) very simple place-holder art assets to allow you to do your work. This means you will be able to create a complete game (albeit not a very good looking one) without being dependent on your art partners. However, the students in IMGD 4500 will be creating amazing looking assets for you to use in your game, replacing the place-holder assets. This allows the Art students to also work independently of you, because the common Jaeger game design will (theoretically) mean that their assets will be appropriate for your game.

To give your game a unique look and feel, your tech team will pair with an artist. Each artist will pitch a particular setting (environment, character, boss, etc.), and each team will choose one that they like. In addition, the behavior of your Boss character is up to you. The only requirement is that it exhibit at least three animations: walk, idle, and one more of your choosing. Also, the method your player uses to defeat the Boss is also up to you. You must define and implement this behavior for your particular game.


Timeline: The timeline for significant milestones of the project is as follows:
  1. Mar 25 (Tue): Project teams formed
  2. Mar 26 (Wed): Pitches made by Art students / Match making
  3. Mar 28 (Fri): Basic game environment is playable. FusionForge is set up.
  4. Mar 28 (Fri): Web page set up to show your progress
  5. Apr 04 (Fri): Milestone 1: ALPHA - Progress presented in class
  6. Apr 11 (Fri): Playable game with Ghoulie movement
  7. Apr 16 (Wed): Milestone 2: Progress presented in lab
  8. Apr 25 (Fri): Milestone 3: BETA - Playable game with Boss presented in class
  9. Apr 30 (Wed): Milestone 4: Progress presented in lab
  10. May 06 (Tue): Final Game Presentations, 1-4pm

Documentation: You must create adequate documentation, both internal and external, along with your assignment. The best way to produce internal documentation is by including inline comments. The preferred way to do this is to write the comments as you code. Get in the habit of writing comments as you type in your code. A good rule of thumb is that all code that does something non-trivial should have comments describing what you are doing. This is as much for others who might have to maintain your code, as for you (imagine you have to go back and maintain code you have not looked at for six months -- this WILL happen to you in the future!).

Create external documentation for your program and submit it along with the project. The documentation does not have to be unnecessarily long, but should explain briefly what each part of your program does, and how your filenames tie in.

NOTE: For this project, you must also include a document stating what each person on your team did towards completing the project. This can be as simple as a list of deliverables, placing names next to each one. Or it can be more precise. If you feel you would like to express your views individually, send an email to the instructors.


What to
Turn in:
Instructions for how/what to submit will be provided at a later date.

Useful Links: Here are some links to the final projects from previous offerings:

Here is a list of some ideas that might help you when working in groups:


Academic
Honesty:
Taking credit for work you did not do or getting unauthorized help on assigments or exams is cheating.
  • If you are in doubt, ask the instructor first!
  • Cheating is a serious offense, punishable by an automatic NR for the course.
  • Remember the policy on Academic Honesty: You may discuss the project with others, but you are to do your own work. The official WPI statement for Academic Honesty can be accessed HERE.