aaronvark / PeerReview1819

Repo for peer review assignments for year 2 development class of 18/19
0 stars 0 forks source link

Niels Poelder - Eind Opdracht Blok 1 #10

Closed Bengel2004 closed 4 years ago

Bengel2004 commented 5 years ago

Asteroids game waarbij je schip verandert en groeit dmv asteroids te vernietigen. Je krijgt betere wapens terwijl je score steeds hoger wordt. Mogenlijk dingen van Agar.IO nog ff kijken.

YassineMinjon commented 5 years ago

Je hebt netjes de singleton toegepast in de scoremanager class, dit is een prima plek om deze te gebruiken. Ook heb je de player behaviour in verschillende classes gesplit (movement, leveler, fire) wat het makkelijker maakt om de code modulair te houden. Het enige wat ik nog aan zou kunnen raden qua design patterns is om mischien te gaan kijken of je een object pool kan gebruiken in de enemy spawner. Dit zou performance benefits kunnen hebben wanneer je grote hoeveelheden enemys wilt spawnen en despawnen. Voor de UML zie ik nog wel een paar verbeter mogelijkheden. In de huidige UML inheriten vrijwel alle classes van monobehaviour, dit heb je aangegeven met pijltjes. Deze pijltjes zorgen alleen voor best veel clutter, deze pijltjes zou ik zelf gewoon weg laten aangezien mono hier de standaard lijkt te zijn. Verder is je weapon class een scriptableObject, dit zou je nog in de UML aan kunnen geven. Verder ziet alles er netjes uit, ga vooral zo door.

Bengel2004 commented 5 years ago

Nieuwe update toegepast met meerdere wapen classes en een game reset als de speler af is. Ook enig beginsel aan een "High Score Systeem" en de UML aangepast naar de huidige situatie.

Nog geen optimalisatie updates

Asteroids with a Twist UML Update 1

Bengel2004 commented 5 years ago

Visie voor het spel voor de komende tijd:

aaronvark commented 5 years ago

Volgens mij is de ambitie om met een object pool te werken prima in de context van deze game. Probeer dan vooral te zorgen dat de objectpool voor al die dingen hetzelfde is, en dat je niet 3 pools gaat bouwen in 1 master class of iets dergelijks.

State machines zullen waarschijnlijk simpel blijven, en zou je ook voor de overall "menu/game/gameover" setup kunnen gebruiken.

Je werkt erg overzichtelijk en het is goed om te zien dat je dingen compact houdt. Dat maakt het makkelijk alles te begrijpen! Wel zou je kunnen nagaan of de Player... classes niet andere namen verdienen. PlayerFire is bijvoorbeeld volgens mij gewoon een Weapon, maar je hebt al een Weapon class, wat weer meer gewoon data is.

Qua optimalisatie zou ik me niet teveel zorgen maken, zo lang je niet dingen doet als GetComponent elk frame terwijl hij nooit anders is (die heb ik bij jou ook nog niet gespot, dus dat is prima).

Bengel2004 commented 4 years ago

Eindopdracht gepushed.

De game files zijn op deze link te vinden

Documentatie is op deze link te vinden: