A* 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. 


AStarEngineSample_100x100.jpg

Other Projects Of Interest

  1. TemporalWars Indie Game Engine
  2. ImageCloudLock Backup Application
  3. AStar Pathfinding Sample
  4. TemporalWars Minimap Component
  5. WPF Security Adobe Tool
  6. Password Generator Library
  7. M.E.F. Attribute Logger using PostSharp Injection
  8. EverNote Dropper Tool

See My YouTube Videos :)

  1. My YouTube Channel


Description

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: melben02@yahoo.com or benscharbach@temporalwars.com

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 Jan 31, 2013 at 1:04 AM by berben11, version 15