Local Multiplayer Game
Opdracht?
Tijd: 2 weken
Hoeveel personen: 2 personen
Afgerond: Januari 2024
Maak een twee speler spel die op één computer te spelen is. Het spel moet in 2d zijn, maar wat voor soort spel je maakt mag je zelf weten.
Er gelden wel een aantal eisen:
- Het spel moet op één scherm passen. De camera staat stil en beide spelers zijn tegelijkertijd te zien. Je mag wel van scenes wisselen en meerder levels maken, maar binnen een scene mag de camera niet bewegen.
- Het spel gebruikt één toetsenbord waarop iedere speler eigen knoppen krijgt om het spel te besturen.
- Er zit een startmenu in met uitleg over de controls.
- Beide spelers worden bestuurd vanuit hetzelfde script, met zo min mogelijk dubbele code.
Realisatie
Het eerste obstakel van dit project was al meteen het kiezen wat voor soort spelletje we wilden maken. We konden een racespel maken, een puzzelspel, een bordspel met een twist, en er gingen nog wel een aantal ideeën rond. Uiteindelijk zijn we uitgekomen op een coöperatief puzzel spel geïnspireerd door spellen als Vuurjongen en Watermeisje.
Het spel moest zich focussen op samenwerken. Er zijn deuren die alleen open kunnen door acties van de andere speler. Beide spelers moeten het einde bereiken om het level te voltooien. Dat was de visie die wij hadden toen we aan dit project begonnen, en durf te zeggen dat die visie goed gelukt is. We hebben er wel onze eigen draai aan gegeven door het spel een bovenaanzicht te geven en het voornamelijk een boxmover te maken.

Een persoonlijk doel van mij was om zo efficiënt mogelijk te programmeren. In het verleden had ik er nogal een hand van om in unity best veel te hardcoden. Met dit project probeerde ik dat zo min mogelijk te doen. Scriptjes zoveel mogelijk her te gebruiken waar mogelijk. Aan het einde van het project was ik dan ook heel trots dat dat heel goed gelukt is. Ik had het tot het punt gekregen dat een level maken een kwestie was van objecten naar de juiste plek slepen.
Het eindproduct bestaat uit vier levels. De eerste drie levels leggen elk een nieuwe functie van het spel uit om in het laatste level alle functies te combineren. Het eerste level introduceert Het duwen van dozen naar de juiste plek. Als de doos op de juiste plek staat gaat de deur open. Als je de doos eraf duwt, sluit de deur. Het tweede level introduceert plekken waar een speler moet staan. Zolang de speler er staat blijft deur open. Het derde level brengt sleutels. Pak een sleutel op en breng hem naar de bijbehorende deur om door te kunnen.

Dit is het laatste level waar het allemaal samen komt. De art is een mix van twee tilesheets van kenny.nl. Het eindproduct is iets waar we trots op zijn. Een project waar ik een hoop van geleerd heb als het op Unity aan komt.
Voorbeeld

Dit stukje code staat op de deuren die open en dicht moeten. De code checkt of een in de editor vastgestelde plek de juiste box er heeft staan (Of het de juist eis gebeurd in een ander script). Als dit klopt wordt de deur onzichtbaar en de collider uitgezet. Zodra de box weer van de spot afgehaald wordt, komt de deur en de collider weer terug. Als het om de rode box gaat kijkt hij ook of er een box op de tweede plek staat.
Probeer zelf!
Luke Ewes