AgeOfEmpire
Pathfinding Simulation, Benchmarking, and RTS Game Implementation
Algorithm Research | Game AI | Simulation Engineering
Overview
This suite comprises two interconnected projects: a research-grade benchmarking framework that evaluates 35+ pathfinding algorithms across controlled game-realistic environments, and an RTS game (Project Rescue Run) that deploys the top two algorithms in a live interactive game loop to validate results under real gameplay constraints.
Key Features
35+ Algorithm Benchmarking
Classical, metaheuristics, and field-based algorithms benchmarked across four scenario types.
Four Scenario Types
Static, fog-of-war, dynamic obstacles, and hybrid (dynamic + fog-of-war).
Standardized Testbed
100×100 grid, 40% blocked, 30% weighted, 30% free tiles.
RTS Game Validation
Interactive game validating Flow Field vs A* with dynamic terrain and multiple unit types.
Multi-Unit System
Scout (speed), Tank (armor), Phantom (wall traversal) with difficulty-scaled enemy AI.
Technology Stack
Algorithms & Methods
A*
f(n) = g(n) + h(n), admissible heuristic.
Flow Field
Global cost-to-go map via BFS/Dijkstra, vector directions per cell.
D* Lite
Incremental replanning: rhs(s) = min_{s' ∈ Succ(s)}(c(s,s') + g(s')).
ACO (Ant Colony)
Pheromone-based transition probability with evaporation.
Genetic Algorithm
Fitness = 1/path_length, evolves via selection + crossover + mutation.
Theta* (Any-Angle)
Line of Sight shortcuts for smoother paths.
System Architecture
Benchmarking Framework
35+ algorithm implementations, scenario generation, metric collection
Game Engine (main.py)
Game state, terrain, enemy AI, pathfinding toggle
Flow Field Compute
Global vector direction precomputation
A* Pathfinder
Per-unit A* with Euclidean heuristic
Results & Outcomes
- Flow Field ranked #1 overall in standard scenarios
- ACO ranked #2 with highest reliability
- 100% success rate for Flow Field, ACO, MMAS in dynamic obstacles
- Most classical algorithms 0% success in fog-of-war + dynamic scenarios
- Live RTS game validates research findings under real gameplay constraints