DualDefenders is een tower defense game gemaakt door twee developers.
In deze tower defense moet je niet alleen je eigen base beschermen maar ook vijanden sturen naar de AI tegenstander.
Project info
Ik heb dit project gemaakt met één andere developer. We moesten bij dit project gebruikmaken van een pathfinding AI gemaakt door een docent. We kozen voor de waypoint path finding en hebben daarmee een tower defense game gemaakt. Als twist op de tower defense hebben we het van twee kanten gemaakt en moet je nu ook vijanden plaatsen bij de AI tegenstander.
Tijdens dit project heb ik gewerkt aan.
CameraMovement
Om te kunnen wisselen tussen jouw veld en dat van de tegenstander heb ik een camera gemaakt die van een startvector naar een eindvector beweegt door middel van een Slerp. Waar de camera zich bevindt beïnvloedt ook welke kant van de map je wel en niet kunt horen.
Enemies
We moesten voor dit project voor de beweging een pathfinding-systeem van een docent gebruiken. Mijn teamgenoot en ik hebben gekozen voor waypoints pathfinding. De rest van de enemies heb ik zelf gemaakt. De enemies gebruiken scriptable objects om heel eenvoudig verschillende varianten te maken.
Enemy Base
In de AI-basis worden alle waarden ingesteld en staat de code die wordt gebruikt wanneer de enemy zijn eindpunt heeft bereikt.
Shooting Enemy
Voor de shooting enemy gebruik ik een overlap sphere om te controleren of er een toren binnen het bereik van de enemy is. Vervolgens wordt er een kogel gespawned en gericht op de dichtstbijzijnde toren. Tot slot wordt een coroutine gestart voor de cooldown. De kogel wordt vervolgens met een Vector3 Movement naar de toren bewogen.
Tegenstander AI
De tegenstander-AI heeft meerdere states en de mogelijkheid om towers te plaatsen en te upgraden. Met de choosing state wordt er gekeken naar wat er in de map nodig is. Als er genoeg towers op de map staan, gaat de AI meer bijbouwen of towers upgraden en dit is allemaal instelbaar. Om te voorkomen dat de AI towers en upgrades gaat spammen is er ook een idle state.
Enemies plaatsen
De enemies kunnen worden geplaatst op spawn tiles. Via de spawn manager wordt er dan een enemy gespawned op die tile. Van de spawn tile wordt een tag gepakt die gelijkstaat aan een pad dat de enemy moet volgen.