Physics

All objects in the game world have simulated physics. This includes basic mass, velocity, and acceleration. Additionally, objects can have drag act upon them, as well as friction for objects moving along the ground. Rotational acceleration can also be applied.

Collisions

The framework can process collisions between objects of differing shapes: Axis Aligned Bounding Boxes (AABBs) and Spheres. These can collide with themselves or each other. Once collided, a collision response is calculated determined by the angle and spped of the objects. The two objects will bounce off each other, with the heavier object not travelling as far.

Particle System

Particle systems are stored in the particle manager. Each particle system corresponds to a different particle effect, and manages the motion of the particles during the effect's runtime. The particles generated can either be full 3D models or billboarded sprites. The initial properties are all controlled by the type of particle system used. For example, flame particles are light fast-rising red particles. Additionally, dust particles are large brown particles that slowly rise, produced when the player jumps.

Showcase

A short demo can be watched here.

Development

Made using DirectX11, with models produced in Blender. Code written using Visual Studio 2019.

VS2019, DX11, C++.