A game engine consists of 3 smaller engines:
The most fundamental part. It encapsules all the math complexity.
- Vector operations
- Addition & subtraction: Allows a character to move
- Dot Product: Determines how much a vector influences another
- Cross Product: Allows for the creation of a third vector
- Matrix operations
- Transformation: Allows a character to rotate
- Transpose
- Inverse
- Identity
You may want to include Quaternion and Dual-Quaternion operations in the math engine. Quaternions rotate game entities but uses less space and are faster than matrices. Dual-Quaternions offer the beauty of translation and rotation in a single math entity.
In charge of painting the pixels on the screen. There are 2 options:
- Rasterization:
- Raytracing: Most compuationally expensive
There are 3 methods:
- Euler Method
- Verlet Method
- Runge-Kutta Method