Hvis du er spiludvikler, har du måske altid ønsket at implementere A* som en karakter (eller fjende) pathfinding. Jeg ved, at jeg for et par år siden gjorde det, men med mit niveau af programmering på det tidspunkt havde jeg problemer med de aktuelle artikler derude. Jeg ønskede at skrive dette som en let introduktion med et klart kildekodeeksempel til A* pathfinding, så alle nemt kan samle det op og bruge det i deres spil.
Et vigtigt aspekt af A* er f = g + h. Variablerne f, g og h er i vores Node-klasse og bliver beregnet, hver gang vi opretter en ny node. Jeg vil hurtigt gennemgå, hvad disse variabler betyder.
F er den samlede omkostning for knuden.
G er afstanden mellem den aktuelle knude og startknuden.
H er den heuristiske – estimerede afstand fra den aktuelle knude til slutknuden.
Lad os tage et kig på en hurtig grafik for at illustrere dette.