Neon gamestudio
Hybride LeerOmgeving - HLO
De hybride leeromgeving is een project waarbij studenten kunnen werken in een werkachtige leeromgeving aan een langlopend project. Hier kunnen zij werken aan waar zij zich in willen specialiseren of gewoon willen leren hoe je in een professionele werkomgeving aan de gang gaat.
Ik ben vanaf de 3de periode van jaar 2 vooral bezig geweest met het ontwikkelen van AI in het spel en dan voornamelijk met enemies die de levels moeilijker maakt om te navigeren.
Stationary Turret
Mijn eerste project bij het HLO was een stationaire turret die om de zoveel tijd een bepaalde richting op schiet.
Ik heb in samenwerking met een andere programmer en een Game Artist in 9 dagen een werkende turret drone gemaakt.
Het script is opgesplitst in 3 delen; de base script, de base turret weapon script die overwritable is en de weapon script die nu een laser bevat. Hierdoor kan je als game designer later andere weapons toevoegen aan de turrets die gebruik maken van de base turret en base turret weapon zonder de basis functionaliteit van de turrets aan te passen
 
															
Active Turret
 
															In de 2de sprint heb ik in 9 dagen de vorige turret uitgebreid met een following script en een FOVVisualizer. Hierdoor kan de turret in de editor aangepast worden om naar de player te kijken en achter de player aan te vuren.
De FOVVisualizer laat in de editor zien wat de detection range en het gebied zien waar de turret de player kan zien. Wanaar de player in dat gebied komt draait de turret naar de player toe en zal na een korte charge schieten naar waar de player staat. Ook kan in de editor aangepast worden of de turret 1 keer de player positie pakt of continu de player volgt.
Voor de turret om rond te schieten heb ik de turnTowards vectorextensie ,die gemaakt is door voorgangers, gebruikt om de turret te draaien richting zijn target. De target vind hij door in een cirkel om zich heet te checken of de speler zich daarbinnen bevindt. Maar dat zou te sterk zijn, dus ik heb ook nog een cone zichtveld gemaakt waar de speler ook in moet staan wil de turret naar de player draaien.
 
															 
															 
															In de main script voor de Active Scopi word continu gechecked of de speler in range is en als de speler in range en in dezelfde richting staat als de turret, gaat de turret schieten
AI PathFinding
Bij Neon Game Studio heb ik voor module 3 Verdieping Software gekozen om mijn Game AI kennis uit te breiden. Voor deze verdieping heb ik meer kennis moeten vergaren over A* pathfinding via de Manhattan methode.
Deze methode heeft een hele simpele berekening waarbij de enemy zich in een grid bevindt. Elk stapje horizontaal en verticaal heeft een bepaalde koste en de diagonale stappen hebben een iets grotere koste dan de horizontalen en verticale kosten.
Hiernaast zie je een visuele representatie van de pathfinding via A*, en hieronder zie je de simpele berekening voor het uitrekenen van de kortste route. In elk blokje van de grid zie je links-bovenin de kosten om die kant op te bewegen vanaf het blokje met A en rechts-bovenin zie je de afstandskosten van dat blokje rechtstreeks naar het eindpunt. Dan in het midden van elk blokje zie je de totale kosten om naar dat blokje te bewegen.
 
															 
															Totale kosten voor movement
Hier staat de simpele berekening die de totale kosten laat zien om de enemy van zijn huidige grid-positie naar de grid-posities om zich heen te laten gaan, namelijk: de fCost.
De gCost is de standaard kosten om horizontaal, verticaal of diagonaal te bewegen in het grid.
de hCost is de kosten berekent op de afstand tussen de huidige positie en de target positie in een rechte lijn.
 
															Distance berekening
 
															Hier heb ik een stukje code die berekent wat de afstand is tot de target op de X as (dstX) en op de Y as (dstY). Hier zijn de getallen een standaard getal in A* pathfinding, maar ze kunnen aangepast worden naar wensen.