Splashy Geschrieben 8. Oktober 2021 Melden Share Geschrieben 8. Oktober 2021 Hallo Leute Ich kenne mich mit Multiplayer-Spielen noch gar nicht aus, daher auch meine Frage... Ich bin an der Konzipierung eines Spiels, das als Multiplayer auf Steam laufen soll. Ich habe auch schon einige Prototypen gebaut. Singleplayer passt vieles schon recht gut. Mir ist jedoch jetzt nicht klar, wie ich die Spieler-Objekte spawnen und bewegen kann als Multiplayer. Steamworks macht ja nur die Lobby-Verbindung. Das von unity (https://docs-multiplayer.unity3d.com/docs/tutorials/helloworld/helloworldintro/index.html) gelieferte Multiplayer-Framwork hat einen Networkmanager, wo man bequem auch die Spawing-Objekte reinhauen kann. Das geht bei Steamworks nicht so einfach... Glaube ich 😆. Ich habe auch schon die Steamworks Verbindung mit Lobby etc. parat. Auch das geht schon recht gut. Brauche ich Steamworks lediglich um die Spieler zu "sammeln" und den Multiplayer von Unity für Spawing etc.? Hat hier jemand Erfahrung damit und kennt vielleicht ein gutes Tutorial oder hat sogar Beispiel-Code, den ich mal anschauen könnte? Es wäre super, wenn mir jemand hier helfen könnte! Vielen Dank im Voraus! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Elharter Geschrieben 18. November 2021 Melden Share Geschrieben 18. November 2021 Hallo Splashy, also Steamworks als Network-API zu verwenden habe ich noch nie gehört. Wie kommst du zu dieser Entscheidung? Ja, also ich würde PhotonPUN2 für einfache Dinge, oder Mirror für komplexere Anwendungen verwenden. Es gibt natürlich eine Vielzahl mehr. Ich habe mein Spiel (GeneRacing) auf PUN2 mit Steamworks und migriere gerade auf Mirror, weil mir die Möglichkeiten bei PUN2 ausgegangen sind. lg Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 19. November 2021 Melden Share Geschrieben 19. November 2021 vor 11 Stunden schrieb Elharter: also Steamworks als Network-API zu verwenden habe ich noch nie gehört. Naja, wie @Splashy bereits schireb... Am 8.10.2021 um 16:26 schrieb Splashy: Steamworks macht ja nur die Lobby-Verbindung. Das ist halt keine Netzwerk-API, sondern einfach nur ein Lobby-Server, wo die "eigentlichen" Server sich anmelden können, sodass man das Steam-Overlay oder z.B. das Freunde-Fenster nutzen kann, um anderen Leuten darüber beizutreten. Das ist auch alles recht offen gemacht. In Monter Hunter World bewirkt die "Join"-Option von Steam einfach nur, dass das Spiel von Steam eine Session-ID gesagt bekommt. Im Hauptmenü erscheint dann eine neue Option, dieser Session beizutreten. Mehr passiert da nicht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 21. November 2021 Melden Share Geschrieben 21. November 2021 @Sascha @Elharter Das stimmt nicht ganz. Steamworks Network API kann tatsächlich Server erstellen und Kommunikation zwischen Clients austauschen. Ist sogar Open Source https://github.com/ValveSoftware/GameNetworkingSocketshttps://partner.steamgames.com/doc/features/multiplayer/networking Mirror Community z.B. benutzen das sogar als Transport statt Mirror's interne Transport-Layer. Da ich nur Facepunch Steamworks bissel kenne hier sieht man auch den Code:https://github.com/Facepunch/Facepunch.Steamworks/blob/master/Facepunch.Steamworks/SteamServer.cs Ich glaube, aber bin mir nicht sicher, dass auch Stellaris so ihre Games Hosten, denn dort steht auch als Info "SteamServer ID xyz". Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 21. November 2021 Melden Share Geschrieben 21. November 2021 Aber das ist doch nicht Steamworks, oder? Ich meine, dass Valve ne komplette Netzwerkbibliothek gebaut hat, ist ja klar, aber das macht sie doch nicht gleich zum Teil von Steamworks? 🤔 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 5. Dezember 2021 Melden Share Geschrieben 5. Dezember 2021 Am 21.11.2021 um 14:09 schrieb Sascha: Aber das ist doch nicht Steamworks, oder? Ich meine, dass Valve ne komplette Netzwerkbibliothek gebaut hat, ist ja klar, aber das macht sie doch nicht gleich zum Teil von Steamworks? 🤔 Steamworks ist von Valve. Ich habe doch die Dokumentation zu Steamworks angegeben. Die Informationen die ich habe sind aus dem Steamworks Doc. Das Beispiel Spiel von Steamworks hat sogar auch ein Multiplayer, wo du das testen kannst. https://partner.steamgames.com/doc/sdk/api/example Zitat Netzwerk-API: Wenn Sie ein Onlinespiel erstellen, empfiehlt sich die Nutzung einer integrierten Netzwerk-APIs von Steam. Sie finden Beispiele für deren serverseitige Verwendung in Spielservern über ISteamNetworking -API-Aufrufe mit dem SteamGameServerNetworking()-Akzessor und Rückrufe in SpaceWarServer.cpp. Sehe nicht, dass ich was übersehe, dass es vllt doch nicht dazu gehören könnte oder gar nicht sowas existiert, hehe. Beim Facepunch war das sogar der falsche Link. Muss man unter SteamNetworking, SteamNetworkingSockets schauen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 5. Dezember 2021 Melden Share Geschrieben 5. Dezember 2021 vor 47 Minuten schrieb MaZy: Steamworks ist von Valve. Ja ach ne, das ist mir schon klar. vor 47 Minuten schrieb MaZy: Ich habe doch die Dokumentation zu Steamworks angegeben. Ich hatte mir die ersten zwei Seiten angesehen und da nirgendwo nirgendwo den Begriff "Steamworks" gesehen. Nicht alles, was Valve macht, ist automatisch Steamworks. Sonst könntest du auch sagen dass SteamOS in Steamworks enthalten ist, weil's auch von Valve ist. Jetzt hab ich nochmal in den Facepunch-Code reingeschaut und da sieht es schon eher danach aus. Außerdem ist hier gaaanz unten kurz "Spieleserver" gelistet. Scheint also doch irgendwie mit drin zu sein. Es geht mir hier aber gar nicht darum, auf Krampf klugzuscheißen, auch wenn das vielleicht so aussieht. Meine ursprünglichen Annahme war, dass Steamworks keine Multiplayer-Bibliothek, sondern eben nur Master Server und sowas bereit stellt. Und auf derselben Annahme hatte @Splashy initiale Entscheidungen getroffen. Darum meine Antwort @Elharter, damit hier nicht erstmal ellenlang aneinander vorbei geredet wird. Da @Splashy aber sowieso nicht mehr antwortet, was soll's. Wieder was gelernt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 5. Dezember 2021 Melden Share Geschrieben 5. Dezember 2021 @Sascha Ich dachte erst du hast geschrieben, dass es nicht von Steamworks sei. Mir ging auch nicht um Klugscheißen oder sonst was, aber dennoch war ich nur verwirrt, warum du meintest, dass es nicht dazu gehören muss. Ich habe nur darauf hinweisen wollen, so wie ich das kenne, dass Steamworks sowas anbietet und hab dazu die Links angegeben wo man unteranderem ISteamNetworkingSockets sieht. Das ist auf jeden Fall unter Steamworks-API-Referenz zu finden. Also Steamworks ist für mich dennoch sehr verwirrt. Da gibt es sehr viele verschiedene Arten. Manchmal blick ich nicht durch, ob es nun Spielserver in Sinne von Liste gemeint ist, oder tatsächlich ein Spielserver. Hier wird das etwas erklärt: https://partner.steamgames.com/doc/features/multiplayer Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 5. Dezember 2021 Melden Share Geschrieben 5. Dezember 2021 So nach dem Durchlesen hab ich auch das Gefühl, dass Valve einfach alles in den "Steamworks"-Eimer reinwirft, was irgendwie gerade liegen bleibt Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Splashy Geschrieben 6. April 2022 Autor Melden Share Geschrieben 6. April 2022 Hallo Leute Ich habe das Ganze mal durchgespielt und es funktioniert relativ einfach wenn Du Unity und Steam als Ziel hast: 1.) Als erstes Mirror über den Package Manager in Unity laden 2.) Dann Fizzy Steamworks 4.4.1 als Unity Package importieren: Die Version 5.0.1 hat noch Fehler! Somit hast Du alle Komponenten für ein Multiplayer Game mit Unity und Steam. Greez Splashy PS: Sorry dass ich erst jetzt Antworte! Hab keine Benachrichtigung erhalten... Hab jetzt grad meine Einstellungen angepasst. 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.