Performance Map Displayw

Wochenrückblick: Asset-Galerie, MongoDB und Progressive Web App

Wochenrückblick25. Juli 2021

Allgemein

In dieser Woche hat Scrayos einen Blogeintrag auf scrayos.net veröffentlicht, der tiefe Einblicke in die Arbeit eines (fortgeschrittenen) Entwicklers bei JustChunks liefert.

Um den Zeitraum herum, in dem wir in die Beta gestartet sind, haben wir es bewusst vernachlässigt, nach Zuwachs im Team Ausschau zu halten. Obwohl es eigentlich entscheidend für den Erfolg von JustChunks ist, dass Leute bereit sind, durch Zeit und Liebe ihren Teil beizutragen, war es bis vor Kurzem in den Hintergrund gerückt. Denn auch das Einarbeiten kann sehr zeitaufwendig sein, denn wir erwarten nicht, dass man in seinem Gebiet schon besonders erfahren ist. In solchen Fällen stehen wir normalerweise mit Coachings zur Seite, doch zum Start der Beta hätte das schwierig werden können.

Nun war es also an der Zeit, unsere Ausschreibungen zu aktualisieren. Den Anfang machte die Builder-Ausschreibung. Hier war es uns ein Anliegen, auch die Screenshots zu erneuern, damit sie eher der Optik entsprechen, die einen auf JustChunks erwartet. Bei den Ausschreibungen für Entwickler, Grafiker und Videoproduzenten wurden Details aktualisiert.

Bauliches

Das Bauteam kann diese Woche keine großartigen baulichen Neuerungen präsentieren. Das liegt zum einen an einem Krankheitsfall, zum anderen an der Einführung eines neuen Tools. Dieses Tool, die Asset-Gallery möchten wir euch im Folgenden genauer vorstellen.

Asset-Gallery

Die Asset-Gallery ist unser neustes Werkzeug, um dem sich langsam verbreitenden Chaos auf dem Bauserver Einhalt zu gebieten. Über die Jahre hinweg sind unzählige kleine Bauwerke von ebenso vielen unterschiedlichen Buildern entstanden, die sich über die gesamte Hauptwelt verstreut befinden. Neuen Buildern, anderen Teammitgliedern und zugegeben auch den „Veteranen“ des Bauservers ist es zunehmend unmöglich, sich in diesem Wirrwarr zurechtzufinden.

Ein "Überblick" über die Hauptwelt. Tausende Assets stehen hier auf der ganzen Karte verteilt.

Die Asset-Gallery besteht dabei aus drei unterschiedlichen Komponenten, um dem Chaos der Hauptwelt Herr zu werden.

Zum einen gibt es die Asset-Bibliothek, in der alle Assets (also die einzelnen Bauwerke wie Bäume, Häuser oder Schiffe) mithilfe von „Tags“ katalogisiert sind. So ist zum Beispiel eine kleine, weiße Luxusjacht mit Inneneinrichtung unter den Tags "transport", "ship", "yacht", "white", "small" und "interior" zu finden. Der Plan ist, alle Strukturen, die momentan wild in der Hauptwelt verstreut sind, in dieses System einzugliedern.

Die Asset-Gallery von "technischer" Seite. Hier soll in Zukunft ein eigenes UI eine noch bessere Visualisierung der Assets ermöglichen.

Zum anderen gibt es den „Display-Mode“, der eng mit der Asset-Bibliothek verknüpft ist. Mit ihm können einzelne Assets, sortiert nach Tags, aus der Bibliothek per Befehl angezeigt werden und wie mit einer Fernbedienung durch die Assets derselben Kategorie "gezappt" werden. Dabei wird das Asset nur dem Benutzer des Tools angezeigt. Alle anderen Spieler können das Asset erst sehen, nachdem es an seiner ausgewählten Position platziert wurde.

Der Display-Mode. In der Hotbar befinden sich unterschiedliche Buttons, die die Navigation durch die Asset-Bibliothek, sowie das Bewegen und Rotieren des Assets ermöglichen.

Außerdem beinhaltet die Asset-Gallery den "Asset-Brush". Mit ihm können beliebig viele Assets auf einem Tool gebunden und entspannt per Rechtsklick platziert werden.

Acht Klicks und schon ist die Vegetation für einen kleinen Sumpf gepflanzt.

Der konkrete Anwendungsfall dieses Tools könnte unter anderem folgender sein:

Eine neue Insel wurde gebaut und es fehlt noch die Vegetation. Nun kann der entsprechende Builder mit nur einem Befehl alle jemals auf JustChunks gebauten oder von öffentlichen Asset-Packs bereitgestellten Bäume, Büsche und Blumen zugreifen und sich eine Palette aus passenden Assets erstellen. Diese können dann auf das Asset-Tool geladen und per Rechtsklick in Windeseile platziert werden. So entsteht im Nu eine vollständige Vegetation aus hochwertigen Assets, ohne sich mühsam jeden Baum einzeln in das Projekt kopieren zu müssen.

Entwicklung

Code-Base

In dieser Woche wurde weiter an der Migration auf MongoDB gearbeitet. Dabei ist die Library bereits nahezu fertig. Und auch JCBukkit und der Hub sind bereits so weit, dass wir anfangen können sie zu testen. Aktuell arbeiten wir aktiv an JCVelocity, und freuen uns sehr darüber, dass es auch hier in großen Schritten Richtung Fertigstellung geht.

Zitat von @Scrayos:

"Die neue Struktur hat wirklich haufenweise Vorteile und wir konnten bei der Library zum Beispiel 21.000 Zeilen löschen und mussten dafür nur 5.700 neue Zeilen hinzufügen. Die Codebase wird also ordentlich entschlackt."

Wir hatten mit einer wesentlich längeren Zeit für die Migration gerechnet, doch wir haben uns ein wenig verschätzt: Denn wir werden schon im Laufe der kommenden Woche wieder erste Versuche unternehmen können, den Server zu betreten. So haben wir die Chance (das ist aber keinesfalls sicher) die Migration statt in acht oder drei Monaten, in drei Wochen abzuschließen!

Website

Zur Website sei dann noch zuletzt zu sagen, dass wir das Projekt in Gitlab angelegt haben und die Planung begonnen haben. Es gibt ein erstes grobes Mockup und viele technische Gedanken wurden festgehalten. Es ist die Entscheidung gefallen, dass wir uns voll auf die Website konzentrieren wollen und es daher recht sicher keine explizite Android oder iOS-App für JustChunks geben wird, sondern dass wir ausschließlich auf eine übergreifende PWA (Progressive Web App) setzen werden.


Besonders für eingeloggte Nutzer wird die Website so in fernerer Zukunft auf dem Desktop wie auch auf dem Handy wie eine App auftreten können, die z. B. Bescheid gibt, wenn wir einen Patch veröffentlichen oder wenn der eigene Klan einen Krieg plant.

Ausblick

Gewiss wird das Hochfahren des Netzwerks auf Basis der neuen MongoDB-Infrastruktur mit vielen Bugs einhergehen und es liegt leider in der Natur der Sache, dass man vorher nicht genau weiß, ob man diese innerhalb von wenigen Tagen, oder erst innerhalb von einigen Wochen ausgemerzt bekommt. Falls die Wahrheit in der Mitte liegt, werden wir wohl ungefähr zur Zeit des Teamtreffens Ende August hiermit durch sein und unser Hauptaugenmerk wandert dann zu den Klaninseln. Sie werden die Grundlage eines großen Update-Pakets für den Beta-Server darstellen, der dann auch Server-Skalierung beherrscht.

Per Instagram, Twitter und Discord werden wir euch derweil auf dem Laufenden halten!

Genießt die Sommertage und bleibt gesund!