top of page
spite background.gif
spite logo.png

Genre: Diablo-esque

Engine: Katastroganoff (3D engine,

Self made using DirectX11)

Project Time: 14 Weeks, 50%

Team Size: 11

​

My Contributions

3D Engine Framework
3D Engine Framework

The Game Assembly held a 3D Graphics course were everyone developed their own 3D engines. Our group voted that we used my engine since I made it easy to use with room for improvement. This is the foundation of which our "Katastroganoff Engine" was expanded on.

​

During our project i made it support the following:

- Model Instancing

- PBR (Physically Based Rendering)

- Forward Rendering

- Deferred Rendering

- Directional light /Point light/ Spot light

- Shadow Mapping with directional light

- Bloom

- VFX (Visual Effects)

​

Particle Editor
Particle Editor

I made a Particle Emitter Preset that could play multiple particle emitters with alpha blending. Each emitter being customizable;

​

- Lifetime

- Spawn Rate

- Random Direction

- Speed

- Start velocity

- Gravity

- Color start/ end

- Size start/ end

- Burst Mode

particle editor.gif
VFX Editor
VFX Editor

The VFX class I created in our games are models with their textures moving around "Panning" effect. You could editor which texture and model to be used, direction and speed the texture should move in, you could adjust the scale as well.

 

A "VFX Preset" class could be played, looped and then deactivated. For each of these segments, you could add any number of VFX to be shown simultaneously. All of these segments could be edited with different transition alpha, speed and timing.

​

vfx editor.gif
Multi-Phased Boss
Multi-Phased Boss

I was part of the design team for the boss and was the sole developer of its functionality. The idea was to create a telegraphed boss that used projectiles and acid pools to give enemy waves an edge to keep the player on their toes. The enemy spawning was scrapped due to time restrictions. The boss was implemented using a "Finite State Machine". It had three damage abilities and one move for repositioning.

​

Each new offensive ability was introduced after a third of the boss's health was depleted. Rigged so the new ability would always be used first after a transition animation. That way it was clearly indicated what new ability would be available to the boss's ability roster.

​

I spent some time refactoring the boss system iteratively to make it easier to work with. A rule of thumb that I held was that a function shouldn't have more than 30-60 lines of code. And that the boss's abilities needed to have entire systems to themselves to prevent clutter and to promote easier overview over sub-systems.

Scripted Camera Events
Scripted Camera Events

On an occurring event, it lerps the camera to a key position, triggers an event and then optionally, the camera is able to move through a set of arbitrary positions before returning to the player.

Camera Events.gif
bottom of page