DigiPen / 2010–2011

Artificial Intelligence - Graduate

Advanced AI experiments in genetic algorithms, influence maps, pathfinding, and state-driven simulations.

04 entries
012010

C++ · DirectX

Genetic Algorithm with Multiple Crossovers on the Traveling Salesman Problem

A study of seven crossover strategies for the Traveling Salesman Problem, including a technique that runs multiple crossovers during a single execution and compares their performance.

More details

The Traveling Salesman Problem is a well-known NP-complete problem. Genetic algorithms can produce approximate solutions, but the crossover strategy has a major effect on how close those solutions get to the optimum within the available time.

Created for the Introduction to Artificial Intelligence class at DigiPen, this project implemented and compared seven crossover strategies as well as the multiple-crossover technique.

The accompanying images show optimal solutions for the first two test cases and a strong suboptimal solution for the third.

022011

C# · XNA

Movement in a Full and Dynamic Environment using Small Influence Maps

An influence-map technique that gives AI characters tactical awareness while remaining fast enough to run every frame in environments with many dynamic objects.

More details

Influence maps give AI characters a tactical perspective by combining weighted information about the current game environment.

This final project for DigiPen’s Artificial Intelligence in Games class used a deliberately small map, limited to a few cells, so it could be recalculated every frame even with many nearby objects.

The algorithm was implemented in Chameleon. Each bot weighed the surrounding objects and moved toward the most advantageous nearby value.

The approach turned a difficult problem - strategic movement in an environment full of dynamic objects - into a fast system that produced convincing battles against both bots and human players.

032010

C++ · DirectX

A* Pathfinding

A tile-based A* implementation with Euclidean and cardinal/intercardinal heuristics, adjustable weighting, step visualization, rubberbanding, and Catmull–Rom path smoothing.

More details

Developed for DigiPen’s Artificial Intelligence in Games class, taught by Steve Rabin, the project visualized each step by coloring open-list nodes blue and closed-list nodes yellow.

The user could choose Euclidean or cardinal/intercardinal heuristics and adjust the heuristic weight in the equation F = G + w × H.

  • Rubberbanding skips unnecessary intermediate nodes when no walls stand between them.
  • Path smoothing applies a Catmull–Rom spline to create a more natural route.
042010

C++ · DirectX

State Machines

A dynamic chase simulation with separate state machines for police, thieves, and citizens. Around 18 states combine pursuit, fleeing, wandering, capture, prison, and rescue behavior.

More details

Created for DigiPen’s Artificial Intelligence in Games class, the simulation used three separate state machines and at least ten agents to build a dynamic chase scenario.

  • Citizens wander and idle, flee when they spot a thief, and respawn after being caught.
  • Thieves wander, pursue citizens, flee from police, and can be captured and escorted to prison.
  • Police pursue thieves and escort captured thieves to prison.
  • Free thieves can reach the prison and release all inmates.
  • Flee, pursuit, and wander steering behaviors make the agents’ movement more fluid.
WatchSee the project in motion.
All other work