Cs345-2008

From Earlham CS Department
Jump to: navigation, search

If you're looking for the software engineering project, try the Autonomy Project Page

Open Source Game Engine Reviews

Items to cover:

  1. What are the capabilities and features - physics, rendering, sound, 2D/3D, scriptable or libraries.
  2. Source langage(s), build language(s).
  3. Maturity - how long has it been around? Are there lots of outstanding bugs? Are bugs getting fixed?
  4. Are people using it? Do they cite examples? What does a Google search yield? CiteSeer?
  5. What tutorials or sample programs are provided?

JIG - The Java Instructional Gaming Project

  • Jig is a set of Java-based libraries designed to make it easy to incorporate game design and construction into undergraduate CS courses. One of the design goals was to make the abstractions such that it could be adopted at all levels of the undergraduate curriculum. This is an NSF funded project lead by two computer science professors and it appears most of the code was written by their students. It was first used in a class during the Fall of 2007 so the paint is still wet in a few places. They plan to publish a suite of curricular modules for professors to use when integrating JIG into existing courses.
  1. 2D, library, Sprite Repository, Wiki with examples. No on-line mechanism to browse the library and no on-line call-level documentation so it's hard to tell exactly what capabilities it has.
  2. Written in Java, callable from Java, built with NetBeans but it looks like Eclipse is supported too.
  3. Not very mature, first and only release Fall, 2007. I could find one paper that referenced it, the one by the project leaders describing it.
  4. The only people I can find using it are the authors.
  5. Two tutorials, SpaceFrenzy and SuperSpaceFrenzy.

MotorEngine

  • MotorEngine is in it's infancy. It has been publicly available for a week and has a status of pre-Alpha. It is the work of a single developer and is not in wide use. Sourceforge lists zero downloads so far and the largest application available that uses the engine is Hello World. According to the project's website: "MotorEngine is a 'work in progress' thing, so don't expect any outstanding features and be ready to deal with bugs (at this moment, at least). Also don't expect good documentation and cool tutorials. Don't expect anything... just use it :)"
  • As this is our first experience in integrating a game engine into a project, I am under the opinion that we should choose one that has a larger community, better documentation, and has been around long enough to become usably stable. This project doesn't offer us much.

Crystal Space

  • Crystal Space is an open source software development kit for game design and 3D graphics.
  1. Crystal space contains modules for 2D and 3D graphics, sound, collision detection and dynamics via ODE and bullet (other libraries). It also contains a partner set of plugins and applications known as CEL (Crystal Entity Layer) that provides plugins for game dynamics such as camera handling, physics, movement and quest systems, etc.
  2. Crystal Space is written in standard C++. It officially supports Linux, OSX, and Windows systems. CEL is written in C++ but can be interacted with through Python or Xml.
  3. Crystal Space was first released in 1997. The latest stable release (version 1.2) occurred in October of 2007. Version 1.3 is currently in development. Crystal Space’s website contains an in-depth bug forum that uses the Trac system to allow users to report bugs. There are numerous listed bugs, but they are being fixed regularly. Crystal Space also provides a plugin for bug hunting called Bugplug.
  4. Crystal Space appears to be one of the most frequently used open source game engines available. It appears on SourceForge, Google code, and numerous Linux-related sites.
  5. There are seven basic tutorials and a few advanced tutorials for CEL and advice for artists. There is also a demo game called Crystal Core available for download.

Rockstar Advanced Game Engine (RAGE)

  • RAGE is a commercial game engine created by by Rocksar San Diego and Rockstar North.

XSystem Engine

  • XSEngine is a fully open-source 3D graphical engine written in C++ designed to make creating a new 3D environment easy. The current development team consists of two people from Russia. As such, their forum is entirely in Russian, making the two threads hard to read. It has the look of a personal project that gets no official funding and is only reference by obscure free-lance developing sites. The code is easily available, but the project files are all for visual studio (read Windows only). Looking at the cpp files, however, brings up a couple notes such as a lack of comments and clearly in the middle of a state of development.
  1. 2D/3D Lighting and model import support. Sound and physics capabilities are also built-in.
  2. Written in C++ using Visual Studio++ 6.0. Build environment would therefore need to be Windows based.
  3. Still in early development, but is semi-complete and has a lot of promise. The last update was in October 2007, though their latest post states that they had been working all during the 5 months since their previous post.
  4. I can only find reference to it on sites whose sole purpose is to compile lists of open source engines.
  5. Very minimal documentation. Their tutorials cover basic scene creation and importation of 3D models (mostly based on 3Dsmax). Animation is not strictly built-in, though constructs for handling object collisions are in place, in theory making animation not too difficult.

Delta3D

  • Delta3D is a widely used and well-supported open source game and simulation engine. It is a fully-featured game engine appropriate for a wide variety of uses including training, education, visualization, and entertainment.
  • It is an Open Source engine which can be used for games, simulations, or other graphical applications. Its modular design integrates other well-known Open Source projects such as Open Scene Graph, Open Dynamics Engine, Character Animation Library, and OpenAL.

Features

  • Input device mapping (Keyboard, Mouse, Joystick, Trackers)
  • Motion models (Fly, UFO, Walk, Orbit, First Person)
  • Environment rendering (clouds, haze, skyboxes, time of day)
  • Particle System Effects (Smoke, Explosion, Custom)
  • Terrain Rendering (Infinite Procedural terrain, Heightfield-based terrain)
  • File loading
  • Camera controls (Field of View, Tripod)
  • Multiple camera support
  • Multiple window support
  • Physics (Rigid Body, Collision Detection, Auto-bounding shapes)
  • Open GL Lighting
  • Full OpenGL 2.0 support
  • 2D/3D sounds
  • Full control of sounds (gain, pitch, position, play, stop, pause, rewind, etc.)
  • Doppler effect
  • Efficient use of audio hardware
  • And more...

Languages

  • Python, C++
  • (Provides access to the API though a Python scripting interface)

Maturity

  • Active for over 4 years

Projects

Tutorials

Delta3D Tutorials]

Brainstorming Ideas