The engine 
   in short 

For this LTGameJam a full-fledged engine was developed, having fancy buzzwords like "modular", "object-oriented", "DirectX9", "physics", "component/entity framework" etc. Actually it all boils down to 3 projects built on top of each other:

  • dingus project is a collection of subsystems for game/graphics applications.
    It has unified resource management (meshes, textures, effects, etc.), renderer using DX9 effects framework (HLSL, shaders, etc.), vertex/index buffer management, versatile particle system, visibility system, physics and collision systems and lots of other stuff.
    Physics/collision systems use ODE dynamics library (with small modifications) and OPCODE collision detection library. There's simple Lua support and some uses of Boost 1.30.0.
  • unco project is a small component/entity framework on top of dingus.
    It provides entity hierarchy, some common entity components (mesh, particles, keyframed mesh, visibility group etc.) and some utilities.
  • Finally, there's jam, which is common code specific for this LTGameJam (entities like things and vehicles, game level classes, collision handlers etc.). This is used (and possibly modified) by Jam's games. This is also used in a simple level editor jammer.

 Using the engine and games source 

Here's how:

  1. Download dingus, unco and jam projects.
  2. Put zip files into the same directory (let's call it DIR)and extract archives into same-named folders.
    By now you should have:
       DIR\dingus (with subfolders build, dingus and lib),
       DIR\unco (with subfolders build and unco) and
       DIR\jam03-dev-src (with subfolders data, jam, jam2game and jammer).
  3. Have Microsoft Visual C++ 6.0 (7.0 and 7.1 also seem to work)
  4. Have DirectX9.0 SDK and Boost 1.30.0 installed and set up.
  5. Use workspaces in jam03\jam2game or jam03\jammer.

For compiling specific games - download game source (you'll need datafiles, so download game binary also) and set it so that along with dingus and unco folders there's game folder (eg. thatcoolgame, with subfolders data, jam and jam2game).

We are in the process of writing publicly available documentation for the LTGameJam engine. Documentation will be available as a Doxygen generated API manual and UML diagrams. If you have any questions, feel free to write to Aras Pranckevicius 'NeARAZ' or anyone at nesnausk!

Site design by OneHalf