Brandon Stafferton

BlackJawz Engine

BlackJawz

What is BlackJawz?

BlackJawz is a 3D, Entity Component System (ECS) game engine made with every skill and techniques I've learnt. This includes:

What is my aim?

Entity Component System (ECS)

ECS is a flexible object system commonly used in game engines to manage how objects hold and use data. This makes adding new features easier, like physics or rendering, without having to write blocks of code per object. The advantage of an ECS is that it scales well, more modular and efficient when managing a large number of objects within a video game. It's composed of three main parts:

Building an ECS in BlackJawz allowed me to go for my current objectives of exploring different areas of a game engine. For example, I made different components such as Transform which holds and gives each entity a position, rotation and scale; Rigidbody to hold and give each entity forces, acceleration, velocity and friction; Animation to hold and read models skeleton infomation and play different animations.

ImGui Library was used for the GUI.

Components ECS

Rendering

Rendering in BlackJawz uses DirectX 12 API for Drawing, Assimp Library for model loading and ImGui for GUI.

Diffuse Mapping Normal Mapping Point Light

Skeletal Animations

Using Assimp to load in models, I read in the bone data and animation keyframes from the models' skeleton

Walking Example
WalkingExample
Running Example
RunningExample

Contact

You can reach me through my social profiles: