This is a solar system simulation I created to demonstrate the capabilities of a custom game engine I worked on creating in a group of 3. The game engine uses OpenGL for rendering. My main focus on this project was creating a component system (similar to Unity’s). This was achieved by using a hash set to store a list of components a particular game object had and dynamic casting them from their base class (component) to their child classes. I used the class names as the key for the hash set to cast easily. I then prototyped all the components in the game object’s private default constructor, forcing the compiler to create templated functions of every existing component type. I also worked on fixing bugs in rendering game objects that were parented to other game objects and ensuring the matrices were applied in the correct order in our engine’s rendering function.
Credits
- Houshikan Yokeswaran – Programming
- Niccolo Jacinto – Programming
- Adam Hoang – Programming