01 / Fix the graph
A 24×24 grid, four cardinal neighbors, unit movement costs. Heights below 0.32 or above 0.76 are blocked. Only the start and goal are forced walkable; a connecting path is not carved.
INTERACTIVE STUDY / 01
Same terrain. Same movement rules. Compare A* and breadth-first search, hands on.
A new implementation demo built for this portfolio. These are not measurements of my existing games or published research results.
S = Start / G = Goal / * = path / + = expanded / # = blocked / . = walkable
REPRODUCE / COMPARE / EXPORT
Compare 30 consecutive seeds starting from the current seed. Unreachable maps are retained.
Download this demo’s generation & search source (TypeScript) ↓
WHAT THIS EXPERIMENT DOES
A 24×24 grid, four cardinal neighbors, unit movement costs. Heights below 0.32 or above 0.76 are blocked. Only the start and goal are forced walkable; a connecting path is not carved.
Compare BFS with A* using Manhattan distance and a binary heap. Check that shortest-path lengths agree. Expanded-node counts include the goal and depend on tie-breaking.
Batch measurements run in a Worker after five warm-up maps, alternating algorithm order. Time covers search only, excluding generation and rendering. Results depend on your device and browser, and do not measure AI intelligence or game FPS.
This generator combines seeded value noise with fBM. It is separate from the Perlin-noise implementation in my C++ terrain project.
NEXT QUESTION / RESEARCH INTEREST
My next question is how generation parameters affect reachability, path length, and search effort. I want to extend evaluation to slopes, traversal costs, agent decisions, and player experience. These are research interests and future questions, not completed findings.
Research interests & direction ↗