Week 3

Förra veckan arbetade jag huvudsakligen med tre olika programmeringsuppgifter. Först skrev jag med en draw manager för vårt spel. Jag använde en struktur som var ganska lik spelet jag skrev i SDL och det var till stor hjälp. Efter ett några timmars arbete var den färdig, men dagen efter fick vi från en av mentorerna veta att den inte skulle behövas för tillfället vilket var lite tråkigt att höra.

Input managern var inte så svårskriven, men det tog sin tid. Jag var tvungen att precis som för drawmanagern ta inspiration av mitt förra projekt, samt läsa en del trådar från forum innan jag blev klar. Jag behövde lägga in support för mus och keyboard då avatarens movement styrs med ”WASD” och avatarens sikte styrs med musen. Dock så har SFML redan väldigt bra stöd för både grafik och input, mycket av den koden jag skrev under veckan behövdes inte i slutändan.

Jag började även arbeta på vår första boss AI, vilket var svårare än vad jag förväntat mig. Vår boss kommer inte röra på sig, men har några olika typer av attacker så jag började titta på YouTube videos och läsa på forum för att lära mig mer om hur man kan skriva kod för AI. Jag började först fundera över hur bossens aggro skulle fungera. Jag bestämde mig för att bossen ska börja attackera om playern är tillräckligt nära eller skjuter mot bossen. Sedan började jag tänka på hur bossen bestämmer vilken typ av attack som ska ske. Bossen byter konstant mellan fem olika attack states och jag bestämde en viss procents chans för varje state att inträffa härnäst. Sedan ändrade jag så att bossens special-attack sker med en bestämd intervall av attacker så att fighten inte är helt styrd av RNG (Random Number Generator).

Jag försökte också arbeta fram logik för bossens olika attack states (utan att skriva någon kod). Exempelvis funderade jag kring hur långt mellee och ranged attackerna ska nå, hur bossen riktar sina attacker (rakt på spelaren eller på en bestämd plats?), samt hur lång tid varje attack state varar och under hur lång tid en hel bossfight generellt borde pågå. Jag insåg att det är väldigt mycket mer kod och matte bakom bossen och dens AI än vad jag föreställde mig. Det jag är mest nyfiken på är hur vi programmerare tillsammans med grafikerna ska kunna kombinera deras animationer med vår kod utan att bossen agerar konstigt eller helt enkelt ser riktigt dum ut.

 

49bf3dcc5b66552e3cf0761e189737fe.gif

About Filip Swärdh

2015 Programming