X2GEngine – ICT311



Second Assignment


New Features

  • Animation

    • Using Cal3D
    • Bone Animation
  • AI

    • LUA State Machine
    • Waypoints
    • Fire Elemental that shoots fireballs at the player
  • Audio

    • Using FMOD

Added support for VBO streaming (for the animation)

Presentation Slides

First Assignment

Designing and implementing a game engine.

Intro and Menu

Old Trailer

Unedited Video

Gource Video

UML Diagram


The diagram was done before the project started. It wasn’t completely completed however it did serve as a solid foundation for our game engine. The diagram was done in Star UML.


Interfaced Renderer

  • VBO Support (Triangles, Triangle strips, quads, etc etc), using the IndexBufffer & VertexBuffer classes
  • 2D Rendering using a Rectangle
  • bitmap font rendering (Loaded from .fnt)
  • Texture2D, Texture3D & TextureCube
  • SpriteBatch (Not part of IRenderer.) Shaders (GLSL) — Interfaced Interfaced Window
  • Currently implemented using GLFW Physics
  • Facaded
  • Bullet Physics implemented.
  • Constraints
  • Character
  • Ray Picking
  • Heightmap
  • ConvexHulls
  • Triangle Meshes
  • Picking Up Objects LUA
  • A game can be completely created using LUA
  • World builder completely coded in LUA GameObjects Resource loader
  • Support for adding different loaders
  • Interfaced asset
  • Interfaced loader Interfaced input loader Awesomium 1.7 Alpha (HTML5 Support) – Last minute implementation

Physics: Bullet Texture Loading: Devil Majority of the models: YoFrankie – The assignment was focused on the game engine not the game. Although we did model a fair bit.

Menu: https://tympanus.net/codrops/2010/06/28/awesome-cufonized-fly-out-menu/ Menu Music: http://www.newgrounds.com/audio/listen/480533 (Author: Andersson187)

Team Members

  • Joe Skelton
  • Hatef Tadayon
  • Matthew Vlietstra