Project type: Game
Date: 20-05-2022
Status: Finished
Software used: Visual Studio
Language used: C#
Role: Developer
Team size: 2 developers
Timer Behaviour
In dit project gebruik ik een nette code structuur met on enter, on exit en update events. Het timer behaviour script is verantwoordelijk voor het makkelijk aanmaken van een timer die om de aangegeven tijd een functie aanroept. Dit heb ik gedaan met een abstracte functie. De timer houd rekening met de frame time. Dus als de frame rate laag is worden de gemiste timer ticks ingehaald, zodat de gameplay op elk apparaat hetzelfde is.
Trap Generator
De trap generator is verantwoordelijk voor het plaatsen van alle traps. In elke kamer worden er 5 willekeurige traps geplaatst. Elke trap heeft zijn eigen logica met waar de beste plek in de kamer is om geplaatst te worden. Met de interface ITrap en de functie GetSuitableLocation kan ik voor elke trap een geschikte plek vinden in de kamer.
Turret
De turret maakt gebruik van een timer behaviour om te schieten. De turret berekend bij het plaatsen wat de beste plek in de kamer is om een lange afstand te schieten. Bij het plaatsen wordt ook gekeken of de deur wordt geblokkeerd. Elke timer tick wordt een kogel geschoten. Aan de bullet wordt de richting, snelheid en de overgebleven frame time meegegeven, zodat de bullet niet achterloopt als de frame rate laag is.
Saw
De saw gaat heen en weer in een horizontale of verticale richting. Bij collision met muren gaat de saw weer in de andere richting. Tijdens elke beweging wordt er gekeken of er naar de nieuwe positie bewogen kan worden.
Spike
De spike is een stilstaande val. De spike kan alleen op muren geplaatst worden. De spike houd geen rekening met deuren. Het kan dus het geval zijn dat de speler een leven kwijt raakt door het betreden van een kamer.