Jeden z nejproslulejších enginů webových her je systém Tower Defense. Pod tímto pojmem si představíme mapu, kam rozmisťujete určité překážky či věže, které mají zastavit přicházející potvůrky. Cílem bývá většinou ubránit cílovou budovu a zastavit co největší počet příšer.
Problém nastává v tom, jak naprogramovat věže tak, aby střílely do potvory, která je v jejich dosahu (range) a která je zároveň nejblíž budově, kterou mají chránit. V Game Makeru existuje velmi spolehlivý způsob, jak toto zařídit.
Zde je klíčový algoritmus pro každou tower defense hru. Střílna vybírá svůj cíl:
target = instance_nearest(obj_cil.x,obj_cil.y,enemy)
for(i=0;i<instance_number(enemy);i+=1)
{
target[i] = instance_find(enemy,i)
}
for(i=0;i<instance_number(enemy);i+=1)
{
if point_distance(x,y,target[i].x,target[i].y)<range
{target = target[i]
break;}
}
Tento algoritmu zařizuje právě výběr vhodného cíle. Musí být nejblíže cíle, ale zároveň musí ležet v dostřelu věže.
Návod poskytl Hektoplazmus, nezapomeňte na odběr z jeho Youtube kanálu.