Speldesign #6

Featured image

Denna gång tänker jag skriva om vad jobbat med nyligen. Jag har arbetat mycket på att få en snyggare HUD (Heads-Up-Display) och även med en mycket svårare del som har krävt mycket tid. AI (artificiell intelligens). Men först, lite HUD.

Som jag nämnde i tidigare blogg så har jag arbetat en hel del med HUD på senaste. I början så var det bara två olika bars som representerade spelarens liv och energi. Men efter att ha haft testare som spelat så sa alla samma sak, att det är otydligt vad som är vad. Och vad det används till. Så jag lade till texter där det står ”Health” och ”Energy”. Men Featured imagegruppen sa att dem tycker det vore roligare med en mer visuell representant än bara en tråkig text. Så en grafiker (Håkan Pettersson) gjorde ett hjärta och ett batteri som jag placerade bredvid dem olika bars’en. Så nu finns det ett fint litet hjärta och batteri som representanter av liv och energi.

Hur jag gör är att jag ritar ut dem med enkel kod och uppdaterar ständigt koordinaterna så dem ligger uppe i hörnet av skärmen bredvid bars’en.

Featured image

Nu lite AI! Jag tror att AI är nog det värsta jag jobbat med när det kommer till kod. Hur gör man? Hur börjar man? Det är många som sa till mig att AI är svårt men när jag satte mig med det själv så fick jag själv se hur svårt det var.

Det enda jag lyckades med, efter att ha suttit flera timmar med kodande, var att fienden ständigt följer efter spelaren. Och eftersom fienden är snabbare än spelaren så blev det en ganska svår fiende.

Hur jag gjorde kanske blir konstigt om jag försöker förklara i ord men det är så jag föredrar att skriva mina bloggar. Jag gjorde att koden räknar ut en vinkel mellan spelaren och fienden. Vinkeln har tre hörn som den utgår ifrån. Längst uppe i hörnet, spelaren och fienden. Efter den så blir det Pythagoras sats (C = sqrt(A^2 + B^2)). Då får den som sagt ut vinkeln och vänder sig hela tiden mot spelaren och rör sig alltid i den riktningen.

Varför tycker jag är ganska uppenbar. Vi kan inte ha en fiende som bara ligger och flyter. Först så sprang den runt i cirklar vilket gjorde att det inte blev någon utmaning för spelaren. Men nu så när den följer efter så skapar den en bättre utmaning för spelaren.

En tanke på “Speldesign #6

  1. Tjenna Folke.
    Förs och främst msåte jag påpeka att det är meningen att vi ska skriva om endast en artefakt, och gå ganska djupt in på denna enskilda artefakt. Du har dock skrivit om två artefakter, och jag tror att detta är den primära anledningen till varför jag tycker din bloggpost faller platt. Du går väldigt grundligt in på HUD ändringarna du gjort och drar snabbt igenom det du lyckades koda för AI:n, istället för att mer djupgående beskriva, förklara och analysera endast en del av ditt arbete, kom ihog, syftet med dessa poster är i huvudsak att reflektera över dina beslut.

    Hur som helst, jag förstår vad du har gjort varför dessa features behövdes, men inte förstår inte alls varför dessa features var designade på ett visst sätt, eller varför du valde att skriva koden på det sättet du gjort.
    Exemplevis, om det inte var så att jag själv redan hade gjort en likadan uträkning för vinkeln mellan spelaren och fienden, skulle jag inte alls kunna replikera det du försöker beskriva med pythagoras sats. Detta hade enkelt kunnat åtgärdas genom att använda bilder, antingen kodexempel eller bilder som illustrerar det du försöker beskriva (MS Paint for life). Remember, pictures say more than a thousand words.

    Frågor som skulle kunna öka värdet på din post: Följer fienden efter spelaren hela tiden, eller är det bara om hon är inom ett visst avstånd från fienden, i sådant fall hur löste du det? När slutar den att följa efter spelaren, varför, varför inte? Även om du inte hann med att koda dessa features så kunde du fortfarande skrivit om hur du tänkte vidareutveckla AI:n, eller vad som var tänkt från början, åter igen, varför.

    //Johan Joeis Holmér

    Gilla

Lämna en kommentar