Weglaten Multiplayer

In het begin van het proces had ik het erover dat mijn game wellicht een multiplayer game zou worden.

Eerder deed ik al onderzoek naar het importeren van een multiplayerfunctie, maar wegens tijdgebrek kon ik deze functie niet meer in mijn project steken.

Toch vond ik deze topic erg interessant, dus schrijf ik nog even uit hoe je alsnog een multiplayer zou kunnen toevoegen.

Multiplayer

Photon Setup

Om te beginnen hebben we een delevoper-kit nodig die ons helpt om ons project met een server te connecteren.

Unity zelf heeft enkele opties hiervoor, maar ik vond verschillende filmpjes waarin mensen toch opteerden voor Photon Pun.

Ga naar de Unity Asset Store, en zoek voor Photon Pun, en kan je deze package importeren in je project.

Om deze package te kunnen gebruiken moet je wel een Photon Account aanmaken, en blijkbaar nog enkele dingen instellen in dat account om van start te kunnen gaan.

Photon New App

Als je account is opgezet kan je op de knop Create A New App drukken, en zo zal je een informatie kunnen zien via die app over de players, en zal er een App-ID worden aangemaakt.

Deze ID zal je moeten ingeven in de Photon Server Extentie in je VR-project.

De volgende stap is om de gegevens van je 'Room' via een C# script in te stellen (zoals bijvoorbeeld het maximaal aantal spelers, als je alleen hun handen / hoofd kan zien, als je met een code moet joinen...

Als dit gebeurt is, zou je met je eigen headset al in een multiplayerroom geraken.

Testen van multiplayer

Als je in Unity werkt met een 3D-project of 2D-project kan je verschillende applicaties tegelijk runnen om te kijken als je met meer dan 1 speler tegelijk in de room geraakt.

In VR werkt dit een beetje anders, omdat je natuurlijk 2 headsets nodig zou hebben om dit te kunnen testen.

Van wat ik begrijp, moet je een kopie maken van je VR-project. In 1 van de 2 versies moet je dan een een nieuwe XR-plugin installeren waardoor je je VR-controllers kan 'faken' via je computer.

In deze versie moet je een Build uitvoeren, en dan kan je opnieuw deze 2 applicaties tegelijk runnen.

Via een script kan je in de console iets gaan loggen om te kijken als er een nieuwe speler (je 2e versie dus) in de room geraakt.

Aanmaken van avatars

Nu willen we natuurlijk de andere spelers ook kunnen zien in de room.

Hiervoor moet je terug een script schrijven die terug via Photon.Pun zal checken als een speler de room joint, of hem terug verlaat, en aan de hand daarvan een avatar tonen.

Aangezien meerdere spelers kunnen spawnen in de room, moet je ervoor zorgen dat deze avatar een prefab is. Sleep deze model dus gewoon in je 'Prefabs-folder'.

Op de prefab moet je nog een Photon View Component toevoegen. Deze component zal alle data verzamelen die je nodig hebt om de spelers te synchroniseren.


In mijn room

Op het eerste zicht lijkt dit wel mee te vallen. Een room creëren waar je meerdere spelers kan zien op het zelfde moment is doenbaar.

Wat iets uitdagender is, is om dit te doen met een verhaallijn. Iedere speler heeft een intro, en zal dus op andere tijdstippen op de 'doorgaan' knoppen drukken.

Ik nog geen uitgebreide tutorial gevonden hoe dit probleem wordt opgelost.

Velen maken een wacht-functie nadat er op de laatste 'doorgaan' knop is gedrukt, dus dat kan je misschien wel eens uitproberen.

Laat de spelers pas spawnen als de room zogezegd vol zit.

Deze room zal wel een denkbeeldige room moeten zijn, aangezien je de 'Play' knoppen de andere knoppen & de verhaallijn niet wilt overslaan voor de andere spelers.