En till fiende, grupp 4 post #3

Den här veckan har jag jobbat med att skapa en till fiende som vi ska ha i spelet. Fienden som jag har arbetet med är en piraya som åker upp och ner på skärmen samtidigt som den åker mot vänster. Detta kommer inte att vara den vanligaste fienden så därför bestämde vi i gruppen att den skulle göras den här veckan då vi redan har gjort färdigt den vanligaste fienden.

Det uppstod inte så många problem när jag skulle skapa pirayan då jag förra veckan gjorde vår första fiende till spelet. Så jag hade redan hyfsat bra koll på vad som behövdes för att skapa den fiende. Ett problem som uppstod var dock att när jag skulle rita ut pirayan så blev det något fel med den koden som gör att de inte ritas ut. Jag har tyvärr inte lyckats med att lösa detta problem än och vet just nu inte vad det är som gör att det blir fel. Det kommer inte heller upp något felmeddelande vilket gör att det blir lite jobbigare att hitta vad det är som krånglar. Men jag tror att det är i vår huvudklass som det är fel i, det var inte jag som gjorde att vår andra fiende ritas ut så det är nytt för mig. Så jag kommer sitta imorgon och försöka lista ut vad det är som gör att dem inte ritas ut.

Eftersom att pirayan inte ritas ut så kan jag inte med säkerhet veta om rörelsemönstret för dem är som jag vill att det ska vara. På bilden nedan så visas rörelsemönstret för pirayan. Bilden är inte från spelet då jag som jag skrev innan inte lyckats med att få pirayan att ritas ut än.

Pirayarörelse

 

Då grafikerna har arbetat på en annan fiende som vi ska ha med i spelet, en manet som görs av en annan programmerare, så har vi ännu ingen animation till pirayan. Så även om jag skulle kunnat få den att ritas ut så hade jag inte kunnat testa den med rätt animationer. Men det kommer in i spelet nästa vecka.

För att få så att pirayan inte åker uppåt eller neråt varje gång den kommer så satte jag så att när den skapas så får den ett slumpmässigt värde mellan -1 och 1. Detta värde är det som styr hur mycket den ska åka i Y-led. Så alltså den får ett slumpmässigt värde som avgör om den börjar med att åka uppåt eller neråt på skärmen.

Power up, grupp 4 post #2

Då har en till vecka gått förbi och det har varit en helt okej vecka om man kollar programmeringen som har gjorts för min del. I slutet av förra veckan så satt vi i grupp 4 och gick igenom vad vi behövde för saker till Alphan. Vi kom fram till ett par olika saker som fortfarande behövdes göras eller fixas till innan Alpha. En av de sakerna som behövdes göras var att vi behövde ha en power up i spelet, och i vårt Game design dokument så hade vi skrivit att vi ville ha med totalt tre stycken power ups i vårt spel. Men eftersom att vi inte skulle ha tid till at göra alla tre power ups till Alphan så fick vi bestämma vilken som var viktigast för spelet. Vi kom fram till att vi tyckte att det var vår amulett power up som var viktigast och att det var den som vi skulle fokusera på. Power upen gör så att spelaren inte kan ta skada under ett visst antal sekunder.

När jag skulle skapa amuletten så började jag med att bara göra en klass som bara gjorde så att jag kunde rita ut Amuletten. Ett litet problem som jag stötte på när jag skulle rita ut animationen för amuletten var att jag glömde att sätta hur lång tid varje bild skulle visas vilket ledde till att bara var den första bilden som ritades ut. Jag lyckades hitta vad det var som jag hade gjort fel genom att kolla jämföra vad jag hade skrivit med andra animationer som vi har i vårt spel. Så det tog inte allt för lång tid innan jag hittade den lösningen.Mynt

Ett annat problem som jag hade var att jag skulle få vår avatar att byta till ett nytt state när man simmar och plockar upp amuletten. Jag googlade runt men lyckades inte riktigt hitta ett svar som kunde hjälpa mig att förstå hur jag kunde göra det på bästa sätt. Så det jag gjorde då var att jag frågade en annan programmerare som hade gjort en meny till sitt spel. Han förklarade att med hjälp av State managern som vi redan har i vårt spel så kunde jag göra en funktion som kollade om avataren plockat upp amuletten så kunde jag byta state på avataren. Med hjälpen från honom så lyckades jag tillslut få avataren att byta från sitt vanliga state till ett state där han inte kunde ta skada under ett antal sekunder.

Grupp 4 -kollision

För några veckor sedan så valde min grupp ett koncept på ett spel och konceptet som vi valde var på spelet Mermaid river. Det är ett spel där man spelar som piraten Skip Leg Day och man ska simma och leta efter sin besättning och sin skatt som har blivit stulna av några onda sirener. Man simmar och plockar upp mynt som sirenerna har tappat eftersom att man inte kan låta någon annan ha den skatten som man har plundrat till sig

Spelet är ett 2D side-scrolling shooter spel. Det utspelar under vatten och spelaren möter olika fiender i form av fiskar som har olika rörelsemönster men det finns även svårare fiender vilket är sirenerna. Eftersom att man är undervatten så har man en harpun som vapen och det tar ett tag att ladda om den så mycket fokus ligger i att skjuta vid rätt tillfälle och att man måste undvika fiender istället för att skjuta dem. Och eftersom att det utspelar sig undervatten så måste man då och då simma upp till ytan för att hämta luft vilket leder till att man måste planera hur man simmar.

Det känns som att det har gått bra för både programmerarna och grafikerna i vår grupp den här veckan. Det har inte uppstått några problem som är allt för stora eller inte gått att lösa hyfsat fort.

Den här veckan har jag valt att jobba med kollision. det jag har gjort är att skapa en klass som säger hur stor kollisionsboxen är för varje bild. Sedan efter det så gjorde jag en klass som tar kollisionsboxen och sedan kolla om den är på samma x eller y position som en annan kollisionsbox.

Vi har dock tyvärr inte riktigt kunnat testa om kollisionen fungerar som jag vill att den ska fungera då vi inte har ritat ut fiender eller gjort så att spelaren kunnat skjuta. Detta har gjort så att vi inte riktigt vet om kollisionen fungerar som den ska eller om den fungerar över huvud taget. collision

Ett problem som jag stötte på när jag skrev klassen för kollisionen var att jag inte visste hur man använde  rektanglar i biblioteket som vi använder oss utav. När jag sökte efter en förklaring på internet så missförstod jag till en början hur det fungerade. Men efter ett stund av läsning på internet och diskussion med andra programmerare så förstod jag hur det fungerade och kunde då komma vidare med koden.