«

2020 - Vortex Game Engine

I developed the Vortex Game Engine from scratch using C++ and OpenGL, which was a highly technical project that taught me a great deal about low-level graphics programming and ga me engine architecture. The engine uses an entity-component system (ECS) to manage game objects and their behaviors efficiently. I focused heavily on optimization, multi-threading, designing custom data structures such as hashmaps and linked lists to ensure fast data access.

One of the more challenging aspects of this project was creating my own event system, which allowed for decoupled communication between different parts of the engine. I also developed the user interface using C#, and to bridge the gap between the C++ engine core and the C# UI, I wrote a reflection system that automatically exports C++ functions to be accessible in the C# layer. This allowed for greater flexibility and ease of use when designing tools and interfaces for the engine.

To complement the engine, I developed a user interface using .NET and C#, allowing for a practical editor experience. The editor features a dockable window system, enabling panels to be easily attached to the left, right, or bottom of the main window. Within the "View" section, users can access essential tools such as the Entities panel (for managing game objects), Properties (for inspecting and modifying components), and a live Console for debugging and output logs—all within a single, cohesive interface.

The editor also allows developers to create and assign custom script behaviors directly to entities within the scene. Entities are organized using a hierarchical transform tree structure, making it easy to manage parent-child relationships. The scripting system is tightly integrated with the engine, and the exposed API is designed for ease of use, allowing developers to quickly implement and attach behavior logic with minimal friction.