Spite: Eclipse is an ARPG inspired by games such as Diablo III. It was a 14 week part-time school group project.
During this project, our group built a game engine from scratch, using DirectX 11 as the graphics backend. The engine also used EnTT as the backend ECS framework.
I implemented deferred rendering in the engine, as well as instanced rendering.
I implemented the engine's animation system as well. I implemented the basics of loading and organizing joints and bones, as well as the actual hierarchical transformation calculations. I store the joint information in a contiguous vector, stored in such a way that the joint of each parent is always at a lower index than the joint itself. This allows us to evaluate the transform hierarchy linearly rather than recursively.
I also implemented a state machine similar to the one used by Unity, to allow for smooth blend transitions between animation states. The state machine supports custom properties (floats, booleans, triggers) that can be used to determine transition requirements. The work on this animation system was continued in the next project, Squirmin' Vermin, where bone groups and Unreal Engine-style Blend Spaces, among other things, were implemented.