Recent Changes - Search:

CS679-2008 Web

Login

GameProject / EngineAssignment

Game Engine Assignment

Note: this really is part of the Game Project, however, it will be done individually, and graded as a seperate assignment.

Due: Monday, March 31st, before class (so you are prepared for class discussion)

The idea of this assignment is to get you to look at some game libraries/engines. There are multiple goals:

  1. I want you to have an idea of what is out there so you can make an informed choice as to what (if any) tools you want to use for your project.
  2. I want you to understand what kinds of tools exist, what they are good at, how they are designed, ...

Because of goal 1, I want to steer people mainly towards tools that are practical to use in the context of this class project (e.g. free, easy to install, ...).

Also, the idea is that since each person will look at a different engine, when groups are formed, there will be a diversity of knowledge in each group.

The assignment

Each person will be assigned 1 Game "Engine" (some of them are really toolkits, or libraries, or ... - the exact definitions of these things is evasive) that we want you to evaluate. You will also pick 1 or 2 others that you want to evaluate, which can be from the list below.

Here's "my" list, with some commentary

  • Irrlicht - students had really good luck with this last year and raved about how much they liked it
  • Ogre3D - students used this successfully in class last year (at least 3 groups), although it seems to have a steeper learning curve than Irrlicht.
  • Panda3D - industrial strength (developed by Disney, and shipped in real games), but mainly used as a platform for the CMU "building virtual worlds" class
  • LWJGL - the only java thing i know of
  • pygame - (for you python addicts) seems to make doing simple 2d stuff simple
  • Flash (which we do have licenses for in CS) - this is might be the game platform of the future, but its unclear how the learning curve is.
  • Blender (the game engine component) - is probably the 3D modeling tool of choice anyway for low-budget projects. The modeling/animation tools (at least) are already installed by CSL
  • CrystalSpace - seems to be connected to Blender.
  • XNA - people seem to like it, but its reliance on the express edition of visual studio might make it difficult to get the CSL to support.
  • Silverlight - I know nothing about it, but I am really curious
  • OpenODE, Tokamak, ... (open source physics engines) - these kinds of libraries can be really useful, and often integrate well with "game engines." They can be used for things beyond physics (like collision/hit detection).
  • Any that you know about that I don't (particularly if they are for other languages that you are interested in working in

Read about the engines, and write about them on a Wiki page in your page group. There will be two different "index" pages that you must link your writeups to:

  1. One page StudentPages.EnginesByPeople will be a list of each person, and the writeups they did. Add a line for yourself. If your reviews are on different pages, put multiple links on the line.
  2. Another page StudentPages.EnginesByEngine will have a section for each engine. The idea is that it will provide a quick reference so people can quickly find all the reviews of a particular Engine.

In your review please address the following:

  1. What does the "engine" do? What kinds of features does it include?
  2. What are its organizing principles? (does it provide an entity system, is it just a library of utilities, ...)
  3. What kinds of games would it (or wouldn't it) be appropriate for
  4. How well documented/supported does it seem to be? Does it look stable enough that you'd trust it as a basis for a project?
  5. How practical does it seem to learn it quickly and use it in the context of this class project? Does it require major installation effort? (i.e. how much effort will it take to get CSL to let us have it)

Think about it this way: in a few weeks, you will be making a decision whether or not to use one of these things in your project. Think about what you would like to know to make that kind of decision.

Assigned Engines

Remember, you need to look at this one, and then pick at least one more.

  • Brzycki - Ogre3D
  • Byrne - Irrlicht
  • Driscoll - Panda3D
  • Felder - lwjgl
  • Geil - Ogre3D
  • Hanson - Panda3D
  • Kruse - pygame
  • Leaf - Irrlicht
  • Lynde - pygame
  • Moore - Ogre3D
  • Park - Irrlicht
  • Steinich - Panda3D
  • Strommen - lwjgl
History - Print - Recent Changes - Search
Page last modified on March 19, 2008, at 03:23 PM