Back to profile

2009 — 2011

C++ engine & simulation

A custom engine with graphics, physics and particle behavior.

Creator and developer

The challenge

Explore how to build an interactive engine and model the physical behaviour of objects.

What I built

  • Designed a controller-based architecture.
  • Implemented a physics model and collective particle behaviour.

Results

  • A working interactive prototype with particle simulation.
Components & connections

World model

  • Entities & propertiesModel of objects and their properties.

Controllers

  • GraphicsAn independent graphics controller.
  • Physics & forcesPhysical model and forces acting on objects.
  • Behavior logicObject behavior controller.

Simulation

  • Particle simulationInteractive collective particle behavior prototype.
  1. Entities & properties→Graphicsrendering
  2. Entities & properties→Physics & forcesstate
  3. Entities & properties→Behavior logicbehavior
  4. Graphics→Particle simulationdisplay
  5. Physics & forces→Particle simulationmotion
  6. Behavior logic→Particle simulationinteraction

Engineering takeaway

Context

An independent game-engine and physics-simulation project.

Approach

Modelled the system through entities, properties, forces and independent controllers.

  • Separate graphics, physics and logic.

Lessons

  • An early source of the habit of separating state, rules and execution logic.

Stack

  • C++
  • Custom engine
  • Physics simulation

Skills

Products, systems and ideas brought to life in working software.