
Graphics Engine
At The Game Assembly, I spent some time creating my own engine base, capable of rendering 3D objects with lighting and a few extra effects. A similar base that another programmer built was what we later, as a group, built a real engine from that we decided to call Wondrous Machine and also used to create Spite: Blood Relic and Blob-Lobber.

Rendering
I started out by creating a window for the graphics and rendering a triangle in it. Next up was to create a camera and integrate Direct3D11 to be able to render 3D models. I also set up the system to enable the use of textures and normal maps.
Lighting
Using physically based rendering principles, I implemented spotlights, point lights and environment lights, to be able to create more interesting scenes. I also made it possible to move the camera around to be able to see that the lights worked properly.


Fullscreen Effects
During this project I also learnt about shaders, and how and when to use them. One of the things I did use them for was fullscreen effects, specifically to create bloom. This was the most fun part of creating this engine base since I really enjoy making things look nice in-game.
Outside of this, I have had some other experience in writing shaders, and it has been a lot of fun. Hopefully, this is something I get a chance to further explore at some point in my career.
Animation
I also worked with animations, and some tricks that can help connect the animations to the gameplay. In the GIF you can see a character interpolating from its walking cycle to an idle animation, a necessity to avoid abrupt animation changes.
​
The character also has another mesh attached to one of its head joints, which was an interesting exercise to figure out.
