

In unserem On-Demand-Webinar erläutert Principal Partner Engineer Aaron Moon, wie Sie die Einführung von Multiplayer-Spielen meistern können - von der Serverarchitektur bis zu Skalierungstests.
Oder lesen Sie weiter unten und erfahren Sie mehr:

Der Schlüssel zum Entwurf einer Spielarchitektur ist die Berücksichtigung der Effizienz von Anfang an. Eine zu frühe Fokussierung auf Metriken, Logging, Telemetrie und Monetarisierung kann zu einer übermäßigen Aufblähung der Spielarchitektur führen. All dies zur Laufzeit in Ihren Spieleserver zu packen, kann die Investitionsrendite (ROI) verringern und die Gesamtbetriebskosten erhöhen.
Beginnen Sie stattdessen so früh wie möglich mit einem Minimum Viable Product (MVP). Bringen Sie den Server zum Laufen, den Client zum Laufen, Ihren Netcode und Ihr Matchmaker-System zum Laufen und bauen Sie dann von dort aus weiter. Sie sollten auch in Betracht ziehen, sich frühzeitig an Ihren Hosting-Provider zu binden - er kann vorgefertigte Lösungen und Infrastrukturen anbieten, die Ihnen Entwicklungszeit sparen.

Wenn es um Ihr Spieldesign geht, wie sieht einfach aus? Die obige Abbildung zeigt ein komplexes Design mit nicht nur einer Spielserverinstanz, sondern vielen zusätzlichen Prozessen auf demselben Rechner, darunter Matchmaker, Protokollierung und ausführbare Metrikdateien.
Diese Komplexität wird nicht notwendigerweise deutlich, bis man mit dem Testen von Skaleneffekten beginnt. Dann wird man feststellen, dass diese Dinge nicht gut zusammen funktionieren, wenn es Tausende von Spielern gibt. Außerdem verfügen Zusatzdienste möglicherweise nicht über ein Ressourcen-Fencing, so dass sie anfangen können, Ressourcen auf dem Rechner zu kannibalisieren und die Leistung des Players zu beeinträchtigen. Ein einfaches Vorgehen kann dazu beitragen, diese Probleme zu entschärfen.

In Bezug auf das Design von Spieleservern ist es einfach, Dinge in eine einzige Serverinstanz zu packen, wie eine einzige ausführbare Datei und einen robusten Matchmaker (der vielleicht eher auf einem Backend-Dienst als auf einer Maschine gehostet wird). Wenn einer der Spieleserver ausfällt, werden die anderen Spieler nicht mitgerissen und das betroffene Gebiet bleibt klein. Wenn ein Spielserver mit diesem Design ausfällt, hat das keine Auswirkungen auf die Spielerfahrung.

Um das Kostenrisiko zu minimieren, sollten Sie Hilfsprozesse wie Debugging, Watchers und Matchmaking nicht auf demselben Rechner ablaufen lassen. Wenn ein Spieleserver ausfällt und Sie über Cloud-Maschinen verfügen, auf die er skaliert wird, bleiben die Nebenprozesse "im Dunkeln". Sie verbrauchen weiterhin Ressourcen, was Ihr Studio Geld kostet, und Sie haben keine Möglichkeit, sie abzuschalten.
Ziehen Sie stattdessen in Erwägung, die Nebenprozesse wie Matchmaking und Debugging zu Unterprozessen des Spieleservers zu machen - halten Sie es einfach. Wenn Sie dann den Spieleserver verlieren, werden die Unterprozesse mitgenommen, anstatt sie im Hintergrund weiterlaufen zu lassen. In diesem Fall können Sie, wenn der Server nicht mehr funktioniert, einen neuen Server aufsetzen, ohne die zusätzlichen Ressourcen und Kosten, die mit "zombied" Prozessen verbunden sind.
Es ist eine gute Idee, sich zu überlegen, wie Ihre Spielschleife mit der Infrastruktur interagiert und wie die Infrastruktur Ihr Spiel unterstützt. Wenn Ihr Spiel zum Beispiel Lobbys und Spielleiter hat, sollte es einen Grund geben, in und aus den Lobbys und Sitzungen dieser Lobbys zu spielen.
Denken Sie darüber nach, welche Art von Session-Design Sie haben - bauen Sie ein persistentes Spiel wie ein MMO oder ein Spiel mit kurzen Sessions, bei dem die Laufzeiten jedes Mal neu gestartet werden? Jeder Entwurf einer Spielschleife kann Risiken und Vorteile mit sich bringen. Im Folgenden finden Sie einige wichtige Überlegungen zur Gestaltung von kurzen, langen und anhaltenden Spielsitzungen.
Bei Multiplayer-Spielen mit langen Sitzungen kann es zu Problemen wie Speicherlecks, ausufernder RAM-Nutzung usw. kommen, die möglicherweise erst dann auftreten, wenn Sie Ihr Spiel in großem Umfang ausführen.
Hier sind einige Risiken, die mit lang andauernden Spielsitzungen verbunden sind:
Bei kurzen Spielsitzungen gibt es immer noch Risiken und Überlegungen zur Spielerfahrung. Selbst wenn Ihr Spiel mit zwei Spielern nur zwei Minuten dauert, kann es kostspielig und risikoreich sein, Hunderttausende (oder mehr) von gleichzeitigen Spielen zu ermöglichen.
Hier sind einige Überlegungen für kurze Spielsitzungen:
Hier sind die Vor- und Nachteile von Spielen mit kurzen Sitzungen:.
Vorteile:
Nachteile:
Bei persistenten Multiplayer-Spielen (wie MMOs) können bestimmte Probleme und Risiken auftreten. Die Unterstützung von Situationen wie der Migration von Spielern zwischen Servern bedeutet beispielsweise, dass Sie ein robusteres Backend-System benötigen - einschließlich kostspieliger Server und leistungsstarker Festplatten.
Hier sind einige Überlegungen für die Gestaltung dauerhafter Spielsitzungen:
Hier sind die Vor- und Nachteile von Spielen, die auf dauerhaften Sitzungen basieren:
Vorteile:
Nachteile:
Es ist eine gute Idee, sich auf potenzielle Probleme bei der Spielerfahrung in großem Umfang vorzubereiten. Das Starten, Ausführen und Aktualisieren eines Multiplayerspiels kann chaotisch sein. Daher ist es wichtig, situationsbedingte Tests für die "Chaos-Resilienz" durchzuführen und sicherzustellen, dass das Backend Ihres Spiels für die Bewältigung dieses Chaos eingerichtet ist.
Was passiert zum Beispiel, wenn alle Spieler aus dem Spiel aussteigen und gleichzeitig versuchen, wieder in die Spielersuche einzusteigen? Wenn Sie herausfinden, wie das Backend auf diese Situation reagiert, und es so einrichten, dass es mit diesem Problem umgehen kann, können Sie sich langfristig Kopfschmerzen ersparen (und Ihren Ruf schützen).

Es ist wahrscheinlich, dass Sie Ihr Spiel während der Markteinführung patchen müssen. Deshalb ist es wichtig, dass Sie Ihre Infrastruktur so aufbauen, dass Patches während der Produktion und der Einführung möglich sind. Dies kann dazu beitragen, das Chaos am Tag der Markteinführung und die fälligen Patches schneller und reibungsloser zu gestalten, und die Auswirkungen auf die Spieler können begrenzt werden.
Eine Möglichkeit, dies zu erreichen, besteht darin, mehrere Versionen Ihres Spiels gleichzeitig laufen zu lassen. Allerdings müssen Sie auch dafür sorgen, dass Ihre Infrastruktur mehrere Versionen verarbeiten kann. Außerdem benötigen Sie eine Sandbox mit allen verschiedenen Versionen.
Wenn Sie bereits die Möglichkeit eingebaut haben, mehrere Versionen gleichzeitig laufen zu lassen, gibt es keine Ausfallzeiten oder Unterbrechungen für die Spieler, wenn Sie patchen.
Häufige Skalentests sind von entscheidender Bedeutung, daher sollte die Suche nach einem Anbieter, der Ihnen dabei helfen kann, ein wichtiges Kriterium bei der Auswahl Ihrer Dienste sein.
Ein wichtiger Punkt beim Skalierungstest ist die Tesselierung und Defragmentierung des Servers. Die Tesselierung des Servers ist ein wichtiger Kostenfaktor. Im Wesentlichen wollen Sie zunächst preiswerte Metallgeräte für das Hosting verwenden. Da Ihre Spielerbasis schwankt, sollten Sie auch teurere Cloud-Maschinen schnell entfernen, was kostengünstiger ist.
Game Server Hosting (Multiplay) vermeidet die Zuteilung zu kostspieligeren Rechnern, was es uns ermöglicht, diese schneller zu entfernen, wenn die Anzahl der Spieler zurückgeht.
Ob unser System dazu in der Lage ist, hängt von der Lebensdauer Ihres Spiels ab. Kürzere Spielzeiten ermöglichen es uns, Zuweisungen auf teuren Maschinen schneller zu beenden. Längere Spiele bedeuten, dass wir die Maschinen nicht abschalten können, bis das Spiel zu Ende ist.

Sind Sie bereit, Ihr nächstes Multiplayer-Spiel zu entwickeln? Hier finden Sie einige Ressourcen für den Anfang - erfahren Sie mehr über die Skalierung mit Game Server Hosting, sehen Sie sich unser On-Demand-Webinar über Game Server Hosting und Matchmaker an und erkunden Sie die Multiplayer-Lösungen, die wir unten anbieten.