Department of Information Technology

Second Games Course Project

As a general guide the idea of the second games course is much the same as the first course, that it to produce a working game except that the expectations are higher.

Students are to divide into groups of about 5 or 6. In contrast with the first course there is no prescribed programming language. Students can use C++, Java, Python, Ocaml, or what ever they want. But poor performance of an implementation of a language or its compiler is no excuse for a bad game. It is up to you to pick the best tool for the job.

We have no objection to students modifying an open source game or using open source code as part of the game. All code that is not written by the students must marked as such.

Each group must specialise on 2 or 3 topics from the following list:

  • AI
  • Physics
  • Network Play
  • Scripting
  • Psychology of game play, (game development, reward/effort balance)
  • Emotion

Project Plan

The lab for Games-2 is to create your project plan, which you will maintain and update during the project.

The plan should contain the following:

  • A description of the game. This should include a description of the main characters in the game, what the aim of the game is, how is it similar or different to other games.
  • A time plan for development
    • Make a rough plan, ~4 milestones.
      • Ask your selves what should be included in the game upon completion, at 50%, at 25% and 75%.
      • Write the "features" list, order it by priority and feasability, the important thing is that you at least try to consider your options and possible problems before the time comes to start implementing.
      • Continuously update this plan based on your progress.
      • When the 100% milestone is reached, your main features (the 2 or 3 topics, see list above) should be working and you should have a playable game.
  • The roles of each team member, each team member should have some estimate of their own time plan.
  • Proposed implementation language (or languages)
  • What tools or libraries you will us
  • If you are modifying an open source game then what extensions you plan.


  • There will be several scheduled milestone meetings, where we discuss you progress and planning. See the booking page for details.

A good series of books on game design and programing.

C/C++ Resources

[1] - Realtime Strategy Game (Open Source)
[2] - Basic space strategy game (Open Source)
[3] - Open source graphics engine
[4] - G3D, open sounce graphics
[5] - Wiki about Quake II, with links for source download etc.
[6] - Free embeddable scripting language.

Java Resources

[16] - Java Gaming API with OpenAL and OpenGL support.
[17] - Quake2 engine ported to Java (OpenGL)
[18] - Miscellaneous
[19] - java physics engine

[20] - Tool for making JNI wrappers for C-libs.

C# Resources

[21] - ExoEngine 3D Game Engine in .Net (openGL)

Tools: Instructions and Resources

CVS and TortoiseCVS

Make sure you read about CVS and Binary files! This is important!.

  • Accessing your repository
    • set CVSROOT to, you will be asked to enter password.
    • or set CVSROOT to (not recommended)
    • The module you want to checkout is named game


  • Ant from apache: ANT main page
  • ANT tutorials can be found here: Tutorial 1, more...
  • You can also find a lot more information on google.
  • A simple example with HelloWorld and a build file
  • A simple ant jar example, with java code that loads an image from within a jarfile and shows it in a window

Other tools

  • A simple yet powerful paint program called Paint.NET (freeware).
    • It will be available in the PC-LAB.
    • If you would like to download it you can find it here: Paint.NET
  • Inkscape, a free vector graphics editor.
  • Netbeans a free IDE for Java (and C++)
  • Eclipse a free IDE for java.

Updated  2007-11-26 15:44:08 by Jim Wilenius.