Aus den vorangegangenen Beiträgen (Teil 1 | Teil 2) wird klar, Multiplayer ist keine reine Hardware- oder Software-Angelegenheit, sondern eine enge Verknüpfung von beidem. Das spiegelt sich auch in den zur Verfügung stehenden Multiplayer-Lösungen wider. Ein Multiplayer-SDK wird immer zusammen mit einem dafür zugeschnittenen Hosting angeboten. Darum möchte ich in diesem Beitrag zum einen auf die zur Verfügung stehenden Optionen eingehen und darüber hinaus einen Fragenkatalog zur Verfügung stellen, der Entwickler:innen dabei helfen kann, sich über die Anforderungen der eigenen Multiuser-Anwendung bewusst zu werden.
Der Hintergrund dieser Artikel-Reihe sind zwar Industrie-Anwendungsfälle wie XR-Anwendungen rund um das Thema Schulungs- und Trainings-Software, doch Antworten auf die Fragen lassen sich vor allem in der Videospiel-Entwicklung finden, welche sich schon seit Jahrzehnten mit dem Thema Multiplayer auseinandersetzt. Aus diesem Grund werden in den Beiträgen Begriffe wie Multiplayer, Game-State, Gameplay oder auch Matchmaking verwendet, um die Vorgänge zu erklären. Das soll die Anwendungsfälle nicht auf Videospiele beschränken, sondern nur vermitteln, mit welcher Terminologie sich Lösungen im Internet finden lassen.
Software- und Hosting-Angebote erleichtern Entwickler:innen die Arbeit, indem sie einen modularen Ansatz verfolgen. Auch zu späteren Zeitpunkten können neue Features wie Freundeslisten, Highscore-Datenbanken, Anti-Cheat-Maßnahmen, etc. ohne großen Aufwand hinzugefügt und wieder entfernt werden. Diese Möglichkeit unterstützt eine iterative Arbeitsweise, ohne ein zu großes Risiko einzugehen. Das Angebot der Lösungen unterscheidet sich vor allem in folgenden Punkten:
Diese folgenden Anbieter bieten eine breite Palette von Funktionen und Tools, die speziell auf die Entwicklung und den Betrieb von Multiplayer-Spielen ausgerichtet sind. Mit unseren Anwendungsfällen (Schulungen und Trainings) verfolgen wir zwar keinen rein spielerischen Ansatz, doch die Anforderungen sind meist dieselben. Die Wahl des richtigen Anbieters hängt stark von den spezifischen Anforderungen und dem Budget des Entwicklungsprojekts ab.
Folgende Anbieter stehen zur Auswahl:
Die Entwicklung einer Multiplayer-Anwendung ist eine komplexe Aufgabe, die sorgfältige Planung und strategische Entscheidungen erfordert. Bevor man mit der eigentlichen Implementierung beginnt, sollten Entwickler:innen eine Reihe von Fragen beantworten, die entscheidend für den Erfolg des Projekts sind. Diese Fragen beeinflussen sowohl die Wahl des Hostings als auch die Softwarelösungen für Multiplayer-Features.
Welche Art von Multiplayer-Erfahrung soll angeboten werden?
Wie viele Benutzer sollen gleichzeitig unterstützt werden?
Welche Plattformen werden unterstützt?
Wie wird das Matchmaking organisiert?
Welche Sicherheitsmaßnahmen sind notwendig?
Welche Art von Kommunikation und sozialen Features sind geplant?
Die Entwicklung von Multiplayer- oder Multiuser-Anwendungen stellt eine komplexe und faszinierende Herausforderung dar, insbesondere im Kontext von XR-Anwendungen. Die Artikelreihe beleuchtet umfassend die vielfältigen Aspekte, die Entwickler:innen berücksichtigen müssen, um eine erfolgreiche Multiplayer-Erfahrung zu schaffen.
Multiplayer bedeutet im Wesentlichen die Synchronisierung eines gemeinsamen Spielzustands über ein Netzwerk, wobei nur die Objekte, die das Gameplay beeinflussen, kontinuierlich synchronisiert werden müssen. Diese sorgfältige Auswahl hilft, die Datenmenge zu minimieren und die Netzwerkleistung zu optimieren.
Die Implementierung von Multiplayer-Features erfordert eine frühzeitige Festlegung auf bestimmte Rahmenbedingungen, da spätere Änderungen zeitaufwändig und kostspielig sein können. Der Entwicklungsprozess wird durch die Notwendigkeit der Synchronisierung und der Sicherstellung einer niedrigen Latenz verlangsamt und eingeschränkt. Dennoch gibt es zahlreiche Werkzeuge und SDKs, die den Entwicklungsprozess unterstützen und erleichtern können.
Ein weiterer wichtiger Aspekt ist die Autorität über den Spielzustand. Standardmäßig verfolgen viele Multiplayer-SDKs einen serverbasierten Ansatz, um Cheating zu verhindern und eine zuverlässige Synchronisierung zu gewährleisten. Dies führt jedoch zu Latenzproblemen, die durch Techniken wie Client-Side-Prediction gemindert werden können.
Die Wahl der Netzwerk-Topologie und der entsprechenden Softwarelösungen hängt stark von den spezifischen Anforderungen der Anwendung ab. Von Peer-to-Peer-Netzwerken bis hin zu dedizierten Servern bieten verschiedene Ansätze unterschiedliche Vor- und Nachteile bezüglich Kosten, Skalierbarkeit, Sicherheit und Fairness.
Abschließend lässt sich sagen, dass die Integration von Multiplayer-Features eine sorgfältige Planung und strategische Entscheidungen erfordert. Die Verfügbarkeit einer breiten Palette von SDKs und Hosting-Lösungen ermöglicht es Entwickler:innen maßgeschneiderte Lösungen für ihre spezifischen Anforderungen zu finden und somit die bestmögliche Multiplayer-Erfahrung zu schaffen.
Philip Ewert - ist Fullstack-Webentwickler bei iteratec und fördert zudem die Themen 3D-Entwicklung und Grafikprogrammierung im Web.
Mehr zu den Möglichkeiten von XR-Anwendungen für Ihr Unternehmen finden Sie auf unserer Webseite. Sprechen Sie uns auch gerne an.