Kurmuro Geschrieben 25. August 2020 Melden Share Geschrieben 25. August 2020 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: 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 More sharing options...
F1R3ON Geschrieben 25. August 2020 Melden Share Geschrieben 25. August 2020 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 More sharing options...
Kurmuro Geschrieben 25. August 2020 Autor Melden Share Geschrieben 25. August 2020 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 More sharing options...
Peanut Geschrieben 29. August 2020 Melden Share Geschrieben 29. August 2020 Na du gibst doch bestimmt an wieviele Spieler am Anfang mitpielen. Also machst du eine Klasse Spieler mit den Attributen die du brauchst und erstellst für jeden Spieler ein Objekt dieser Klasse. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kurmuro Geschrieben 29. August 2020 Autor Melden Share Geschrieben 29. August 2020 So habe ich es mittlerweile auch gelöst. Ich hatte mir vorher möglichkeiten zum online multiplayer angeschaut. Warscheinlich war ich zu eingenommen davon um auf diese simple lösung zu kommen 😅 Danke euch 👍 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.