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.
- Entities & properties→Graphicsrendering
- Entities & properties→Physics & forcesstate
- Entities & properties→Behavior logicbehavior
- Graphics→Particle simulationdisplay
- Physics & forces→Particle simulationmotion
- 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