Interactive Media & Game Development
Worcester Polytechnic Institute


IMGD 4000: Technical Game Development II
Project 5: Two Heads Are Better Than One!
Due: Tuesday, May 6, 2014 at 11:59pm (Midnight)


In this project, you will complete work on your Jäger game, this time focusing on multi-player and polish.

There are two parts to this project: a "Preparation" part, and a "New Stuff" part.

Preparation: Build and run your code-base from Project 4 before making any of the changes required for Project 5. (pretty easy, eh?)

New Stuff: The two new features you will need to add to your Project 4 code are:
  1. Two-player network play

    In two-player mode, two players will be able to play in the same game world, with one of the players acting as the host and the other as the client. The players will be able to see eachother in game, and also be able to work together to explore the same labyrinth, appeaase Ghoulies, and defeat the Boss. More to come!

  2. Finish everything else!

    At the end of this project, you should have a complete game, with all the features implemented, final art assets in game, and a smooth user experience. Don't discount how much effort it will take you to finish the game! There is a saying that the last 20% of the project takes 80% of the time.

the Problem:
One person could work on the networking code, and the other work on polishing things up. Alternately, both students could start on the networking code, then one could start the polishing in consultation with the other.

Use the Unity forums for help, as well as talking to the TA. He has built a version of the full game, and can help point you in the right direction.

Documentation: You must create adequate documentation, both internal and external, along with your project. 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!).

I use these file and function (method) headers, in my code. Please adopt these for all your projects.

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 how you altered the source files, and which art assets you created.

Submission: All documents are to be submitted electronically via turnin by 11:59pm (Midnight) on the day the assignment is due.

  • Build a web player executable for your modified game:
    • Select Demo scene
    • File > Build Settings > Web Player > Build
    • Test the web executable by clicking on the .html file in the folder created by the build command. If the TA tries to run your demo and it does not run, you will fail this assignment.
  • Copy all of the scripts (not art assets, if any) that you created or modified to the folder created by the build command above. You can organize these into subfolders if you wish.
    Do NOT try to zip up the complete Unity demo, including all the art assets, because the file will be too big for turnin!
  • Prepare a plain text file, README.txt, in which you briefly describe the changes and extensions you have made to the demo code. Be specific about which classes and methods you have modified or added, and what you were trying to achieve. Add the README.txt file to the web folder.
  • Zip the web folder. Thus we can play the game to see what it does and look at your scripts to see what you've done.
  • When you are ready to submit, zip everything up into a single archive file.
    Name the file

    You will use the Web-based "Turnin" facility to submit your work. Information about submitting can be found here:

    Choose one of your team members to submit the document.

    Your WPI user ID should be used to login, and you should have been emailed a password.
    The Turnin assignment ID is proj5.

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.

Back to course page.