Vecka fyra: The Boss

Denna veckas artefakt som jag har arbetat med har varit en boss till vårt spel. Så vad jag har gjort som har varit boss relaterat är då dess rörelse, dess attack formationer och beteenden samt dess död.

Jag började med att bygga upp bossens skelett med de vanliga Entitets funktionerna och sedan lägga in funktioner som är speciella för just bossen. Vad som skiljer bossen från de vanliga fienderna är att bossen har olika ”states” som ändrar dess beteenden och attackmönster samt variabler som t.ex. ”hp” som är då en liv räknare för bossen. Bossen har sex olika lägen, vilka är ”Going”, ”Idle”, ”nr1”, ”nr2”, ”nr3” och ”Dead”. ”Going” är det läge som bossen befinner sig i när han börjar gå in till mitten av skärmen. ”Idle” är när bossen står stilla och väntar på att få gå in i ett av sina attacklägen, som är ”nr1”, ”nr2” eller ”nr3”. Bossens attacklägen består av att han skjuter projektiler överallt eller mot spelarens håll i olika varianter, på bilden nedan kan man se state ”nr1” när bossen skjuter projektiler runt om sig. Sista läget ”Dead” är det läge som bossen hamnar i när dess liv har blivit noll. Bossen tar hand om dess lägen internt med en variabel som håller koll på vilket läge den befinner sig i. Jag hade i början av arbete en tanke på att alla lägen på bossen skulle skötas externt via ”state” klass. Detta var min första plan då det är tänkt att vi ska ha en unik boss för varje nivå, vilket kommer att bli tre stycken som det ser ut just nu. Detta skrotades dock för att jag visste inte hur jag skulle göra för att bygga den externa klassen till att passa för alla våra bossar. Om spelets alpha inte hade varit denna vecka samt att jag hade inte behövt oroa mig för andra uppgifter så hade jag troligtvis försökt med denna lösning. nr1

Alla lägen i bossen är ungefär som en ”Update” funktion. Bossen tittar först vilket läge den befinner sig i innan en funktion för respektive läge körs, vill säga att läge ”nr1” har sin egen funktion. Denna lösning ger många rader kod i boss filen, men är mycket simplare, gick snabbt att göra och kräver inte skapande av en klass som håller koll på  allt detta. Bossen kommer att se ut så här tills det uppstår ett problem eller tills skapandet av boss nummer två, då jag kommer att ha en referens punkt till att skapa det bästa systemet till att skapa bossar. Vad jag hade önskat är att jag skulle ha haft mer tid på bossen än på andra delar av projektet, för att det hade varit ganska grymt att visa upp en boss redan i alphan.

Vecka fyra: The Boss