Water Defense

Techniek
Unity · C#
Team
Solo
Duur
5 werkweken

Aanleiding De game is gemaakt tijdens de module Tower Defense.

De game Het is een tower-defensegame waarbij je door het plaatsen van torens (de vis, het slakkenhuis, de paintgun en de drietand) ervoor moet zorgen dat de vijanden het einde van de map niet bereiken.

Mijn rol Ik heb de game helemaal zelf gemaakt en getekend, behalve de achtergrondafbeeldingen. Het is getekend in Adobe Animate. Achtergrondmuziek: New Day - Ikson.

Uitgelicht

Een vertragend effect dat zich niet opstapelt

De slow-toren raakt een vijand elk frame dat die binnen bereik is. Zonder beveiliging zou het effect zich opstapelen, tot de vijand bijna stilstaat. Daarom controleer ik eerst of een vijand al vertraagd is. Zo niet, dan halveer ik zijn snelheid voor 5 seconden en zet ik die daarna terug naar de originele waarde.

public void SlowEnemy()
{
    if (isSlowed)
        return;
    StartCoroutine(SlowerTimer());
}

public IEnumerator SlowerTimer()
{
    isSlowed = true;
    moveSpeed = originalSpeed / 2;
    yield return new WaitForSeconds(5);
    moveSpeed = originalSpeed;
    isSlowed = false;
}

Bekijk op GitHub →

Terugblik Het was een vast thema, maar verder hadden wij vrij spel. Het bedenken van het thema van de tower defense vond ik erg leuk; ik kon er volledig mijn creativiteit in kwijt. De sprites mocht je zelf ontwerpen. De lessen sloten er goed op aan, omdat we tijdens de lessen steeds nieuwe onderdelen kregen waardoor we weer verder konden met de game. Dit hielp ontzettend en vond ik erg prettig: direct in de praktijk brengen wat je net geleerd hebt.

Uitdagingen Het project was in 2D gemaakt, wat erg lastig was, want als je hulp ging googelen kwam je altijd bij 3D-tutorials uit. Maar daardoor heb ik wel geleerd het zelf te doen zonder Google en gewoon dingen te proberen.

GitHub link Speelbare game
Tech
Unity · C#
Team
Solo
Duration
5 working weeks

Background The game was made during the Tower Defense module.

The game It's a tower defense game where you place towers (the fish, the snail shell, the paint gun and the trident) to stop the enemies from reaching the end of the map.

My role I made and drew the entire game myself, except for the background images. It was drawn in Adobe Animate. Background music: New Day - Ikson.

Highlight

A slow effect that doesn't stack

The slow tower hits an enemy every frame it is in range. Without a check, the effect would stack until the enemy barely moves. So I first check whether an enemy is already slowed. If not, I halve its speed for 5 seconds and then restore its original speed.

public void SlowEnemy()
{
    if (isSlowed)
        return;
    StartCoroutine(SlowerTimer());
}

public IEnumerator SlowerTimer()
{
    isSlowed = true;
    moveSpeed = originalSpeed / 2;
    yield return new WaitForSeconds(5);
    moveSpeed = originalSpeed;
    isSlowed = false;
}

View on GitHub →

Looking back The theme was fixed, but otherwise we had free rein. I really enjoyed coming up with the theme of the tower defense; I could put all my creativity into it. We were allowed to design our own sprites. The lessons fit in well, because each lesson covered new parts that let us take the game a step further. That helped enormously and I liked it a lot: putting what you just learned straight into practice.

Challenges The project was made in 2D, which was quite hard, because whenever you googled for help you always ended up with 3D tutorials. But it did teach me to figure things out myself without Google and just try things.

GitHub link Playable game

Gamesheet

Water Defense ArtSheet

Showreel