Navigation mesh

Medlem
Navigation mesh

Intresse för bloggen verkar finnas, jätte roligt! Eftersom första inlägget var mest en presentation tänkte jag följa upp detta med ett mer ingående inlägg om Nimrod the Isometric Editor. Det är som namnet antyder en editor för att skapa isometriska banor i stil med Diablo II, Sacred och D/Generation m.fl. Editorn kommer främst att användas för att skapa banor till egna projekt, men jag kommer även att ge ut den gratis när jag känner mig tillräckligt nöjd med den. Editorn kan just nu ladda, spara och visa banor. En bana är definierad som följer:

Innehåller objekt. Ett objekt har en position och dimension i världen samt en bildfil associerad till sig. Bildfilen kan animeras med hjälp av en sorts "serie-tidnings" teknik dvs. en bild innehåller alla bildrutor för animationen.

http://www.fz.se/bilder/arkiv/q/qncr5p2o3vf1xsw8mza9ebu0h6dtki47.jpg

Banan innehåller även ljud, zoner, Actors (NPC) och script. Alla dessa har olika beståndsdelar och kan editeras i editorn. Ett ljud kan t.ex. loopas, spelas upp globalt eller ha en ljudstyrka och position associerad till sig. En zon är ett område bestående av en bredd, djup och en höjd. Området kan avfyra olika slags mekanismer i spelet, t.ex. dörrar, larm osv. om spelaren befinner sig i det. Actors är personer/agenter på banan, dessa kan tilldelas namn, storlek, plats och script samt ett unikt id. Scripten i editorn laddas och körs med hjälp av lua, ett gratis skriptspråk som bland annat används i några av Biowares titlar.

Men nu spårade jag ur lite, inlägget skall handla om Navigation mesh! Ett speciellt slags objekt som används för navigering av Actors/NPCer. Ett navigations mesh består av ett antal noder och kan ses som ett flödesdiagram. En node består i sin tur av en konvex yta med X antal knytpunkter till andra noder. Befinner sig en NPC inom en node så ska han med lätthet kunna nå andra NPCer och spelare i samma node. Befinner sig NPC och målet han vill ta sig till i olika noder gör man en sökning i navigations meshet och får då reda på vilka knytpunkter han ska ta sig till och i vilken ordning för att snabbast ta sig till målet. Jag har ännu inte implementerat detta i editorn, men målet är att få fungerande verktyg att skapa och editera dessa noder och knytpunkter.

En bild på några av objekten i editorn och "ljus" fliken i verktygsfönstret:
http://www.fz.se/bilder/arkiv/9/9isy2uo6rxcje7hq1gwz0tnf4bp3lam5.jpg

#blogg

Medlem
Navigation mesh

Spännande, har själv varit med och utvecklat spel, grafik 3d och 2d. Hoppas de går bra för er med Apple Catcher
Man kan nästan se att ni pysslat med Amiga tidigare, tänker på utseendet på er editor som förövrigt verkar riktigt sweet. Hoppas ni kan släppa den fritt framöver. Ni har inte pillat in stöd för deferred rendering antar jag?

Medlem

Nej tyvärr, ingen deferred rendering... Jag var påväg men strök det eftersom det blir så struligt med transparenta ytor :S Kommer kanske i en senare version emellertid

1
Skriv svar