Portfolio

RTS-style AI

8-Week Timeline

Goal-Oriented Action Planner (GOAP)

For my 8-Week TGA school project, I built an RTS-style AI inspired by Age of Empires. The AI is driven by a GOAP system and a custom planner that picks the most effective actions based on the current world state.

Farmers follow these plans using A*-influenced movement, avoiding enemies while gathering resources. Soldiers respond to enemy presence or patrol less protected areas. Goblins wander randomly, targeting low-defense spots.

The world is grid-based with procedurally placed resources, and all units share a simple entity system. Visuals are handled with sprite batching and a clean UI.

READ MORE

Enemy AI & Steering

Steering Behaviors, Behavior Tree and Pooling

For this a TGA project, I implemented enemy AI using steering behaviors and a shared blackboard system. Each enemy type responds to its surroundings through Seek, Arrival, Separation, Spread and Object Avoidance.

Movement and behavior are reactive and data-driven. Enemies stay in formation, avoid obstacles, and use behavior trees for decicionmaking.

The system is highly tweakable via ImGui controls, allowing full live adjustment of enemy speed, mass, and force, plus preset ray layouts for precise steering response.

READ MORE

Navmesh Creation

Recast Integration, Grid Mapping, and Rendering

This system uses Recast Navigation to automatically generate walkable areas based on level geometry, receiving a Detailed & a less detailed Polymesh Navmesh. The result is a clean and optimized polygon mesh used for real-time pathfinding.

I convert Recast data into a custom grid format, enabling fast lookup of node centers and connections. This grid structure is also used by AI behaviors like edge steering to keep enemies aligned.

The entire navmesh is rendered visually, showing both geometry and node relationships. It's fully customizable to support create the best suited mesh for the AI use cases and map layouts.

READ MORE