Repository navigation
Home
C++ Game Engine
Pinky Engine is a Game Engine made by Andreu Nosàs Soler and Sara Qiao Martínez Mauri, as part of a college assignment from CITM (UPC) University, Terrassa, for the 3D engines subject during 3rd year of Game Design and Game Development degree.


Every entity is a _GameObject _ which can contain different type of components (Transform, Mesh, Material, UI, Camera).
When a model is imported to the scene, GameObjects are created recursively for each mesh with Transform, Mesh and Material in case they have embedded textures. An empy GameObject only has Transform but other components can be added afterwards.
Once a file is imported to the scene for the first time, save and load it from memory if needed again. Delete the resource once it's not used anymore. This way it's not used more memory than needed and the usage of the game is drastically reduced.
Save and load in an encrypted files to protect and optimize the process of importing and loading files such as textures and 3D models.
Scene's GameObject's structure is saved and loaded as .json using parson library. This method is used in the time management as well. On Play, it saves a temporary file of the current scene and when Stop it loads it back so the changes made during Play time are not saved like in Unity.
Scene rendering time was reduced with camera culling, camera frustum, and AABB boxes to discard all the meshes outside the camera view.

