← Terug naar projecten

Crystal Depths

Een top-down 2D dungeon game. Je loopt door een dungeon, verzamelt kristallen en verslaat vijanden. Je kan ook wisselen tussen twee rollen tijdens het spelen.

Crystal Depths gameplay

Over de game

In Crystal Depths loop je door een donkere dungeon en moet je 5 kristallen verzamelen. Als je ze allemaal hebt gaat de uitgang open en win je. Er zijn 4 soorten vijanden die je proberen te stoppen.

Dit heb ik gemaakt voor de module Reusable Components op ROC van Twente. Het ging erom dat je code goed opdeelt in kleine stukken die je kan hergebruiken.

Wat heb ik gemaakt

Ik heb de hele game zelf gemaakt. Het leukste stuk is het role wisselen met Tab. Als Warrior vecht je van dichtbij, als Archer schiet je van ver. Dit wisselt echt de componenten op het karakter zonder dat de scene opnieuw laadt.

Ik heb ook een AI gemaakt voor de vijanden. Ze lopen een patrouilleroute, spotten de speler als die dichtbij komt en gaan dan aanvallen. Er zijn 4 vijandtypes: melee, ranged, shielded en een turret.

Hoe de code werkt

De game heeft 4 interfaces en elke interface heeft 2 versies. Zo kan je componenten makkelijk combineren en wisselen zonder de rest van de code aan te passen.

IHealth IMoveable IAttack IInput

Ik heb ook een generieke Singleton<T> klasse gemaakt en gebruik C# events zodat systemen niet direct aan elkaar vastzitten. Er zijn meer dan 22 unieke combinaties van componenten, dat is meer dan de eis van 20.

Screenshots

Crystal Depths screenshot 1 Gameplay: speler in de dungeon
Crystal Depths screenshot 2 Archer rol: projectiel aanval
Crystal Depths screenshot 3 Vijanden in actie
Crystal Depths screenshot 4 Win scherm na alle kristallen

Gebruikte Tools

Unity 6 C# Interfaces Generics Events State Machine Visual Studio

Gameplay Video