PlayerMole

Den här veckan har jag arbetat med den spelbara karaktären i vårt spel Mole Munch, mole. Det var ett antal saker som vi i gruppen ville att vår mole skulle kunna göra till vår Alpha. Vi ville att den skulle kunna:

  • Byta mellan SurfaceMode och DigMode (vi använder oss av gradvis osynlighet för att visa att vår mole är under ytan i vår Alpha)
  • Röra sig med hjälp av piltangenterna (normal rörelse)
  • Plocka upp grönsaker genom att gå över dem (ger poäng, poängen implementeras i ett framtida poängsystem)
  • Få Collision med objekt i vår spelplan (enkel collision till att börja med (väggar etc.))
  1. SurfaceMode och DigMode är de olika modes som vår mole kan befinna sig i. I SurfaceMode är vår mole helt synlig, och han rör sig med en konstant hastighet. Dessutom måste vår mole vara i SurfaceMode för att kunna plocka upp grönsaker från spelplanen. I DigMode rör sig vår mole med den dubbla hastigheten av SurfaceMode, och mole blir halvt osynlig för att symbolisera att den är under jorden. Vi har dock planer på att lägga till dirt trail istället för osynlighet, men detta är inget vi har satsat på till Alpha. Som spelare kan man byta mellan SurfaceMode och DigMode när man vill, genom att klicka på Space. Detta sker genom en if-sats. I if-satsen finns det en bool flipped som kollar om man är i SurfaceMode eller DigMode. Vad som sker när man trycker på Space bestäms av en if-sats som sätter transparans och dubbel hastighet, och en else-sats som sätter vår mole tillbaks till originalvärden (startvärden).
  2. Rörelse styrs med hjälp av piltangenterna. Mole rör sig med konstant hastighet, if-satser kollar vilken knapp som är intryckt, så att man rör sig åt rätt håll. Vilken hastighet som man rör sig med beror på om SurfaceMode eller DigMode är aktivt, som nämnts tidigare.
  3. Spelet går ut på att ta en viss mängd grönsaker som spawnas med hjälp av en rand funktion på olika platser. Anledningen till att rand funktionen bara spawnar grönsaker på vissa ställen är att vi inte vill ha grönsaker som spawnar i objekt i spelet. Genom att gå över en grönsak sker en collision som gör att man tar upp den och i utbyte får man poäng. Dock får man ännu inga poäng för att ta upp grönsaker, detta implementeras i en senare version av spelet.
  4. Som spelare kan man inte gå utanför spelplanen, detta hindras med hjälp av if-satserna för movement, som bara fungerar om mole befinner sig på en position inom spelplanen. Annars stoppas rörelsen och spelaren kan inte fortsätta utanför spelplanen. Collision med objekt i spelplanen är det sista som behövs till vår Alpha, och det kommer bli implementerat så snabbt som möjligt. Vårt spel är isometriskt,och kommer  ha tilebaserad collision. Så detta blir det sista som mole kommer få innan Alpha.

Just nu arbetar jag med hjälp av placeholders medans våra grafiker gör färdigt våra riktiga figurer och objekt.

Här nedan syns skillnaden mellan DigMode (halft osynlig) och SurfaceMode (synlig) i tidig pre-alpha. Ingen bakgrundsbild är färdig för tillfället, utan en placeholder grid användes istället.

ss+(2015-02-12+at+05.32.53) ss+(2015-02-12+at+05.33.25)

 

About Olle Staffas

2014  Programming