Pathfinding

The following is a solo project in which I implemented the A* pathfinding technique, having different options to customize it and I also implemented different terrain analysis methods that can be combined with A* depending on what could be needed on an enemy AI, like visibility. It was made during my time as a student at Digipen .

These projects were created on a simple C++ engine created by me using OpenGL as a base to render and using GLSL as the shader language.

The player can be controlled by clicking on a position and, using A*, it will find the way around the walls to get to the player.

The project includes the following options:

  • Various Heuristic Options: Euclidean, Octile, Chebyshev and Manhattan.

  • Various Terrain Analysis Options like visibility or distance to a wall.

  • Rubberbanding

  • Path Smoothing

  • Specifying weight for different nodes of the map.

Finally, all of this features could be used to create the following Hide and Seek demo, where the AI driven character would consider it’s visible nodes to look for the player and would go towards it if seen.

Then, it would consider the last node he saw the player in and search from that location.

Previous
Previous

QT Widgets

Next
Next

Space Partitioning