Dipl. Informatiker/in HF Fachrichtung Applikation

Multiplayer Server System

Camp Fier Lobby-System

Lass uns wie in guten alten Zeiten um das digitale Lagerfeuer versammeln und Spiel und Spass haben.

31. Oktober 2023
Rico Krebs

Management Summary

Das CampFire Lobby-System soll eine Erweiterung der existierenden Multiplayer-Funktionen in Godot sein. Godot ist eine Open-Source-Gaming-Engine. Godot hat mit der v4.0 ein neues Scene-Replication-System integriert, welches das Synchronisieren von Game State vereinfacht. Und bietet mit dieser Erweiterung ein sehr umfangreiches Toolset, um einfach und schnell ein Multiplayer-Spiel umsetzen zu können. Eine Funktion fehlt allerdings nach. Ein einfacher Weg, dass sich Spieler finden können, um eine Spielsitzung zu starten. Mein Projekt, das CampFire Lobby-System, soll genau das erleichtern. Mit diesem System ist es einem Game-Developer möglich, mit geringem Aufwand ein Multiplayer-Spiel mit User-Accounts und Game-Lobby zu erstellen.

Das System besteht aus einer Server-Applikation, die in einer Docker-Umgebung eingesetzt werden soll. Damit bieten sich viele Möglichkeiten von einer einzelnen Instanz auf einem Server bis zu einem skalierbaren System umgesetzt in Kubernetes.
Auf der Game-Client-Seite besteht das System aus dem CampFireClient, einem Godot-Addon, welches den Login und die Kommunikation mit dem Server implementiert. Das Addon kommt mit einem rudimentären GUI-Beispiel, die Idee ist jedoch, dass der Entwickler das Addon-Interface benutzt, um eine eigene, auf sein Game und Artstil angepasste GUI zu implementieren.
Über das System können User dann einfach Lobbys eröffnen und beitreten. Das System ist primär für Indie-Developers angedacht, und um Kosten in Serverhosting zu sparen, ist die Ingame-Multiplayer-Kommunikation über eine Peer-to-Peer-Verbindung gelöst. Diese wird vom System automatisch aufgebaut, sobald man einer Lobby beitritt.

Ergebnisse:

  • Das CampFier Lobby-System bietet Benutzer Account.
  • Eingeloggte Benutzer können in einem öffentlichen Chat      miteinander chatten.
  • Sie können Lobbys erstellen, durch eine Liste aller verfügbaren Lobbys sehen und einer beitreten.
  • Wenn man einer Lobby beigetreten ist, wird das System eine
  • WebRTC-Verbindung zu den anderen Spielern aufbauen. An diesem Punkt hat das System eine standardmäßige WebRTCMultiplayerPeer-Verbindung aufgebaut. Das heißt, von hier aus kann man in der Entwicklung des Spiels die Standard-Multiplayer-API-Funktionen verwenden.
  • Diese Funktionen werden in Form einer Server-App und eines Godot-Add-Ons bereitgestellt.

Das Projekt ist vor allem für Indie-Entwickler gedacht. Daher wurde für die In-Game-Netzwerkkommunikation WebRTC verwendet. WebRTC ist eine Technologie, die unter anderem für Videokonferenzen oder Dateiaustausch verwendet wird. Statt dass die Daten von einem User-Client über einen Server an einen anderen User-Client gesendet werden, wird hier eine direkte Verbindung von Client zu Client aufgebaut. Dadurch werden dem Entwickler Server-Hosting-Kosten gespart.

Dieses gesamte System besteht aus einer Serveranwendung, die als Docker-Image zur Verfügung gestellt wird. Dieses Image kann auf verschiedenen Cloud-Anbietern installiert werden, entweder direkt oder mit Docker-Verwaltungstools wie Kubernetes für mehr Kontrolle und Skalierbarkeit. Auf der Clientseite gibt es ein Godot-Add-On, das die Kommunikation mit dem Server verwaltet. Mit dem Add-On kommt auch ein Beispiel-User-Interface, die Idee ist jedoch, dass man eine eigene, an sein Spiel und seinen Art-Stil angepasste Benutzeroberfläche erstellt.

Rico Krebs

Ich habe eine Lehre als Automatiker bei der Ferag gemacht. Anschliessend durfte ich weiter bei der Ferag arbeiten, in der Softwareabteilung, wo ich SPS-Steuerung für unsere Maschinen programmierte. Um meine Skills weiterzuentwickeln, habe ich mich entschieden, diese Weiterbildung zu machen. Auch in meiner Freizeit bin ich sehr an Softwareentwicklung, vor allem im Bereich Gameentwicklung, interessiert.


ricokrebs@proton.me

Weiterbildung neben Beruf und Freizeit

Gratis E-Book mit 10 Tipps zur Work-Life-Learn-Balance

Weiterbildung neben Beruf und Freizeit – schaffe ich das?

10 Tipps zur Work-Life-Learn-Balance

Eine Weiterbildung beansprucht Zeit. Deshalb auf Freunde, Familie und Hobbies zu verzichten, wäre falsch.

In diesem E-Book erfährst du:

  • wie du deine Zeit effizienter nutzt
  • wie du dich trotz Weiterbildung genügend Freizeit bewahrst
  • wie sich Beruf, Weiterbildung und Freizeit gegenseitig ergänzen statt konkurrenzieren können

Tipps aus dem Inhalt

  • TIPP 1: Gestalte deine Arbeit so flexibel wie möglich!
  • TIPP 2: Beziehe Arbeitgeber sowie Kollegen und Kolleginnen in deine Weiterbildungspläne mit ein!
  • TIPP 3: Arbeite effizienter und effektiver mit Zielorientierung!
  • TIPP 4: Entwickle deinen idealen Lernrhythmus!
  • TIPP 5: Lerne mit System und festen Strukturen!
  • TIPP 6: Schaffe genug Ausgleich und Entspannung!
  • TIPP 7: Binde deine/n Partner/in, deine Familie und externe Hilfen in deine Planung ein!
  • TIPP 8: Belohne dich für deine Erfolge!
  • TIPP 9: Mach eine Zeitinventur!
  • TIPP 10: Erstelle eine Zeitplanung aller drei Bereiche!

Leider ist ein Fehler aufgetreten. Bitte versuche es erneut oder nimm mit uns direkt Kontakt auf.

Aktuelles Studienprogramm

Alles Wissenswerte zur Weiterbildung in einem PDF zusammengefasst.

Studienprogramm  herunterladen

Alles Wissenswerte zu deiner Weiterbildung in einem PDF zusammengefasst

  • Detaillierter Lehrplan zu allen Studiengängen
  • Alle wichtigen Hintergrundinfos zu Ausbildungszielen, Teilnehmerkreisen, Aufnahmebedingungen und weiterführenden Studiengängen

Leider ist ein Fehler aufgetreten. Bitte versuche es erneut oder nimm mit uns direkt Kontakt auf.

Gratis E-Book für dich

Weiterbildung neben Beruf und Freizeit - schaffe ich das?

Eine Weiterbildung beansprucht Zeit. Deshalb auf Freunde, Familie und Hobbies zu verzichten, muss nicht sein.

Lies jetzt unser E-Book mit 10 wertvollen Tipps zur Work-Life-Learn-Balance.

Weiterbildung neben Beruf und Freizeit – schaffe ich das?

10 Tipps zur Work-Life-Learn-Balance

Eine Weiterbildung beansprucht Zeit. Deshalb auf Freunde, Familie und Hobbies zu verzichten, wäre falsch.

In diesem E-Book erfährst du:

  • wie du deine Zeit effizienter nutzt
  • wie du dich trotz Weiterbildung genügend Freizeit bewahrst
  • wie sich Beruf, Weiterbildung und Freizeit gegenseitig ergänzen statt konkurrenzieren können

Tipps aus dem Inhalt

  • TIPP 1: Gestalte deine Arbeit so flexibel wie möglich!
  • TIPP 2: Beziehe Arbeitgeber sowie Kollegen und Kolleginnen in deine Weiterbildungspläne mit ein!
  • TIPP 3: Arbeite effizienter und effektiver mit Zielorientierung!
  • TIPP 4: Entwickle deinen idealen Lernrhythmus!
  • TIPP 5: Lerne mit System und festen Strukturen!
  • TIPP 6: Schaffe genug Ausgleich und Entspannung!
  • TIPP 7: Binde deine/n Partner/in, deine Familie und externe Hilfen in deine Planung ein!
  • TIPP 8: Belohne dich für deine Erfolge!
  • TIPP 9: Mach eine Zeitinventur!
  • TIPP 10: Erstelle eine Zeitplanung aller drei Bereiche!

Leider ist ein Fehler aufgetreten. Bitte versuche es erneut oder nimm mit uns direkt Kontakt auf.