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