Pentaquin
  • Das Spiel
    • Das Pentaquin-Universum
    • Die Geschichte
  • Das Projekt
    • Unterstützen
    • Fan-Shop
    • Entwicklerblog
    • Das Team
    • Projektleitung
    • Administration
    • Content
    • Programmierung
    • Sound
    • Grafik
    • FAQ
  • Mach‘ mit!
  • Forum
  • Impressum
  • Datenschutz
  • Das Spiel
    • Das Pentaquin-Universum
    • Die Geschichte
  • Das Projekt
    • Unterstützen
    • Fan-Shop
    • Entwicklerblog
    • Das Team
    • Projektleitung
    • Administration
    • Content
    • Programmierung
    • Sound
    • Grafik
    • FAQ
  • Mach‘ mit!
  • Forum
  • Impressum
  • Datenschutz
Pentaquin
  • Das Spiel
    • Das Pentaquin-Universum
    • Die Geschichte
  • Das Projekt
    • Unterstützen
    • Fan-Shop
    • Entwicklerblog
    • Das Team
    • Projektleitung
    • Administration
    • Content
    • Programmierung
    • Sound
    • Grafik
    • FAQ
  • Mach‘ mit!
  • Forum
  • Impressum
  • Datenschutz

PentaCore Engine

Startseite » Das Projekt » PentaCore Engine

Informationen rund um die Entwicklung unserer eigenen 2D MMORPG Engine

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

Ihr könnt mit den Begriffen "Game Engine" oder "2D MMORPG Engine" nichts anfangen, interessiert euch aber dafür, wie Pentaquin unter der Haube funktioniert? Dann erfahrt ihr hier mehr:

Unter der Haube eines Computerspiels befindet sich immer ein Motor, der das Spiel antreibt: Eine so genannte Game Engine, oder in unserem Fall speziell eine 2D MMORPG Engine.

Die vollständig von uns entwickelte PentaCore Game Engine ist für das Entity-Component-System, die Grafik (den Renderer), die GUI, das Input System, den Sound, die Netzwerk Interaktionen, usw. zuständig - eben all diese grundlegenden Komponenten.

2D MMORPG Engine PentaCore

Unsere 2D MMORPG Engine

Kann ich nicht ein Spiel auch ohne Game Engine entwickeln?

Natürlich kann man ein Spiel auch komplett ohne Game Engine entwickeln, aber es ist wie wenn man einen Nagel in die Wand schlagen will: Ohne das richtige Werkzeug bekommt man den Nagel sicherlich auch ohne Hammer irgendwie in die Wand - aber es dauert eben wesentlich länger und die Qualität ist dabei vermutlich auch nicht so hoch.

Eine 2D MMORPG Engine stellt die grundlegenden Werkzeuge und Systeme bereit, worauf ein Spiel aufbaut. Im Falle von Pentaquin wären dies die Graphic Engine, das Entity-Component-System (in welchem alle Objekte im Spiel eingeordnet sind), dem GUI System (Graphical User Interface), das Input System, sowie die Sound Engine - um hier ein paar zu nennen. Natürlich gehören noch viele andere Tools dazu. 

Wir haben die PentaCore Engine von Grund auf selbst entwickelt, um die volle Flexibilität & Dynamik, sowie eine hohe Performance erreichen zu können. 

Für die PentaCore Engine nutzen wir hauptsächlich die Programmiersprache Java, da diese nicht nur auf allen gängigen Plattformen und Betriebssystemen ohne große Probleme läuft - sondern auch entgegen der Erwartungen einiger Nicht-Java-Programmierer sehr gut für (2D) Spiele geeignet ist.

Als OpenGL Schnittstelle verwenden wir die LWJGL Library, eine Schnittstelle, die uns nativen Zugriff auf OpenGL, OpenAL und OpenCL gewährt. Dank dieser direkten Ansteuerung und des nativen Speichers, der von LWJGL bereitgestellt und nicht vom Java Garbage Collector verwaltet wird, können wir für unseren Client eine hohe Performance erhalten, die mit nativen, in C oder C++ geschriebenen Programmen mithalten kann. Da wir nicht auf externe Game Engines wie z.b. Unity oder die Unreal Engine angewiesen sind, sparen wir nicht nur Geld, sondern können Diese auch noch vollkommen an unsere Bedürfnisse anpassen.

Natürlich haben wir dafür trotzdem einen sehr hohen Preis bezahlt - die Entwicklung einer solchen Engine ist nicht mal eben nebenbei erledigt und hat uns bereits sehr viel Zeit gekostet.

Der Vorteil: Pentaquin wird seine eigene 2D MMORPG Engine besitzen, die optimal auf die Anforderungen und Besonderheiten des Spiels abgestimmt sein wird. Als vollwertige Game Engine können wir PentaCore optimal an unsere Bedürfnisse anpassen.

OpenGL

Immer wieder wenn man sich eine neue Grafikkarte kauft, hört man von den Begriffen DirectX, OpenGL, vielleicht sogar schon von Vulkan - aber was ist das eigentlich?

DirectX, OpenGL sowie Vulkan stellen jeweils Schnittstellen zur Grafikkarte dar, um bestimmte Grafik-Operationen (z.B. das Zeichnen eines Bildes, das Berechnen der Positionen und Pixel-Daten usw.) ausführen zu können.

Das Bild beispielsweise, welches euer Monitor anzeigt, wird größtenteils nicht vom Prozessor (CPU) berechnet, sondern von der Grafikkarte (GPU), da Diese bei mathematischen Bild-Berechnungen deutlich schneller ist. Während ein durchschnittlicher Notebook-Prozessor zwischen 4 - 8 Kernen (Cores) besitzt, die parallel Befehle der Programme abarbeiten können, besteht die Grafikkarte aus über 1.000 dieser Cores (die neueste Nvidia Pascal Generation besitzt bis zu 3840). Sie ist dadurch leistungsstärker im Multi-Tasking und kann somit einzelne Pixel viel schneller parallel berechnen. Außerdem besitzt sie einen eigenen Grafikspeicher (Video RAM), in welchem Daten für den schnellen Zugriff zwischengespeichert werden können. Natürlich könnte man direkt auf die Grafikkarte zugreifen, aber es gibt ein paar "Werkzeuge" (genau genommen Schnittstellen), die einem diese Arbeit erleichtert - und hier kommen DirectX, OpenGL und Vulkan ins Spiel. Diese helfen den Entwicklern, sodass diese nicht die ganze Low-Level-Arbeit selbst verrichten müssen.

Dynamische Kommunikation

 

OpenGL® and the oval logo are trademarks or registered trademarks of Silicon Graphics, Inc. in the United States and/or other countries worldwide.

Unsere 2D MMORPG Engine PentaCore  nutzt von Haus aus OpenGL 2.0+, um möglichst alle gängigen Geräte unterstützen zu können. Eine Vulkan Anbindung ist aber ebenfalls schon geplant und teilweise implementiert - so garantieren wir, dass die PentaCore Engine immer auf dem aktuellen Stand der Dinge ist.

eclipse screenshot java 2d mmorpg engine

Ein paar Zahlen und Fakten

Die PentaCore Engine ist komplett in Java geschrieben und unterstützt Windows, Linux und Mac OSX von Haus aus.

Insgesamt besteht unsere 2D MMORPG Engine (Stand: August 2016) aus 33.715 Zeilen Java Code (hierbei ist die Netzwerk Engine, sowie der Client nicht berücksichtigt), 5681 Leerzeilen (die vor allem der Übersichtlichkeit dienen), 10.776 Kommentar Zeilen, 438 Java Dateien (Klassen),rund 500 Verzeichnissen, 8 Sub-Engines und insgesamt haben schon 12 Personen seit Entwicklungsbeginn Etwas zu dieser Engine beigetragen. Seit mehr als drei Jahren wird bereits an dieser Game Engine gearbeitet. Vollendet ist die Arbeit noch nicht, PentaCore befindet sich aber bereits in einem ansehnlichem, fortgeschrittenem Stadium. Zum jetzigen Zeitpunkt arbeiten drei Java Entwickler aktiv an der weiteren Entwicklung.

Zum Vergleich: Das gesamte Pentaquin Projekt, inkl. aller Server, besteht mittlerweile aus über 120.000 Zeilen Code!

Die PentaCore Game-Engine beansprucht damit etwa 1/4 des gesamten, bisher geschriebenen Java Codes für sich.

 

Folgt Pentaquin!


Diese Seite wird durch reCAPTCHA vor Spam geschützt.
Es gelten die Datenschutzbedingungen und Nutzungsbedingungen von Google.

Newsletter

Prüfe deinen Posteingang oder Spam-Ordner, um dein Abonnement zu bestätigen.

Informationen zum Newsletter

Über uns

Terovania Games
Das Pentaquin-Entwicklerteam

netcup.de

  • Datenschutz
  • Impressum

© 2019 Pentaquin by Terovania Games | Terovania GbR

×
Pentaquin nutzt Cookies: Mehr über unseren Datenschutz erfahren