SPITE: Egar's Rage

Egar’s Rage is a 3D Topdown RPG diablo clone, it’s also the first game made in our own engine, The Dog Engine. The game is written in C++.

My main task and focus of this project were to create the pipeline between our own C++ engine Dog Engine and Unreal Engine 4.

Level export/import

This pipeline was necessary due to our need for a level editor. Unreal was chosen over the likes of Unity due to our level designers' more extensive experience with Unreal Engine.

The system I built around Unreal's different actor components. Each component's relevant data is exported to JSON and rebuilt in Dog Engine.

During the process of making this pipeline, I have learned a lot about Unreal Engine and how it is structured. But most importantly, I have improved my ability to search documentation and resources.

Encountered issues

The two main issues during the development of this pipeline were the differentiating coordinates systems used between the engines and lighting.

Unreal uses a coordinate system where X would be X, Y would be Z and Z would be Y in a left-handed coordinate system. This caused problems and confusion while trying to develop the pipeline, especially when trying to get correlating rotations into Dog Engine. The solution to the coordinate problem was a lot of conversion methods for different circumstances. Another problem with the transforms was to get correct scaled rotations which we solved as seen in the picture.

The lighting was a huge problem due to the different lighting characteristics such as PBR shaders and cube maps Dog Engine and Unreal Engine had. Level designers would place a point light which looked good in Unreal to then see that I looked completely different in Dog Engine.