Einführung

Einführung

Ein Überblick über MavonEngine und was es bietet.

MavonEngine ist eine TypeScript-Spieleengine, die auf Three.js und Rapier3D aufbaut. Sie wurde entwickelt, um den üblichen Boilerplate-Code bei der Einrichtung von 2D/3D-Spielen — sowohl Single-Player als auch Multiplayer — zu abstrahieren.

Das übergeordnete Ziel ist es, Logik einmal zu schreiben und sie dann auf Server und Client identisch laufen zu lassen, wobei die notwendigen Updates / Zustandssynchronisierungen bei Bedarf stattfinden.

Was es bietet

Entity-System

Eine hierarchische Entity-Architektur zur Strukturierung aller Spielobjekte.

Zustandsmaschine

Ein Pushdown-Automat-Muster zur Verwaltung komplexer Entity-Verhaltensweisen.

Netzwerk

Autoritativer Multiplayer-Server mit WebRTC und tick-basierter Zustandssynchronisierung.

Physik (Dokumentation folgt)

Rapier3D-Physik mit Character-Controller und Debug-Visualisierung.

Editor (Dokumentation folgt)

Ein vollwertiger Level-Editor für deine Kreationen.

Designphilosophie

Die Engine versucht, gängige Elemente zu abstrahieren und dabei flexibel zu bleiben. Einige Bereiche können meinungsstark sein (z.B. ist der Audio-Listener an die Kamera gebunden). Wenn du solche Stellen findest und sie weiter öffnen möchtest, sind Pull Requests willkommen. Bitte lies Mitwirken für mehr Informationen.

Kernbibliotheken

  • Three.js — Client-Rendering und Szenenverwaltung
  • Rapier3D — Server- und clientseitige Physiksimulation
  • geckos.io — UDP über WebRTC für Echtzeit-Multiplayer