Pentaquin
  • Das Spiel
    • Pentaquin „Deeds of Twilight“
    • Das Pentaquin-Universum
    • Die Geschichte
  • Das Projekt
    • Über unser Projekt
    • Das Team
    • Unterstützen
    • Fan-Shop
    • Entwicklerblog
    • Newsletter
    • Projektleitung
    • Administration
    • Content
    • Programmierung
    • Sound
    • Grafik
    • FAQ
  • Mach‘ mit!
    • Bewerbung zum 2D Game-Artist (w/m/d)
    • Bewerbung zum 2D Level-Designer (w/m/d)
    • Bewerbung zum 2D Game-Animator (w/m/d)
    • Bewerbung zum Unity-Programmierer (w/m/d)
  • Impressum
  • Datenschutz
  • Das Spiel
    • Pentaquin „Deeds of Twilight“
    • Das Pentaquin-Universum
    • Die Geschichte
  • Das Projekt
    • Über unser Projekt
    • Das Team
    • Unterstützen
    • Fan-Shop
    • Entwicklerblog
    • Newsletter
    • Projektleitung
    • Administration
    • Content
    • Programmierung
    • Sound
    • Grafik
    • FAQ
  • Mach‘ mit!
    • Bewerbung zum 2D Game-Artist (w/m/d)
    • Bewerbung zum 2D Level-Designer (w/m/d)
    • Bewerbung zum 2D Game-Animator (w/m/d)
    • Bewerbung zum Unity-Programmierer (w/m/d)
  • Impressum
  • Datenschutz
Pentaquin
  • Das Spiel
    • Pentaquin „Deeds of Twilight“
    • Das Pentaquin-Universum
    • Die Geschichte
  • Das Projekt
    • Über unser Projekt
    • Das Team
    • Unterstützen
    • Fan-Shop
    • Entwicklerblog
    • Newsletter
    • Projektleitung
    • Administration
    • Content
    • Programmierung
    • Sound
    • Grafik
    • FAQ
  • Mach‘ mit!
    • Bewerbung zum 2D Game-Artist (w/m/d)
    • Bewerbung zum 2D Level-Designer (w/m/d)
    • Bewerbung zum 2D Game-Animator (w/m/d)
    • Bewerbung zum Unity-Programmierer (w/m/d)
  • Impressum
  • Datenschutz

Unter der Haube – MMORPG Programmierung

Startseite » Das Projekt » Unter der Haube – MMORPG Programmierung

Die Java Programmierung unseres MMORPG im Fokus

Achtung: Archivierter Beitrag

Lieber Leser, lieber Pentaquin-Follower, dieser Artikel bezieht sich auf das ursprünglich geplante Pentaquin-MMORPG, dessen Entwicklung wir auf Eis gelegt haben. Die Inhalte können dementsprechend nicht mehr aktuell sein.

Weitere Infos zu diesem Kurswechsel gibt's hier | Zum Nachfolgerprojekt

Alles rund um die MMORPG Programmierung von Pentaquin und was bei der Spielentwicklung unter der Haube passiert.

Hier erfahrt ihr mehr über die technischen Details der MMORPG Programmierung. Das Online-Rollenspiel wird in der Programmiersprache Java entwickelt. Unsere bereits weit entwickelte, eigens für Pentaquin ins Leben gerufene Engine PentaCore basiert auf LibGDX und LWJGL, ist dementsprechend leistungsstark und unterstützt OpenGL-Grafik. 

Game Client Programmierung

Der Spiel Client basiert auf unserer PentaCore Engine und der Network Engine, die extra für das Spiel Pentaquin entwickelt wurden.

Hier kommt alles zusammen, was das Spiel betrifft - Gameplay Mechaniken, Story, Spielwelt, Charakter Design, Grafiken, Sounds usw.

Sobald der Client weiter fortgeschritten ist, werden hier hier weitere Features präsentieren können.

Eigenes Map Format und Map Synchronisierung

Zur Erstellung unserer Maps benutzen wir den kostenlosen Map Editor Tiled, welches wir zusammen mit einem selbst geschriebenem Plugin verwenden, um unser Haus eigenes PQM Map Format zu exportieren.

Dieses Format ist speziell an unser Entity-Component-System und unsere Bedürfnisse angepasst, wird auf dem Server gespeichert und dann mit dem Client synchronisiert.

Dynamische Kommunikation
MMORPG Programmierung Server Backends

Server Backends

Eines der wohl größten Herausforderungen eines 2D Massively Multiplayer Online Role-Playing Games (kurz MMORPGs) stellt die Server Backend Architektur dar.
Die MMORPG Programmierung stellt hierbei besonders viele Anforderungen:

  • viele Spieler auf einer Spiel Welt --> möglichst horizontale Skalierung der Server
  • gemeinsame Kämpfe
  • möglichst geringe Latenz
  • möglichst keine Lade- / Wartezeiten
  • flüssiger Ablauf des Spiels
  • rolling updates (Entwickler können im Hintergrund ihre Server updaten, ohne dass dies auch nur ein Spieler wirklich merkt)
  • und viele mehr...

 

Pentaquin besitzt aus diesem Grund bereits jetzt 5 verschiedene Server Arten

  • Session Server (hält alle Sitzungen der eingeloggten Spieler über die Server hinweg)
  • Login Server
  • Proxy Server (mit diesem Server verbindet sich der Spieler)
  • Cluster Manager Server (verwaltet das Server Cluster an sich)
  • Region Server (ist jeweils für einzelne Regionen der Spielwelt zuständig)
  • Update Server (noch nicht implementiert, liefert Updates an die Clients aus)

 

 

Moderne Datenbanken

Bei einem MMORPG ist die Wahl der richtigen Datenbank(en) ebenfalls entscheidend für die späteren Zugriffszeiten und damit Latenzen. Außerdem speichert man bei einem MMO nicht gerade eine unbedeutende Menge an Informationen.

Wir haben uns speziell für die NoSQL Datenbanken Hazelcast und Cassandra entschieden, da diese nicht nur zu den schnellsten auf dem Markt gehören (laut einigen Berichten ist Hazelcast wohl die schnellste NoSQL Datenbank aktuell auf dem Markt), sondern sich auch schon bei großen Firmen (z.B. Apple, Facebook, usw.) etabliert haben. Alle beide sind natürlich kostenlos in der Community Edition für jedermann verfügbar. Dank ihrer einzigartigen Performance Werte sind diese beiden Datenbanken auch speziell für MMOs geeignet. Die Datenbank Cassandra wurde z.B. von Facebook initiiert und natürlich auch genutzt, wird heutzutage aber von der Apache Software Foundation weiter entwickelt, basiert auf Googles BigTable Technologie und wurde speziell für BigData Anwendungen entwickelt.

Hazelcast ist ein In Memory Data-Grid, was bedeutet, dass Hazelcast alle Daten komplett im Arbeitsspeicher (RAM) hält und somit quasi horizontal skalierbar ist. Somit nutzen wir eine Hybrid Lösung mit Cassandra als persistenten Speicher und Hazelcast für die nötige Performance, die ein MMO so abverlangt. Dies soll bei Pentaquin nicht nur für die nötige Performance sorgen und absolute Ausfallsicherheit und Redundanz garantieren, sondern den Programmierern auch mehr Freiheiten und Flexibilität verschaffen.

 

Logos der Datenbanken Hazelcast, Cassandra und MySQL

 

Diese Website ist durch reCAPTCHA geschützt. Es gelten die Datenschutzbestimmungen und Nutzungsbedingungen von Google.

 

netcup Ökostrom

netcup.de
Wir hosten bei Netcup
Netcup-Gutscheine

								 Terovania UG
Ein Projekt von Terovania

 

Impressum

Datenschutz

Cookies

Über uns

Newsletter

Kontakt

Unterstützen

Presse

DSGVO

  • Datenschutz
  • Impressum

© 2022 Pentaquin®️ by Terovania®️ Games | All rights reserved.

Cookie Icon

Cookie-Einstellungen

Dürfen wir Dir einen PentaCookie anbieten?

 

Wir verwenden Cookies, um dir die bestmögliche Erfahrung auf unserer Website zu bieten.
Du erfährst mehr darüber, welche Cookies wir zu welchen Zwecken verwenden, in unserer Datenschutzerklärung und auf unserer Cookie-Übersicht.

Powered by  GDPR Cookie Compliance
Cookie-Übersicht

Diese Website verwendet Cookies, um dir eine bestmögliche Benutzerfreundlichkeit bieten zu können. Cookie-Informationen werden in deinem Browser gespeichert um gewisse Funktionen auszuführen. Beispielsweise, um dich wieder zu erkennen, wenn du unsere Website wiederholt besucht hast und später zurück kehrst. Das hilft unserem Team zu verstehen, welche Bereiche der Website du am interessantesten und nützlichsten findest. Du kannst über die Reiter dieses Einstellungs-Menüs selbst wählen, welche Cookies du erlauben möchtest.

Unbedingt notwendige / funktionale Cookies

Diese Art von Cookies stellt Funktionen bereit, um den reibungslosen Betrieb unserer Website zu gewährleisten.

Mehr erfahren

Unbedingt notwendige Cookies sollten jederzeit aktiviert sein, damit wir u.A. deine Einstellungen für die Cookie-Nutzung speichern können.

Wenn du diese Cookie deaktivierst, können wir deine Einstellungen nicht speichern. Dies bedeutet, dass du jedes Mal, wenn du diese Website besuchst, Cookies erneut aktivieren oder deaktivieren musst.

Drittanbieter-Cookies

Diese Website verwendet Google Analytics und andere Analyse-Dienste von Drittanbietern, um anonyme Informationen wie Besucherzahlen der Website und die beliebtesten Seiten zu sammeln.

Durch die Aktivierung dieses Cookies hilfst du uns dabei, unsere Website verbessern. Weitere Informationen zu unseren verwendeten Analyse-Diensten und Drittanbieter-Cookies findest du in unserer Datenschutzerklärung.

Alle von uns verwendeten Drittanbieter-Cookies kannst du auf unserer Cookie-Übersicht einsehen.

Bitte aktiviere zuerst die unbedingt notwendigen Cookies, damit wir deine Einstellungen speichern können!

Weitere Informationen

Weitere Informationen zu unserem Umgang mit Cookies findest du unter den folgenden Links:

  • Cookie-Informationen
  • Datenschutzerklärung
  • Informationen zur DSGVO
  • Impressum