

Arinn Engine
Arinn Engine is a game engine and editor that I was involved in creating during my second year on TGA. This was made to create three game projects during the year.
I have had the focus on the backend and the editor.

Tools
Introduction
Starting in our second year at TGA we are assigned to teams that we will work with to create three games during the year, the games need to be created in our own engines.
With me having an interest in how a game engine works from the ground up and interest
from the group in how an editor is made, we chose to create both the engine and the
editor from scratch.

Progress to have working sprites



My Experience
Having both the engine and editor to maintain we have had a lot of extra work to do, but it has been the best opportunity to learn.
Having a bunch of problems that we have needed to fix, getting other people's ideas and reading their solutions have taught me an incredible amount.
Everything from implementing new functionality, fixing broken code or improving old code. Having input from level designers and graphic designers, and getting the time to make errors and having time to fix them to understand what went wrong, all of these experiences have helped me write better code.
Implementation of shadows and a deferred render pipeline
Work & Focus
I began the year by laying the foundation for the engine, and then getting models, sprites and animation working. Using TGE, TGAs custom engine, as a reference, we chose to use this as we have access to the source code and all programmers hade a year's experience in it.
Having the ability to load and render objects my next task was to implement a deferred pipeline, shadows and postprocessing.
The later half of the year has been spent on improving rendering and implementing physics using “Jolt Physics Library” and a particle system.

Arinn Features
This being a large project that ran the whole time during my second year of TGA I won't have time to talk about everything so this is a list of features and libraries that we implemented and used.
Engine
-
Deferred and Forward rendering
-
Supporting both PBR & Custom Shaders
-
Post Processing
-
Sprite, Models and Animations
-
Decals
-
Spatial Sound
-
Jolt Physics
-
Particle system
-
ImGui
-
Node Scripting
Editor
-
Creating and customising levels
-
Saving and Loading using JSON
-
AssetBrowser with model preview
-
Placing and editing components
-
Changning lighting and postprocessing withing the scene
-
Viewing and customising colliders
-
Preview and Create Particle systems
-
Run game from editor
Libraries
-
Directx11, DirectXTK
-
FBXSDK, LibXML
-
STB
-
Jolt
-
FreeType
-
Dear ImGui, ImNodes, ImGuizmo
-
Wwise
-
Nlohmann