Description
-
This is a demonstration of the
A* search algorithm
-
The veridian circles are obstacles which randomly drift about
-
The tanks will navigate around the obstacles to pursue targets
-
When a tank is damaged, it is stunned and briefly cannot move
-
The brass circles are ammunition dumps at which tanks reload
-
Ammunition dumps gradually refill after being depleted
-
Ammunition dumps explode when damaged by tanks or explosions
-
After an ammunition dump explodes, it briefly stops refilling
-
When there are no more enemy tanks, the tanks will target the obstacles
-
Once all of the obstacles are destroyed, the level increments
Objectives
-
Enable the "Display nodes" checkbox to see the points searched for a path
-
Enable the "Display paths" checkbox to see the selected path to the goal
-
Use the "Pause" checkbox to see the nodes and paths at a moment in time
Controls
-
The "Reset" button restarts the level
-
The "Display nodes" shows the pathfinding nodes for a tank
-
The "Display path" shows the path a tank is following
-
The "Display update rate" checkbox displays the sampled rate
-
The "Pause" checkbox pauses the game
History
-
I previously wrote this game in the Java programming language in
2003.
-
It was deployed as part
of the
CroftSoft Collection.
-
I featured it in my 2004 book
Advanced Java Game Programming
in a chapter describing how to use the A* algorithm for path-finding.
-
In 2023, I converted the Java code to the Rust programming language.
Since Java applets are no longer supported in Web browsers, I compiled the Rust
code to WebAssembly (Wasm) to get it to run in a webpage.
See my
Rust and WebAssembly
research page for links to tutorials that I wrote on how to do this.