Programming 2 Task

Om du är är här för att kommentera på min spelutvecklings post så har du kommit fel, det är nästa post som är för spelutvecklings kursen.

 

Så, först och främst så insåg jag snabbt att det inte fanns en “player” klass. Efter att har frågat grupp 17 så fick vi svaret att “Turrent” klassen och “Planet” klassen är det närmaste de kommer en spelar klass.

Jag började med att kolla Turrent klassen. I sig en väldigt liten klass med lite kod. Om jag förstått det rätt så använder den sig av en “GameObject” klass som jag tänker anta används till att skapa alla spel objekt? (Har inte kollat igenom alla spel objekt men genom att kolla på hur det ser ut så verkar det rimligt) Turrenten själv verkar bara använda sig av en bindning och det är till GameObject och ser ut att vara det enda som krävs för att få den att funka. Dock så ser jag ingen kod för att styra den då det trotts allt är det Turrenten är till för. Vill tillägga att jag är osäker på vilken variant av Planet Suburbia detta är då de hanterat skjutandet och movementet olika. Oavsett vad så krävs det att en klass någon annanstans i programmet tar hand om kontrollerna för Turrenten. En koppling som kanske kunnat göras direkt i turrenten och då ha allt som involverar turrenten på ett och samma ställe? Det som behövs för att få den att funka är ett namn och en “DisplayPosition” aka om den är fixerad till kameran eller inte, skillnaden mellan hud och game world element antar jag. För att få den att synas så sätter de en sprite direkt efteråt samt vad jag bara kan anta är definierar i vilken ordning den ska renderas, och sist så sätter de positionen för turrenten.

Planet klassen verkar vara hyfsat lik dock använder sig av mycket mer kod då den verkar hantera de fyra sektionerna som finns i spelet. Den verkar kolla nån form av kollision och antar då att detta är med fiender då det är det ända, som jag förstått, som ska skada spelaren (eller i detta fall planeten). Den ända riktiga bindningen jag kan se i Planet är även här GameObject dock så använder sig denna klass sig även av andra klasser så som behaviour och collider som jag inte finner deklarerade i planet klassen utan bara i GameObject. Så då jag bara kan finna en direkt bindning så blir det svårt att ta bort några. Planeten verkar hantera det den ska och inte mer eller mindre. Även här görs samma steg som på turrenten dock här läggs även kollision till då fienderna ska kunna kollidera med planeten samt att planeten har ett behaviour som sätts i slutet.

 

Så efter att ha kollat igenom dessa två klasser som vi fick givna av gruppen så ser det mer ut som att det är GameObject klassen som styr eller iallafall skapar allt. GameObject klassen har bindningar till Collision, Behaviour, Transform, Sprite, AnimatedSprite och Camera. Första gången jag tittade på GameObjects .h fil vart jag förvirrad. “private:” och “public:” lite huller om buller istället för att ha allt som är private under private och public under public. Finner “template” grejorna något förvirrande då jag aldrig gjort något liknande själv och inte heller visste att man kunde koda så i .h filen så har svårt att kommentera det. Hur man skulle kunna minska antalet bindningar här har jag svårt att lista ut då jag inte riktigt förstår mig på all funktionalitet i .h filen samt att det verkar som att den använder sig av de bindningarna på ett hyfsat sätt.

About Elis Öhrman

2015 Programming