» » » Hinter den Kulissen II

Hinter den Kulissen II

eingetragen in: Hinter den Kulissen | 0

Ein Entwicklerblog-Artikel von Justin (Programmierer) und Christian (Admin)

Das Entwicklerteam um das Projekt Pentaquin meldet sich zurück, mit erfreulichen Nachrichten aus unserem Alltag der Spieleentwicklung hinter den Kulissen.
Auch im vergangenen Monat wurde wieder fleißig an Pentaquin und insbesondere am Quellcode sowie den Datenbank-Systemen gewerkelt, dabei sind etwa 200 Commits in unser Git-Repository gepushed worden.
Es wurde wieder in den unterschiedlichsten Bereichen gearbeitet, sowohl in der Administration, als auch bei der konzeptionellen Arbeit am Gameplay im Content, bei der Programmierung und auch im Grafiker-Team ging es erfreulicherweise mit großen Erfolgen voran .
So können wir euch zum einem verkünden, dass unsere “PentaChat”-Server, unser Session-Server und unser Login-Server bereits bereit für den Einsatz in der Beta-Version des Spiels sind und seit Langem können wir euch auch mal wieder ein paar Einblicke in die Arbeiten unserer Grafiker geben.

Nächtliches Zeichnen in Fernost

Einer unserer fleißigen Grafiker hat sich während seines Auslandssemesters in China wieder nächtelang an sein Zeichenbrett gesetzt, unter anderem ist dadurch auch ein neues so genanntes “Tileset” für die Terrains unserer Pentaquin-Welt in Arbeit und steht in Kürze in den Startlöchern. Diese Tilesets stellen eine Ansammlung von “Tiles”, was im englischen für “Kacheln” steht, dar. Wie der Begriff bereits suggeriert, kann man mithilfe dieser Tiles die gesamte Spielwelt anhand des 32×32 Pixel großen Rasters wie ein Puzzlespiel zusammensetzen. Wir werden euch bald präsentieren können, wie sich das neue Terrain in das Gesamtbild der Spielwelt einfügt.

Ein neues Antlitz für die Pforte zum Spiel

Auch außerhalb der Grafik, welche für die Darstellung der unmittelbaren Spielwelt benötigt wird, wurde eifrig weiter gezeichnet:
Dieses folgende Bild zeigt beispielsweise ein gänzlich neues Design des Pentaquin-Launchers, welches von unserem neuen UI-Designer gestaltet wurde.

Neue Bewohner gesichtet!

Auch im konzeptionellen Bereich wurde einiges erarbeitet. Unter anderem gibt es Fortschritte an den Map-Dateien für die Sektoren der Spielwelt zu verkünden, sowie eine Vielzahl neuer Ideen für das Gameplay bzw. die Spielmechaniken. So wurde z.B. anhand dieser Bilder ein mögliches Setting in Pentaquin simuliert und darauf aufbauend zwei neue NPC entworfen:


2D Concept Art – Prototypen im 2D-PixelArt-Stil von Pentaquin, welche einen Feuerlord und einen Lichtmagier zeigen.

Im Content-Team ist man derzeit außerdem auch weiterhin bestrebt, die so genannten Content-Richtlinienfertig zu stellen und zu verabschieden.
Im Grunde genommen sind sie so aufgebaut wie eine grundlegende Zusammenfassung des Gameplay-Desigsn, welches die elementaren Grundkonzepte und Spiel-Mechaniken erklären soll und gleichzeitig neuen Entwicklern als eine Art Wegweiser dienen soll, um neue Ideen in das Projekt einzubringen.

Und was passiert unter der Haube?

Auch die Administratoren waren nicht untätig. Sie haben nicht nur unseren neuen Server fertig konfiguriert, sondern auch gleich 2 unserer wichtigsten Datenbank-Dienste mit aufgesetzt: Cassandra und Hazelcast
Beide Datenbanken sind NoSQL Datenbanken und dank ihrer Performance auch speziell für MMOs geeignet.
Während Cassandra eine persistente Datenbank ist, die von Facebook initiiert wurde, somit für Big Data ausgelegt ist und heute von der Apache Community weiter entwickelt wird, ist Hazelcast eine NoSQL Datenbank und ein In-Memory-Data Grid, welches alle Daten im RAM hält.*
Diese Hybrid-Lösung 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.

Das Programmierer Team hat sich nun endgültig entschieden, einfache grafische Oberflächen, wie den Launcher oder das Login Fenster von SWT zu JavaFX zu portieren, aufgrund von Problemen mit der Plattformabhängigkeit bei SWT. Aus diesem Grund haben wir uns nun für den, von Oracle bereits neu erkorenen UI-Standard für Java, JavaFX, entschieden.
JavaFX trennt nicht nur die Anwendungslogik vom Design, sondern unterstützt auch viele neue Widgets, Animationen und Effekte, die sowohl Swing als auch z.B. SWT derzeit nicht ohne Erweiterungen bieten können. Desweiteren ist es bei JavaFX möglich, das Design in CSS-Dateien auszulagern.

Was die Welt im Innersten zusammenhält…

Auch an unserem Map-Exporter-Plugin für Tiled, der Client-Engine und dem OpenGL-Renderer wurde weiterhin gearbeitet.
Aber auch Serverseitig ging es mächtig voran: Da wir einige Änderungen an der Server-Architektur vorgenommen haben und auch intern einiges geändert wurde, mussten wir z.B. den Login Server teilweise neu implementieren. Dieser unterstützt bereits die Registrierung und den Login und ist damit erst einmal für die Beta. Lediglich die Account Aktivierung per Mail soll später noch folgen.
Auch unseren so genannten “PentaProxy” – einem Serverdienst, zu dem sich die Spieler letztendlich verbinden und der das Load Balancing durchführt – haben wir weiter implementiert.
Desweiteren haben wir uns jetzt doch im Team dazu entschieden, Grafiken und Objekte innerhalb der Spielwelt Pixel-genau ausrichten können zu wollen.

Nachwuchs im Team

Seit dem letzten Wochenende sind wieder 3 neue Bewerbungen bei uns eingegangen! Unter anderem begrüßen wir zwei neue Entwickler in unseren Reihen!
Hierbei gleich nochmal ein Aufruf an alle:

Wenn ihr Lust habt, bei Pentaquin mitzuwirken, seid ihr jederzeit Willkommen!

Pentaquin ist ein 2D MMORPG Projekt, welches derzeit hauptsächlich von Schülern und Studenten aus Österreich und Deutschland entwickelt wird und immer auf der Suche nach weiteren Entwicklern ist!
Du kannst programmieren, hast Ideen für eine gute Story, kennst dich mit Grafiken aus oder hast irgendeine andere Fähigkeit, die du in das Pentaquin Projekt einbringen willst? – Dann bewirb dich jetzt! Einfach auf http://pentaquin.com klicken und oben den Button „Mitmachen!“ drücken. Das Administratoren Team wird dir so schnell wie möglich eine Antwort zukommen lassen!

*Hazelcast hält alle Daten im RAM, es können aber MapSaver und MapLoader implementiert werden, die die Daten dynamisch aus z.B. einer HBase oder Cassandra Datenbank laden und speichern, sodass auch beim Ausfall aller Hazelcast Nodes die Daten erhalten bleiben.

Artikel im Forum diskutieren

Bitte hinterlasse eine Antwort