This is a 2D Game Engine developed by a team of 11 programmers at Sheridan College, Oakville. The Engine is written in C++. The structure of this engine is based on Unity Game Engine. It uses SFML library to manage textures, font and audio.
#C++ #SFML #AssetManager #VisualStudio

Check out the project:

Team

Abhishek Tippireddy
GameObject Manager

Aditya Dinesh
File System Manager

Alessandro Profenna
GameObject Manager

Dakshvir Singh Rehill
Collision System Manager

Huzaifa Saboowala
Asset Manager

Jesse Berube
GameObject Manager

Justin Hole
Render System Manager

Keely Brown
Input Manager

Prashat Gajre
Asset Manager

Rishi Barnwal
Collision System Manager

Shreyas Babu
File System Manager

Overview

This project includes the following systems, each implemented by a sub-team of 2-3 programmers:

  • GameObject Manager
  • Asset Manager
  • Collision System Manager
  • Render System Manager
  • Input Manager
  • File Manager

My Contributions

I was a part of the Asset Manager team along with one other programmer. Given below were my contributions to the project:

  • Asset Base Class: This was a base abstract class for all assets which itself was derived from an “Object” class. All methods in this class could be overridden by its derived classes. This class also contains a list to store asset references for assets that should not be destroyed on scene loading (Don’tDestroyOnLoad).
  • AudioAsset: AudioAsset class derives from Asset class. It overrides all methods from its base class and contains a getter method to fetch the audio asset (Audio assets are of type SF-SoundBuffer).
  • FontAsset: FontAsset class derives from Asset class. It overrides all methods from base class and contains a getter method to fetch the font asset (Font assets are of type SF-Font)
  • PrefabAsset: PrefabAsset class derives from Asset class. It overrides all methods from base class. Prefab Asset data is stored as a JSON object and the class contains a getter method for the Prefab asset which returns this JSON object.
  • TextureAsset: TextureAsset class derives from Asset class. It overrides all methods from base class and contains a getter method to fetch the texture asset (Texture assets are of type SF-Texture).

(This is a sample output generated when a level file is loaded by the Game Engine. As visible above, all texture assets, font assets and prefab assets are loaded by the AssetManager system of the Game Engine)