We were asked to make our own Game Engine for later use in Project III and add a high-level system to it. We decided to add a C#-like scripting system, because that's what most of the class already knew how to use.
-Model Import + Drag & Drop
-Texture Import
-GameObject hierarchy + Component Pattern
-Unity-like camera controls
-Editor tools (main menu and windows)
-Transformation and Game Object hierarchy
-Custom file format
-Game viewport & editor viewport
-Scene serialization
-Play / Stop
-Camera component, mouse pick & frustum culling
-Resource Managment
Our scripting system is built on the foundation of C#, providing a familiar and robust language for game developers. You can create, modify, and manage scripts effortlessly, thanks to the seamless integration of the ImGuiTextEditor. This user-friendly interface makes coding a breeze and facilitates a smooth development experience.
The scripts you create are compiled into dynamic link libraries (.dll), enabling
efficient execution and runtime flexibility. This compilation process ensures
that your scripts seamlessly integrate with the game engine, allowing for
real-time updates and changes without the need for a full application restart.
We completed this project in three months during our third year of
university. We worked together as pairs.