Multiplayer 3D Game Engine

mavon-engine

(Demnächst verfügbar)

Entwickeln Sie Multiplayer-3D-Spiele für den Browser mit einer einheitlichen Server-Client-Architektur, integrierter Physik und Echtzeit-Netzwerk.

mavon-engine ist eine Full-Stack-Game-Engine für die Entwicklung von Multiplayer-3D-Browserspielen. Im Gegensatz zu fragmentierten Lösungen, die das Zusammensetzen mehrerer Bibliotheken erfordern, bietet mavon-engine alles in einem kohärenten Paket: serverseitige Spiellogik, clientseitiges Rendering, Physiksimulation, Echtzeit-Netzwerk und erweiterte Debugging-Tools.

Hauptfunktionen

Full-Stack Multiplayer-Architektur

Eine einheitliche Server- und Client-Implementierung mit gemeinsamer Entity-Hierarchie. Die BaseGame-Klasse übernimmt die serverseitige Logik headless, während die Game-Klasse sie um vollständiges 3D-Rendering, Audio und Eingabeverarbeitung erweitert.

  • Gemeinsames Entity-System - Einmal schreiben, auf Server und Client ausführen
  • Automatische Statussynchronisation mit Bandbreitenoptimierung
  • Distanzbasiertes Culling für Entity-Sichtbarkeit
  • Hash-basierte Änderungserkennung zur Minimierung des Netzwerkverkehrs

Integrierte 3D-Physik mit Rapier

Rapier 3D vollständig integriert und vorkonfiguriert für Spieleentwicklung mit synchronisierter Simulation über Server und Client.

  • Kinematischer Character Controller mit Hangklettern und Rutschen
  • Konfigurierbare Physikparameter (45° Steigung, 30° Auto-Rutsch)
  • Vollständiges Body- & Collider-Management
  • Echtzeit-Physik-Debug-Visualisierung

Fortschrittliches 3D-Rendering mit Three.js

Basierend auf Three.js mit beeindruckender Grafik, entwicklerfreundlichen APIs und hardwarebeschleunigter Grafik.

  • Benutzerdefinierte GLSL-Shader-Unterstützung
  • Debug-Rendering-Modi (Wireframe, Armatur, Physik-Overlays)

Echtzeit-Multiplayer-Netzwerk

Netzwerk basierend auf geckos.io mit WebRTC-basierter Low-Latency-Kommunikation.

  • WebRTC-basierte Kommunikation für Echtzeit-Datenkanäle
  • Bandbreitenverfolgung & Überwachung
  • Command-Buffering & Verarbeitung über Netzwerklatenz
  • Server-Health-Monitoring mit integrierten HTTP-Endpunkten

Skelett-Animationssystem

Erwecken Sie Ihre Charaktere mit flüssigen, professionellen Animationen und nahtlosem State-Management zum Leben.

  • Animations-State-Management mit logischer Organisation
  • Sanfte Überblendungen mit konfigurierbarer Dauer
  • GLTF-Modell-Unterstützung mit Draco-Komprimierung
  • Effizientes Skeleton-Cloning für instanzierte Modelle

Partikeleffekt-Framework

Erstellen Sie immersive Umgebungen mit einem modularen, performanceoptimierten Partikelsystem.

  • Integrierte Effekte - Regen und Rauch sofort einsatzbereit
  • Benutzerdefinierte Shader-Unterstützung für einzigartige Partikelvisualisierungen

Architektur, die skaliert

Entity Component System

Eine zustandsbasierte Entity-Architektur, die komplexe Spiellogik handhabbar macht:

GameObject (base entity)
├── Actor (+ state management)
│   ├── Entity3D (+ 3D rendering, animation)
│   └── LivingActor (+ health system)
└── NetworkedGameObject (+ synchronization)
    └── NetworkedActor (+ networked state)

EntityState Pattern

Organisieren Sie komplexe Verhaltensweisen mit einem leistungsstarken State-Machine-System:

  • Stack-basiertes State-Management für verschachtelte Verhaltensweisen
  • Lifecycle Hooks - enter(), leave(), suspend()
  • Automatische Animations-Integration
  • Netzwerksynchronisation über Clients

World Streaming

Verwalten Sie große Spielwelten mit chunk-basiertem Streaming:

  • BaseChunkManager für räumliche Partitionierung
  • Weltsektionen dynamisch laden/entladen
  • Distanzbasiertes Laden für nahegelegene Chunks
  • Automatische Ressourcenbereinigung für entfernte Bereiche

Server-Client-Kommunikation

Optimierter Datenfluss für reaktionsschnelles Multiplayer:

Spielereingabe → Client-Commands → Server-Verarbeitung → Physik-Schritt → Status-Sync → Vernetzte Clients → Client-Rendering

  • Einstellbare Server-Tick-Rate

Mit modernen Technologien gebaut

Kern-Stack

TypeScript 5.9+ Typsichere Entwicklung
Three.js 0.176+ 3D-Grafik-Rendering
Rapier 3D 0.18+ Physiksimulation
geckos.io 3.0+ WebRTC-Netzwerk
Express.js 5.1+ HTTP-Server-Backend

Entwicklungswerkzeuge

  • Vitest - Unit-Testing-Framework
  • Vite - Build-Tool und Dev-Server
  • vite-plugin-glsl - GLSL-Shader-Laden
  • Tweakpane - Runtime-Debugging-UI
  • three-perf - Performance-Monitoring

Anwendungsfälle (WIP)

Action-RPGs

Entwickeln Sie charaktergetriebene Spiele mit dem State-Machine-System für komplexe Verhaltensweisen, Skelettanimation für flüssigen Kampf und Gesundheits-/Schadenssysteme.

PvP-Kampfspiele

Echtzeit-Netzwerk, Physiksynchronisation und Bandbreitenoptimierung für kompetitives Multiplayer, bei dem jede Millisekunde zählt.

Open World Multiplayer

Chunk-basiertes Streaming und distanzbasiertes Culling für weitläufige Spielwelten ohne Ressourcenüberlastung.

Physikbasierte Spiele

Integrierte Rapier-Physik mit Character Controllern, Impulsanwendung und synchronisierter Simulation über Clients.

Warum @mattvb91/mavon-engine wählen?

Komplettlösung
Rendering, Physik, Netzwerk, Entity-Management, Asset-Loading, Animation, Partikel und Debugging-Tools in einem kohärenten Paket.
Server + Client Einheit
Schreiben Sie Spiellogik einmal und sie funktioniert auf Server und Client. Keine separaten Codebasen mehr pflegen.
Netzwerk
Distanzbasiertes Culling, hash-basierte Änderungserkennung, Bandbreitenüberwachung und automatische Statussynchronisation integriert.
Entwicklererfahrung
Tweakpane-Integration, Debug-Visualisierung, Performance-Monitoring und umfassende TypeScript-Typen.
Erweiterbare Architektur
Abstrakte Basisklassen ermöglichen die Anpassung von Servern, Entities und Spiellogik. Nutzen Sie bereitgestellte Implementierungen oder erweitern Sie nach Bedarf.

Erste Schritte

Installation

Demnächst verfügbar

Grundeinrichtung

Demnächst verfügbar

Multiplayer-3D-Spiele schneller entwickeln

Server + Client + Physik + Netzwerk + Rendering + Animation + Partikel + Debugging

Alles in einem Paket. Alles zusammenarbeitend. Alles TypeScript.