A downloadable game

This is a the largest product that I created during my undergraduate University degree. It is a custom 3D game engine created in C++ leveraging middleware. The engine includes a sandbox/level editor (where you can spawn models and observe physical interactions) and a game scene with a simple colour-matching platformer. The engine is data-driven using LUA and levels are fully customizable without having to rebuild or recompile the source code.

Being the largest C++ project I have created to date, this serves as a culmination of all skills developed throughout my degree. Throughout the creation of this engine, I have gained more in-depth experience with library implementation, C++ code and dynamically loading content with the Windows API.

This project includes Physics, Graphics, Audio, UI, Data Input and Networking subsystems. New levels and models can be added to the appropriate folders to be used within the engine and scores can be uploaded to Discord with the included bot code (the bot doesn't currently work as it has not been made to function with the latest discord API). All subsystems connect back to a main event queue and all game interactions are fully event driven. The supplied game demo consists of a dragon model appearing on top of platforms, the player is given a random colour and needs to trigger the corresponding button.

Important: Discord bot integration has not been included in the build (score posting will not work), Debug Assertion Failure often occurs on load (unknown origin as of now, only solution is to close and reload), game colour target is incorrect so only way to get to next level is to keep trying to hit random buttons. This project is heavily "work in progress".

Build files to try out the engine are available on this page, source files are available on github at the following link: https://github.com/GameDevChris/EpicGamerEngine

Download

Download
GameEngine.zip 46 MB

Install instructions

Unzip file and run .exe, all included folders and files must be in the same location as the executable. The executable is unreliable and oftens causes Debug Assertion Failures, if this happens then close and reload.