2 Punkte von GN⁺ 2023-12-22 | 1 Kommentare | Auf WhatsApp teilen

Moddio Game Engine 2

  • Moddio ist eine Game Engine mit Fokus auf Multiplayer.
  • Sie enthält integrierten Netzwerkcode mit Serverautorität, Snapshot-Interpolation und clientseitiger Abstimmung.
  • Unterstützt mehr als 50 gleichzeitige Spieler oder über 300 bewegliche Objekte auf einer VM für 5 Dollar im Monat.

Demo

  • Im Lieferumfang enthalten: Box2D-Physik-Engine, Netzwerkcode mit Serverautorität, Inventar- und Item-System, eingebaute Attribute (HP, Energie usw.) und Regenerationsraten, Dialogsystem, Shop, Unit-Steuerung, clientseitig vorhergesagte Projektile und Unit-Bewegung, Unit-KI und A*-Pfadfindung, mobile Steuerung usw.

So führt man das Spiel aus

  • Node 18 oder höher wird benötigt.
  • Nach dem Einrichten des Repositorys in das Verzeichnis /src wechseln, game-sample.json in game.json umbenennen, dann ins Root-Verzeichnis zurückkehren und den Server starten.
  • Das Spiel kann nun unter http://localhost:80 gespielt werden.

So erstellt man ein neues Spiel von Grund auf

  • Moddio-Spiele werden mit dem Moddio Game Editor erstellt und bearbeitet, der unter https://www.modd.io verfügbar ist.
  • Nach dem Erstellen eines Spiels kann ein game.json exportiert werden, das in einer lokalen Installation verwendet werden kann.
  • Die exportierte Spiel-JSON in game.json umbenennen und in das Verzeichnis ./src verschieben.

So kann man beitragen

  • Moddio ist unter der MIT-Lizenz vollständig kostenlos und Open Source.
  • Wer mehr darüber erfahren möchte, wie man Contributor wird, sollte die Seite zum Beitragen besuchen.

Credits

  • Verwendet werden unter anderem die Isogenic Game Engine, Phaser, PlanckJS, uWebsocket, Box2D, Kenney-Assets und Hero Icons.

Meinung von GN⁺

  • Die Moddio Game Engine ist auf die Entwicklung von Multiplayer-Spielen spezialisiert und bietet leistungsstarke Funktionen, die viele Spieler zu niedrigen Kosten unterstützen.
  • Sie ist Open Source und entwickelt sich durch Beiträge der Community kontinuierlich weiter, wodurch sie auch für angehende Software Engineers gut zugänglich ist.
  • Da viele für die Spieleentwicklung benötigte Funktionen bereits integriert sind, bietet sie Entwicklerinnen und Entwicklern eine Umgebung, in der sie schnell Prototypen erstellen und testen können.

1 Kommentare

 
GN⁺ 2023-12-22
Hacker-News-Kommentare
  • Bedenken darüber, dass die Registrierungsseite der Android-App verlangt, den Google-Benutzernamen und das Passwort an einer Stelle einzugeben, die wie ein internes Webformular der App aussieht

    • Nutzer können nicht erkennen, ob die App das Passwort mitliest
    • Frage, ob das übliche Muster, zur Login-Seite weiterzuleiten und anschließend zur App zurückzukehren, schwer umzusetzen ist oder ob es Probleme mit der plattformübergreifenden Unterstützung gibt
  • Nutzer für eine Game Engine zu gewinnen, ist nicht einfach, besonders wenn sie Closed Source ist

    • Frage, wie die Spielgalerie auf der Website so gut gepflegt wurde und ob es sich um Werke einiger Freunde oder um das Ergebnis einer aktiven Community handelt
  • Ausdruck der Überraschung darüber, dass modd.io ein populäres Framework bzw. eine Plattform zum Erstellen von IO-Spielen ist

  • Eine der sichersten Methoden, ein Spiel nicht fertigzustellen, ist, mit dem Schreiben einer Engine anzufangen

    • Eigene Technik kann zwar entwickelt werden, sie sollte aber auf das Projekt zugeschnitten sein und keine allgemeine Spieleplattform sein
  • Neugier auf die Erfahrung mit etwa 50 Spielern auf dem Brains-Server

    • Unstete Bewegungen durch WebSockets
    • Neugier auf Netzwerkkompression, insbesondere Zweifel daran, ob LZ-string-Kompression ausreicht
    • Cloud-Bandbreitenkosten können hoch sein, daher gibt es auf der Netzwerkseite viel Verbesserungspotenzial
  • Frage nach der Motivation, eine neue Engine zu entwickeln

    • Warum bestimmte Funktionen in die Engine eingebaut wurden, etwa ein Waffensystem, Shop, clientseitig vorhergesagte Projektile und Einheitenbewegung
    • Zweifel, ob solche Funktionen in eine Game Engine gehören oder ob es sich eher um eine Engine für ein bestimmtes Genre handelt
  • Vorteile des Low-Code-Ansatzes und des interaktiven Editors, die gut für Hobbyprojekte geeignet erscheinen

    • Interesse an der Karten- und Welterstellung
    • Frage, ob es der beste Weg ist, ein Spiel als JSON zu exportieren, es programmatisch zu bearbeiten und dann wieder zu importieren
    • Unsicherheit darüber, wie man JSON versteht und verändert, sowie Bitte um Vorschläge für den Ansatz
  • Hinweis, dass ein auf Node.js basierendes Multiplayer-Backend mit steigender Zahl von Verbindungen zunehmend langsamer werden kann

    • Frage, wie dieses Problem gelöst wurde und nach Alternativen wie Go
  • Ausdruck des Dankes für das Open-Source-Projekt und der Plan, sich den Code während der Feiertage zum Jahresende genauer anzusehen

  • Hinweis, dass es nützlich sein könnte, um KI-Agenten als NPCs zu erstellen, sowie Dank dafür, die Arbeit als Open Source bereitgestellt zu haben