Verlet Integration · Jakobsen Constraint Relaxation
Built a rope/chain physics system using
Verlet integration for position-based dynamics.
Each segment's new position is computed from its current and previous
positions plus acceleration, removing the need to track velocities
explicitly and producing naturally smooth, stable motion.
Constraints between segments are enforced using the
Jakobsen method, which iteratively relaxes distance
constraints over multiple passes. This keeps segments at a fixed
length from each other, preventing stretching while allowing the rope
to drape and swing realistically.
The combination of Verlet integration and iterative constraint
solving creates a lightweight, physically plausible
rope simulation suitable for real-time use — ideal for grappling
hooks, chains, hanging cables, or any flexible linkage in gameplay.
Read More
Goal-Oriented Action Planning · 8-Week Solo Project
Built an RTS-style AI system 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 plans using
A*-influenced movement, avoiding enemies while
gathering resources. Soldiers respond to
enemy presence or patrol low-defense areas.
Goblins wander randomly, targeting vulnerable spots.
The world is grid-based with procedurally placed
resources. All units share an entity system,
with sprite batching handling visuals.
Read More
Steering Behaviors · Behavior Trees · Object Pooling
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 decision-making.
The system is fully tweakable via ImGui controls,
allowing live adjustment of speed, mass, and force, plus
preset ray layouts for precise steering response.
Read More
Recast Integration · Grid Mapping · Debug Rendering
Uses Recast Navigation to automatically
generate walkable areas from level geometry, producing both a
Detailed and a simplified
Polymesh navmesh. The result is a clean,
optimized polygon mesh for real-time pathfinding.
Converts Recast data into a custom grid format
for fast lookup of node centers and connections. This grid
is also used by AI behaviors like
edge steering to keep enemies on-path.
The navmesh is rendered visually for debugging,
showing geometry and node relationships. Fully customizable to
fit different AI use cases and map layouts.
Read More