Tear Engine 2

This was a Game Engine that I made in a 3 man group as part of the “Game Engine” course at the IT University of Copenhagen. The engine was made in C++ and the goal was for the students to get familiar with some of the core components of a game engine.

We assigned areas that we would each be responsible for designing and implementing. I designed the main engine structure, and how the different parts of the engine would communicate with each other. This is a list of the core features we implemented in our engine (I created the areas marked with bold):

  • Our own 3D Math library.
  • Render Manager using DirectX.
  • Sound Manager using FMOD.
  • Physics Manager using PhysX.
  • Basic JavaScript support using V8.
  • Memory Manager controlling and organizing memory.
  • Input Manager handing keyboard and mouse inputs.
  • GameObject that can be extended for customizability.
  • GameComponent which can be added to GameObjects.
  • Resource Manager handling asynchronous loading of resources.
  • Support for loading Textures supported by DirectX.
  • Support for loading HLSL Shaders through DirectX.
  • Support for loading MD2 and Collada files.
  • Support for both Vertex and Bone Animation.
  • Support for loading Sound files supported by FMOD.

Credits:
Danni Schou – Engine Programmer
Frederik Buus Sauer – Engine Programmer
Peter Lehim Pedersen – Engine Programmer