
Libra
Development Period: October 2024 - December 2024
Libra is a 2D grid-based AI playground featuring modular level generation, enemy units, and interactive environmental hazards. This serves as the core testing environment for multiple AI systems and map logic implementations.
Demo
Main Technical Points
In Libra, I built several core features of the Igloo Engine, including Event System, DevConsole integration, Text Drawing, SpriteSheet handling, and SpriteAnimation support, all of which were used to render and drive the entire project.
Event System & Dev Console
Implemented a global EventSystem as part of the engine core, following a publish-subscribe pattern using string-named events. It supports standalone and static member function callbacks with a unified signature, using NamedStrings as event arguments. The system allows any part of the game or engine to subscribe to or fire events by name, enabling flexible decoupled communication. A global pointer (g_theEventSystem) provides engine-wide access, while event consumption logic ensures controlled callback propagation.
​Heatmap
Implemented a heatmap system to visualize AI traversal difficulty and threat zones across the level. Each cell stores dynamic weights influenced by player position, enemy range, and terrain, enabling real-time feedback and strategic planning.
Pathfinding AI
Built an A*-based pathfinding system leveraging the heatmap as a dynamic cost field. AI units evaluate 8-directional paths and adaptively avoid high-risk or blocked areas, supporting real-time re-evaluation as the environment changes.
XML & Named String
Designed a data-driven configuration system using XML. Level parameters—including tile types, map layout, and enemy spawn rules—are defined via readable XML files and accessed using named strings, ensuring modularity and scalability.
Multiple kinds of enemies & Other gameplay logics
I made several gameplay juicy parts:
-
Destructible tiles
-
Explosions & Flamethrower weapon​
-
Rubbles & Obstacles & Debris
-
New NPCs
-
Sagittarius – Can drive and aim independently; has a mobile turret exactly like the player’s. Its bolt can guide the player and fly through the water.
-
Gemini - Twins are two separate entities which spawn, and work, in pairs. When Castor is dead(the younger brother), Polux will descend down and combine together with him to attack, with all properties enhanced.​
-
​Capricorn - Can swim through water, when pathfinding it can go through water to attack
-


