PvP Spawn Assets

Wochenrückblick: Perks, JayCees und Spawn-Studien

Wochenrückblick19. Sept. 2021

PvP-Welt

Türme und Mauern ragen plötzlich aus einer einst so kahlen Welt empor. Nachdem wir uns in den letzten zwei Wochen damit beschäftigt haben, wie wir am Spawn alle wichtigen Features so arrangieren, dass man als Spieler alles Wichtige auf einem Blick erkennt und gleichzeitig schnell dorthin gelangt, lag der Fokus in dieser Woche eher bei baulichen Details und bei Fragen des Stils.

Zum einen kamen mit 1.17 viele neue Möglichkeiten hinzu, doch zum anderen (und vor allem) hat das Bauteam von den Arbeiten am vorherigen Spawn vieles lernen können. Und so geht Bauherr zaPuffi neue Wege, um den bisherigen Stil des PvPs weiterzuentwickeln.

Was wir oben im Titelbild sehen, ist eine Ansammlung an Gebäuden, die zwar für sich genommen bewahrenswert sind, die dann aber aus dem einen oder anderen Grund doch (noch) nicht zum Einsatz kamen. Und noch ist es zu früh, dass man beim Spawn nur mithilfe eines Bildes erkennt, wohin die Reise gehen wird. Doch ganz ohne einen kleinen Einblick wollen wir euch an dieser Stelle dann doch nicht zurücklassen:

Der neue Spawn entwickelt sich kontinuierlich weiter

Doch wir wollen an dieser Stelle betonen, dass noch nichts in Steinblöcke gemeißelt ist. Insbesondere, da wir uns in dieser Woche über Zuwachs im Bauteam freuen können. Mit MieserBuilder konnten wir einen bereits sehr erfahrenen und engagierten Architekten für JustChunks begeistern und gewiss wird dies die Stilfindung beeinflussen. Wir können also gespannt sein, wie sich die PvP-Welt in den kommenden Wochen entwickelt.

Entwicklung

Während sich die Infra-Entwickler derzeit tiefer mit Kubernetes auseinandersetzen, um den PvP für die Klanwelten fit zu machen, wurden an anderer Stelle viele kleine Bugfixes vorgenommen und das Perk-System (also Auren, Begleiter und Spielzeuge) wurde technisch umgeräumt, um das System massiv zu vereinfachen.

Zuvor mussten wir alle Perks bereits in der Library definieren, damit sie sowohl auf der Proxy- als auch auf der Server-Plattform zur Verfügung stehen. Das musste wir tun, obwohl der Proxy niemals etwas mit den Perks machen konnte (er kann ja nichts darstellen oder dergleichen), weil wir vor MongoDB alles über den Proxy synchronisiert haben.

Damit die Server, also zum Beispiel, wissen, ob ein Spieler eine Aura aktiv hat und welche Auren er/sie nutzen kann, musste der Proxy diese Information ebenfalls kennen, damit er sie weiterleiten kann. Jetzt ist das komplette System aus der Library eine Ebene weiter nach oben gerutscht und wird nun in JCBukkit definiert. Dadurch können wir uns gleich mehrere Ebenen der Abstraktion sparen und die Implementation wurde entsprechend lesbarer und wartbarer. Wir können in Zukunft also schneller neue Perks hinzufügen und neue Entwickler können das System leichter überblicken.

JayCees sind unsere Serverübergreifende Währung, die man zum Beispiel für das Voten für JustChunks erhält. Im JayCee-Log fehlten bisher einige Quellen aus denen Veränderungen kommen konnten. Dies wurde (neben vielen weiteren Kleinigkeiten) in dieser Woche gefixt.

Außerdem hat Scrayos an sogenannten "Buckets" gearbeitet. Diese sollen ein neues System zur effizienteren Lastverteilung werden. Die Grundidee ist wie folgt: Wir haben recht oft Tasks, die für alle Spieler durchgegangen werden sollen und die nicht asynchron ausgeführt werden können. Wenn jetzt also ein Task für jeden Spieler beispielsweise alle 20 Ticks (also einmal in der Sekunde) ausgeführt werden soll, dann ist jeder zwanzigste Tick besonders rechenintensiv und die verbleibenden 19 Ticks müssen nichts erledigen.

Hier verändern die Buckets den Ablauf und teilen alle Spieler (oder allgemeiner gesprochen „Elemente“) auf die gesamten Ticks auf. So wird der Task zwar (individuell gesehen) für jeden Spieler alle 20 Ticks ausgeführt, aber es ist nicht bei allen Spielern derselbe Tick, in dem dies geschieht. Damit können wir die Last besser aufteilen und die CPU gleichmäßiger belasten. Insgesamt wirken wir also Lagspikes entgegen. Natürlich haben wir uns hier nur auf die wichtigsten Dinge konzentriert, denn in dieses Thema kann man gleichermaßen unendlich viel Zeit investieren, um die beste Performance herauszukitzeln.

Ausblick

Wir hoffen, mit der Infrastruktur in der kommenden Woche so weit voranzukommen, dass den Klanwelten nichts mehr im Wege steht. Sie und der Klankrieg sind das, was aus Entwickler-Sicht noch geschafft werden muss. Doch auch mit der PvP-Welt selbst haben wir keine kleine Aufgabe vor uns. Hier werden wir in den nächsten Wochen zeigen müssen, wie wir all dies in so kurzer Zeit meistern wollen.

Ihr solltet JustChunks also unbedingt via Discord, Instagram und Twitter im Auge behalten, denn uns stehen spannende Zeiten bevor!