AStar Pathfinding WPF Sample Application

I started the FREE game engine in 2008, as a silly side-project to learn the XNA framework. However, the longer I worked on the project, the more I wanted to accomplish.   For example, the A* pathfinding portion of the project become a HUGE piece of the R.T.S. game.  I used many sources of information, from online how-to articles and technical books, to piece together the best of A* pathfinding algorithm for the PC and XBOX-360.

Now 2012, I have decided to upload my sample WPF application, which shows how to use the A* Pathfinding dll in one of your own projects!  Be it a PC project, Xbox XNA project or a Windows Phone project, you can now use this assembly, as shown in my sample. 


See My YouTube Videos :)

  1. My YouTube Channel


This A* XNA Component is designed from the ground up, to take full advantage of the XBox's and PC threading capabilities. The A* component contains an A* Manager, with three A* path finding engines, allowing for 3 simultaneous path searches, while also maintaining excellent performance and low G.C.(Garbage Collection).

Performance is achieved and maintained, due to key concepts incorporated into the A* component, like the 'Cheap List'3 methology. Also the 'Closed List'4 is eliminated all together, since an array with Enum types are used to quickly update the status of A* nodes inside the core A* algorithm.

The A* XNA component also contains the A-Graph, which allows for directly tracking blocked/unblocked nodes; a vital part of the pathfinding formula. Furthermore, the A-Graph accepts point-value setting, to influence different parts of the map; for example, higher point-values represent rough terrain, and lower point-values represent passable terrain. The A-Graph is automatically used in the core A algorithm, influencing the overall pathfinding search results.

For License or General Questions: or

What you Get!

The download zip file contains the 'AStarComponent.dll' assembly, designed to be usable in any other XNA project for the PC and Xbox-360. You can also use the bindable component in other types of projects, like simple WPF (Windows Presentation Format) projects for school demonstrations or for learning the A* algorithm. The 'AStarComponent.dll' assembly is designed for extreme performance, and was tested 1000 of hours on the Xbox-360 and PC.

The download zip also contains a simple WPF 'AStarSampleApp', shown in the picture above, which shows you how to use the AStar component. With this sample application, you can study the C# code to see how to call and create A* solution paths in seconds. The code shows how to start bind the assembly, initialize the iternal A* graph, and make "Find-Path" solution paths in a matter of seconds! Feel free to use the code in any project you desire.

Main Features

A* Manager, cordinating requests internally with the A* engines. 3-Thread engine design, using all 3 processors on the Xbox-360. Designed to maintain a low GC (Garbage Collection). Optimized A* engine using concepts like the 'Cheap List' to reduce search times.


  • A* Graph, tracking Blocked/Unblocked path nodes
  • Designed to run on Windows and Xbox-360 platforms
  • Can be 'Late-Bind' to the TemporalWars 3D engine

Last edited May 10, 2016 at 9:52 PM by berben11, version 20