Jump to content
Unity Insider Forum

Lokaler Multiplayer. Wie geht das?


Kurmuro

Recommended Posts

Hallo,

Ich habe mir als Projekt zum Lernen für Unity Kniffel rausgesucht.

Mein bisheriger Stand ist das man Alleine spielen kann. Heißt man spielt ohne Gegner und versucht einfach nur seine Punktzahlen zu verbessern. Siehe Foto:kniffel.PNG.d5cf45f7de722b2b88c374aebd96bdb4.PNG

Bevor ich mich an den Online Multiplayer Wage wollte ich erstmal den Lokalen Multiplayer hinbekommen. Sprich alle spielen auf einem gerät. Man gibt am Anfang ein wie viele Spieler es gibt und gibt ihnen Namen und jede runde wechselt dann der Spieler.

Ich finde allerdings keine Ansätze wie ich so ein Spiel aufbaue... Das wo man im Internet findet sind entweder Spiele wo zwei leute gleichzeitig spielen oder halt von verschiedenen Geräten aus.

Wisst ihr vielleicht wonach man suchen muss um am besten ein direktes Beispiel zu sehen?

Meine Hauptfragen sind: wie läuft das ganze generell ab? Kann ich einfach für jeden Spieler die Szene einfach neu aufrufen? Wie und wo speichere ich dann seine daten, bzw wie geht es das die Szene die erzielten Punktzahlen nicht "vergisst"?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Servus,

für einen lokalen Multiplayer würde ich Runde bzw. Züge einbauen und zwei Variablen für Spieler 1 und 2.

Spieler 1 und Spieler 2 in einer Runde ist Spieler 1 dran und danach Spieler 2 usw. dann wenn eine gewisse Rundenanzahl erreicht ist oder eine gewisse Punkteanzahl ist es Zuende.

Das kannst du alles mit Schleifen und IF Anweisungen regeln.

Dazu musst du die Szene nicht neu laden du hast ja eine Update Funktion die jeden Frame läuft bzw. kannst du sowas auch mit Coroutines basteln, wenn ich mich nicht irre.

Die Daten speicherst du in Variablen.

public int player1Points;

public int player2Points;

public int playerTurn = 1;

aus diesen 3 Variablen könntest du schon einen lokalen Multiplayer basteln.

Wenn du dann noch Namen usw vergeben willst für die Spieler brauchst halt weitere Variablen "strings", auf jeden Fall solltest du dir Variablen, Datentypenspeicherungen, Schleifen, Anweisungen und Arrays in C# anschauen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Runde wird ja wie beim richtigen Kniffel beendet sobald man die Punktzahl einträgt. Das ist kein Problem.

Allerdings spielen in so einem Spiel mitunter auch gern mal 10 oder mehr Personen mit und alles so aufzubauen das ich alles variabel mache und alles abspeichere... da gibt es doch bestimmt eine elegantere Möglichkeit?

Zudem baut der Online Multiplayer (gefährliches halbwissen) ja eigentlich super auf meinen singleplayer auf. Da muss ja nur der Host später mit den anderen Geräten kommunizieren auf denen selbst eigentlich das selbe abgespielt wird wie beim singeplayer (abgesehen von ein paar wartepausen bis alle Spieler ihre runde fertig gespielt haben).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...