Spite: Blood Sun

14 weeks half time

My work on Spite:

  • Worked on the first implementation of our graphics engine

  • Integrating and creating a workflow using a 3rd party library ECS. ( Entt ) incl. creating components and component handling systems

  • Worked on AI for our ranged enemies, this includes behaviour as it moves around on a navmesh and attacks the player

  • Implementing PBR (Physically based rendering ) for our forward-renderer and adding support for Alpha on textures

  • A lot of bugs and refactoring tasks

Things I learned:

  • Creating our own Graphics engine is a daunting and fun task

  • Working with an ECS like Entt has been a really good experience, not just the system itself but on how five programmers use the ECS to create coherent code is very cool

  • I realised that graphics programming is quite challenging. The code can quite fast look a bit messy especially when we are trying to render a lot of things using different renderers.

  • My first time creating AI, we used a very interesting state-machine which used parameter packs create by on of our programmers. It was a very good workflow. This helped keep the code contained, the header file had all functions while the individual cpp files had all logic.

Projectile component

Part of our forward rendering pipeline

Ranged enemy Idle State