Tiberius

Neonga Nation
Forum Moderator
ardent_ledger_pic.png

Gerade als ihr dachtet, er sei vielleicht ausgestorben, hat dieser kleine, lange ruhende Newsletter den Staub abgeschüttelt, sich gestreckt, gegähnt und ist wieder auf die Beine gekommen, um das neue Jahr zu begrüßen! Das stimmt, der Ardent Ledger ist dank engagierter V&H-Spieler, die durch ihre eigene harte Arbeit und ihren Wunsch, diese einst regelmäßige Publikation wieder in Schwung zu bringen, indem sie über Spieleraktivitäten, Community-Events, die Pläne der Entwickler, königlichen Wächter und vieles mehr berichten, endlich wieder da!

Bevor wir gleich loslegen und einige der aufregenden neuen Features und Inhalte vorstellen, die 2024 ins Spiel kommen werden, wollen wir uns einen Moment von 2023 verabschieden, in dem mit der Homestead Erweiterung endlich die Inneneinrichtung Eurer Häuser eingeführt wurden! Nach mehr als einem Jahrzehnt, in dem ihr nur auf die Außenseiten eurer nicht-interaktiven Häuser gestarrt habt, wurden die Wünsche der Spieler, die zehn Jahre lang darum gebettelt hatten, ihre Häuser betreten zu können, ganz zu schweigen von der Möglichkeit, sie mit einer Vielzahl von Anpassungsmöglichkeiten zu dekorieren, endlich erfüllt! Inneneinrichtung war in der Tat ein Meilenstein für V&H, und MassivelyOp hat uns sogar zum "MMO Housing of the Year for 2023" gekürt (Danke, MassivelyOp!)

eotyaward-25housing873493q490.png

In mancher Hinsicht war es ein ruhiges, zufriedenstellendes Jahr: Wunderschöne neue Kreationen wie schimmernde Seepferdchen, fliegende Pfannkuchenmantas und feurige Phönixvögel glitten in die Sieben Reiche, mobile Spieler erhielten endlich das Wissensbuch, der plumpe Itemshop der Anfangszeit erhielt eine elegante Überarbeitung, alle Spieler hörten auf zu fluchen, wenn sie versehentlich ihre Verda-Sprossen verkauften, da eine neue Option zum Rückkauf bei Verkäufern eingeführt wurde, und das lästige kleine "Mana"-Problem wurde endlich gelöst. 2023 war auch ein Jahr mit einigen lauten Änderungen (Klassenbalancing) und neuen Technologien (Charaktermigrationen) sowie einigen kleineren Katastrophen (erinnert ihr euch noch daran, als der Patcher in mehreren Ländern auf der ganzen Welt gleichzeitig ausfiel?), und natürlich gab es auch die eine oder andere Enttäuschung über die Verzögerung des Feiertags-Builds durch ein bestimmtes großes Unternehmen. Wir wollen jetzt mal keine Namen nennen ... :)

Bei all den Höhen und Tiefen des vergangenen Jahres ist eine Sache immer gleich geblieben - unsere fabelhafte VH-Spieler-Community, die uns unterstützt, sich gegenseitig unterstützt und ein positives, gesundes Spielumfeld geschaffen hat, das so besonders ist und sich von anderen MMOs unterscheidet. Wir freuen uns darauf, das Jahr 2024 mit euch allen zu verbringen, und sind gespannt auf die hoffentlich aufregenden neuen Änderungen und Verbesserungen in Villagers & Heroes!
 
Reactions: Spielfee
  • Likex1

Tiberius

Neonga Nation
Forum Moderator
WAS GIBT ES NEUES?

DIE CRUX!

Habt ihr es satt, euch mit euren hochgezüchteten Charakteren lustlos durch die gleichen alten Gebiete zu mahlen, die schon lange ihren Glanz verloren haben, oder eine Wiedergeburt nach der anderen zu machen, nur um Stufe 95 zu erreichen, wo ihr euch immer wieder die Köpfe an den Grenzen der Pestinseln einschlagen könnt, während ihr in der Ferne von anderen Karten träumt? Wir glauben, die Antwort lautet ja. Also ohne Umschweife: 2024 wird das Jahr der neuen hochstufigen Inhalte sein! Neue Anblicke, Geräusche, Monster, Quests, Kämpfe, Geheimnisse, Charaktere, Gameplay, Überlieferungen und große Abenteuer werden das ganze Jahr über in Form einer Reihe brandneuer Zonen zu Dorfbewohnern & Helden hinzugefügt, die in einer Anhebung der Stufenobergrenze auf 100 gipfeln werden.

Beginnend in diesem Frühjahr (unser Zielmonat ist der März) werden wir die erste Partie aufregender neuer Inhalte mit der Einführung einer farbenfrohen und gewichtigen Zone veröffentlichen, die eure Charaktere seit den längst vergangenen Tagen von Bevyns Coille, als der Name zum ersten Mal erwähnt wurde, immer wieder vereitelt haben: Die Crux. Endlich kann der Eingang zu dem geheimnisvollen Land, das von einer ungewöhnlichen Insektenart bewohnt und von der inzwischen berüchtigten Königin Zoria regiert wird, durchbrochen werden!

forest-village-1024x640.jpg
Die Geschichte macht genau da weiter, wo sie aufgehört hat: Die Lumineers haben euch in den Sumpfgebieten zurückgelassen, um sich an den vier bösen Kopfgeldjägern zu rächen, die Lysander auf Geheiß der zornigen Zoria ermordet haben, und sind auf der Suche nach der rücksichtslosen Nadia in die Crux aufgebrochen. Einige von euch haben lange gewartet. Doch damit ist jetzt Schluss! Eine kryptische Nachricht, gespickt mit erschreckenden Gerüchten über den Abstieg der Königin in den Wahnsinn und die Gräueltaten, die nun an ihren Untertanen, dem einst friedlichen Socorro, begangen werden, hat euch erreicht. Es ist an der Zeit, in die Crux zu reisen und ihre Geheimnisse zu plündern - lüfte ein dunkles Geheimnis in storybasierten Quests, lerne die Ursprünge der scheinbar wahnsinnigen Königin kennen, triff auf eine ganze Reihe neuer, schrulliger Charaktere und Kreaturen, die dringend deine Hilfe im Kampf gegen eine geistesgestörte Monarchin brauchen, nimm an List und Tücke, geheimen Missionen, Schmuggel, Guerilla-Kriegsführung und vielem mehr teil!

Die Crux ist bei weitem die größte Zone im Spiel und lädt zur Erkundung ein. Aber der vielleicht aufregendste Aspekt ist die neue Instanzierungstechnologie, die von unserem begabten Programmierer Sean zunächst für die Innenräume entwickelt wurde und deren Möglichkeiten er nun erweitert und bereichert hat, so dass der Inhalt der Crux anders sein wird als alles, was wir bisher in VH gesehen oder gehabt haben. Eine interaktive Umgebung! Wiederholbares Gameplay! NPCs, die an eurer Seite laufen! Ein Wagen mit Vorräten, der von Zorias militanten Schlägern gesteuert wird, bewegt sich pausenlos durch das Gebiet und erfordert tägliche Plünderungen, wenn ihr die Herausforderung annehmt! Dies sind nur einige Beispiele für ein hoffentlich aufregendes neues Kapitel im Spiel, und weitere Kapitel dieser Art werden im Jahr 2024 folgen!

valley-1024x640.jpg
Die Crux ist nicht als Ersatz für die Blighted Isles gedacht, wenn es um anstrengende Endgame-Inhalte geht - keine Sorge, das kommt später im Senkzahn-Imperium, vorausgesetzt natürlich, ihr überlebt vorher die Gefahren des Bienenstocks und des Scaldrum -, sondern vielmehr als eine Zone, die anregende, wiederholbare Spielmöglichkeiten bietet, die sich nicht wie ein Grind anfühlen. Unser Ziel ist es, dass die Spieler Spaß in der Crux haben und immer wieder zurückkehren, weil es Spaß macht und nicht nur ein Ort ist, an dem Aufgaben erledigt werden müssen. Um dieses Ziel zu erreichen, hat unsere fantastische Künstlerin Michelle zusätzlich zur neuen Instanztechnologie eine Zone voller landschaftlicher Wunder geschaffen! Die Crux ist ein einladendes Land, rustikal und magisch, charmant und weitläufig, und eine wunderschöne neue Ergänzung der Sieben Reiche, die eure Sinne erfreuen und eure Fantasie anregen wird. Und warte nur, bis du die Socorro triffst, die dort leben - eine ganz neue, skurrile Spezies, die es nur in V&H gibt!

Es wird ein spannendes Jahr werden, und die Crux ist nur der Anfang. Und noch ein Hinweis für alle, die jetzt schon für den Frühling planen: Um die Crux freizuschalten, müssen Spieler nicht die maximale Anzahl an Blighted Ruf erreicht haben, aber sie müssen die Stufe 95 Ältesten besiegt (und diese Quests abgeschlossen) haben.
 
Reactions: Spielfee
  • Likex1

Tiberius

Neonga Nation
Forum Moderator
Last edited
WAS GIBT ES NEUES?

DAS AUGE DES STURMS

Einige von euch, die den obigen Inhalt lesen, werden sich jetzt vielleicht denken: "Nun, das ist ja schön und gut, aber was ist mit RAIDS? Ich will etwas über RAIDS wissen!"

Keine Angst, ihr eingefleischten Raider, denn im Frühjahr 2024 wird es auch einen brandneuen Raid mit einem epischen neuen Boss, Telemachus, spannenden Belohnungen und aufregenden Änderungen in Season 8: Eye of the Storm geben! Unser Mad Otter Entwickler V ist hier, um euch alles darüber zu erzählen! Also lassen wir ihn direkt zu Wort kommen:

Mit der Raid-Saison 8 kommen eine Reihe von Verbesserungen, Änderungen am Balancing und ein brandneuer Schlachtzug: Das Reich des Sturms!

"Begebt euch auf eine gefährliche Reise durch die sturmgepeitschten Inseln, eine Ansammlung von rauen, zerklüfteten Inseln, die von einer tobenden See umgeben sind. Einst war hier eine mächtige Dynastie von Seefahrern zu Hause, deren imposante Steinfestung in den Nexus der Insel hineingebaut wurde, aber seit langem von dem mächtigen Wyvern Telemachus verlassen wurde, der Anspruch auf das Gebiet erhoben hat. Heftige Stürme, bestehend aus stürmischen Winden, dröhnendem Donner und flackernden Blitzen, haben den Wyvern verfolgt und jeden Versuch, die Festung zurückzuerobern, zurückgewiesen.

Spieler, die es wagen, diesen Feind herauszufordern, können sich auf tödliche Hindernisse gefasst machen, während sie durch tropfende Höhlen, überflutete Wälder und tödliche Klippen navigieren. Uralte Wasserspeier, die einst tief in den Tunneln der Festung begraben waren, sind wieder aufgetaucht und wünschen sich nichts sehnlicher, als Vergeltung an denen zu üben, die ihre Art tyrannisiert haben.


wyvern-screenshot.png
Fallen, Rätsel und monströse Kreaturen bevölkern nun das Gebiet und erfordern ein Höchstmaß an Strategie, Koordination und tödlicher Präzision, um sie zu überwinden. Es ist keine leichte Aufgabe, das Nest des Wyvern zu erreichen, aber wer es schafft, wird von dem grausamen, elementaren Telemachus in den Schatten gestellt. Der Wyvern nutzt die Macht des Sturms und wird die Spieler mit seinem Schwanz schlagen, den Boden mit brennenden Blitzen verwüsten und das Schlachtfeld mit Energieströmen elektrisieren.

Mit diesem neuen Raid werden auch brandneue Heldenflüche eingeführt, die die Chancen unserer Helden erhöhen und sie an ihre Grenzen bringen. Außerdem werden im Reich des Sturms brandneue Relikte verfügbar sein, die die mächtigen Energien kanalisieren, die durch die Anwesenheit des Wyvern böswillig erzeugt wurden.

Diejenigen, die sich für den Aufstieg in den heroischen Stufen entscheiden, können sich auf größere Boni freuen! Die Seltenheit der Beute wird mit jeder heroischen Stufe ansteigen, um die Bemühungen der tapferen Raider angemessen zu belohnen. Zu guter Letzt wird Saison 8 den Dukatenhändler wiederbeleben, indem alte Saisonbelohnungen aus früheren Saisons wieder eingeführt werden, und zwar zum Preis von hart verdienten Dukaten."
 
Reactions: Spielfee
  • Likex1

Tiberius

Neonga Nation
Forum Moderator
Last edited
DAS WEIHNACHTSEVENT

Neben dem Spaß in der Grinchta's Lair Event-Zone ist die Weihnachtszeit in VH immer eine besonders verrückte, kreative und gemeinschaftliche Zeit des Jahres, die durch die erstaunliche Beteiligung unserer Spieler-Community entsteht, die jeden Dezember in einer Reihe von Wettbewerben zusammenkommt, die als das 12 Tage zur Weihnacht bekannt sind. Ihr wisst natürlich alle, wovon ich spreche!

Und dank der fleißigen Bemühungen von Impresario und den Eventkomittee-Freiwilligen Kitzy und Ventara freuen wir uns, mit euch diesen phänomenalen Rückblick auf all die verrückten Bingo-Aufgaben im Spiel zu teilen, an denen ihr alle teilgenommen habt, sowie auf eure FANTASTISCHEN-Beiträge bei den verschiedenen anderen Wettbewerben! Dies ist in der Tat ein ganz besonderes Video und eine magische Aufzeichnung der letzten Weihnachtszeit, die wir alle hier in Villagers & Heroes hatten. Vielen Dank an alle Spieler auf den verschiedenen Servern für ihre Teilnahme an diesem Event und ein ganz herzliches Dankeschön an die Personen, die dieses absolut fantastische Video gemacht haben.

 
Reactions: Nekronos and Merlinda
  • Likex2

Tiberius

Neonga Nation
Forum Moderator
DIE NEUEN KÖNIGLICHEN WÄCHTER

Es ist uns immer eine große Freude, die neuesten Königlichen Wächter des Reichs bekannt zu geben! Falls Ihr nicht wisst, was das genau ist, könnt Ihr Euch hier darüber informieren, was es damit auf sich hat.

Herzlichen Glückwunsch und unseren aufrichtigen Dank an diese herausragenden Persönlichkeiten, die mit ihrem Einsatz für das Spiel, für die Gemeinschaft und für uns immer wieder über sich hinauswachsen.

Bitte heißt alle eure königlichen Wächter des Reichs 2023 willkommen!

RG2023-1-1024x768.jpg
 

Tiberius

Neonga Nation
Forum Moderator
HINTER DEN KULISSEN

TECH-TALK VON DAMON: AKTUELLE LAG-FIXES

Sarah hat mich gebeten, einen Artikel über die Lag-Fixes zu schreiben, die wir im Oktober und November vorgenommen haben. Hier ist ein Überblick über das, was wir getan und nicht getan haben. Einige dieser Informationen wurden in den Testserver-Foren gepostet, aber nicht in den öffentlichen Foren.

Als erstes möchte ich sagen, dass wir nicht alle Lags behoben haben. Es ist unmöglich, jeden Lag vollständig zu beheben. Wir haben jedoch einige spezifische Probleme behoben und einige Verbesserungen an der Spielleistung vorgenommen.

HINTERGRUND
Im August oder September gab es einen Forenbeitrag des Spielers Gaia's Executioner, in dem die Probleme beschrieben wurden, die die Spieler beim Kampf gegen die Ältesten der Stufe 95 hatten. Lannox, Jacinda und andere Bosse im Spiel befanden sich nicht immer an dem Ort, an dem sie zu sein schienen. Dies löste eine Untersuchung des Problems aus, die zu einigen Korrekturen und Verbesserungen des Lag führte. Im Folgenden findet ihr einen Überblick über diese Verbesserungen.

TERMINOLOGIE
Um dies zu vereinfachen, hier einige Standardbegriffe, die von Programmierern verwendet werden.

Client-Server-Architektur: Dies ist das am häufigsten verwendete Muster für Online-Spiele. Es handelt sich um ein System, in dem ein zentraler Computer, der so genannte Server, das Spiel steuert. Er verwaltet die gesamte Spiellogik, verarbeitet alle Eingaben der Spieler (Bewegungen, Zaubersprüche usw.) und sendet dann alle Aktualisierungen an alle Spieler. Genau genommen nicht an die Spieler, sondern an die Geräte der Spieler, d. h. ihre Computer, Telefone und Tablets. Diese Geräte werden "Clients" genannt. Der Server bedient die Clients. In der Regel gibt es einen Server - oder einige wenige Server - während es Hunderte von Clients gibt, die er bedient. Der Server ist die letzte Instanz für alles, was mit dem Spiel zu tun hat. Wenn ein Client sagt: "Ich habe eine Million Gold", dann stimmt das nur, wenn der Server zustimmt.

Es gibt noch weitere mögliche Architekturen:
  • Peer-to-Peer: Es gibt keinen zentralen Server. Alle Spieler-Computer sprechen miteinander. Sie teilen sich die Arbeit untereinander auf. Ein gängiges Muster ist, dass jeder Computer die letzte Instanz für seinen Spieler ist. Der Vorteil dieser Methode ist, dass kein zentraler Server benötigt wird, was natürlich Geld für den Spieleentwickler/Verleger spart. Diese Methode ist anfällig für clientseitige Hacks - der Client könnte zum Beispiel so gehackt werden, dass der Spieler durch Wände hindurchsehen kann, besonders schnell laufen kann, ihm kostenlose Sachen gibt usw.
  • Serverlos: Alle Aufgaben werden in winzige Teile aufgeteilt, die von Tausenden von Knotenpunkten im Internet erledigt werden. Ein Beispiel ist AWS Lambda. Dies wird in anderen Bereichen immer beliebter, wird aber nicht für Spiele verwendet.
Für Spiele ist die Server-Client-Architektur jedoch immer noch die beste Lösung für die meisten Situationen.

Server: Dies bezieht sich im Allgemeinen auf einen physischen Rechner, der in der Regel in einem Rechenzentrum untergebracht ist. Diese Server sind in der Regel weitaus leistungsfähiger als ein Desktop-Rechner zu Hause. Sie verfügen in der Regel nicht über einen Monitor oder eine Tastatur, da sie nicht direkt von einer Person bedient werden.

Der Begriff Server bezeichnet aber auch ein Softwareprogramm, das auf einem physischen Rechner läuft. Villagers & Heroes hat etwa 12 physische Rechner; und auf jedem dieser physischen Rechner laufen viele Software-"Server".

Jede Zone im Spiel, auf jeder der fünf Spielserver (US2, US3, EU2 etc.) hat einen eigenen "Torque-Server". Da es 5 Shards und über 100 Zonen im Spiel gibt, gibt es mehr als 500 Torque-Server. Der Code des Torque-Servers ist in C++ geschrieben und befasst sich hauptsächlich mit Bewegung, Kollisionen und Physik. C++ ist eine schnelle Computersprache, aber sie erfordert ein höheres Maß an Fähigkeiten des Programmierers.

Außerdem gibt es 9 Weltserver für jede Welt. Diese Serverprozesse handhaben die gesamte Spiellogik - wie Zauber, Sammeln, Kämpfen usw. Diese Server sind in Python geschrieben. Python ist nicht so schnell wie C++, aber einfacher zu bedienen. Die Sprache ist ausdrucksstark, und man kann mit weniger Codezeilen mehr erreichen als mit C++.

Client: Dies bezieht sich auf den Computer, das Telefon oder das Tablet des Spielers, der mit den Spielservern kommuniziert.

Paket: Dies ist ein Datenpaket, das vom Server an einen Client oder von einem Client an den Server weitergeleitet wird. Es ist die Hauptmethode, mit der die beiden miteinander kommunizieren. Wenn sich z. B. ein Monster in der Spielwelt bewegt, sendet der Server ein Paket an alle Clients, um sie über die Bewegung des Monsters zu informieren. Pakete sind in der Regel zwischen 200 Byte und mehreren tausend Byte groß.

Lag: Dies bedeutet eine gewisse Verzögerung im Programm. Hier sind einige Beispiele für Verzögerungen:
  • Du versuchst, einen Boss anzugreifen, aber du kannst es nicht, weil der Boss nicht dort ist, wo dein Computer (Client) ihn vermutet. Das liegt daran, dass dein Computer noch keine Aktualisierung vom Server erhalten hat - die Aktualisierung "verzögert" sich - sie laggt.
  • Ein Boss scheint lebendig zu sein (z. B. Jacinda), ist aber in Wirklichkeit tot. Du siehst nur ein Phantom auf deinem Computer, das nicht wirklich da ist. Auch hier liegt es daran, dass dein Computer noch kein Update vom Server erhalten hat.
  • Du versuchst, einen Zauber zu aktivieren, der eigentlich aktualisiert und bereit sein sollte, aber das Symbol ist grün und du kannst die Taste nicht drücken. Auch hier liegt es daran, dass der Server aufgrund von Verzögerungen eine Zeit lang nicht mit deinem Computer kommuniziert hat.
  • Die Bewegung ist wirklich langsam und schwerfällig. Man versucht, sich vorwärts zu bewegen und sich zu drehen, aber die Spielfigur taumelt nur vorwärts, man fällt von einer Klippe und dreht sich zu spät. Dies wird oft durch eine niedrige Bildrate auf deinem Computer verursacht. In diesem Fall ist der "Lag" vollständig clientseitig. Eine niedrige Framerate führt zu einer Verzögerung bei der Eingabe - Eingaben wie Bewegungen werden nicht schnell verarbeitet. Die Steuerung fühlt sich träge an und reagiert nicht.
 

Tiberius

Neonga Nation
Forum Moderator
Lag kann viele Ursachen haben. Hier sind einige der häufigsten:
  • Internet-Lag: Dies ist einfach die Zeit, die ein Paket braucht, um vom Client zum Server (oder umgekehrt) zu gelangen. Dies ist dasselbe wie die "Ping-Zeit". Mitte der 90er Jahre lag die Verzögerung oft bei einer halben Sekunde oder mehr (500 ms). Heutzutage liegen die Ping-Zeiten in der Regel bei 50 bis 200 ms.
  • Verlorene Pakete: Wenn ein Paket verloren geht, muss es erneut gesendet werden. Wenn zu viele Pakete verloren gehen, wird das Spiel unspielbar. Pakete werden in der Regel entweder während der Übertragung fallen gelassen, was in der Regel passiert, wenn ein Router irgendwo im Internet defekt ist, oder lokal, was am häufigsten bei einer schwachen Wifi-Verbindung passiert.
  • Niedrige Bildwiederholrate: Dies wurde oben bereits erwähnt. Eine niedrige Framerate verursacht "Input Lag".
  • Der Spielserver ist auf eine der drei Arten überlastet:
  • CPU-Beschränkung: Es wird so viel Code ausgeführt, dass das Programm nicht mit allen Anfragen Schritt halten kann.​
  • Bandbreitenbeschränkung: Der Server ist nicht in der Lage, alle ausgehenden Pakete zeitnah zu verarbeiten. Um dies zu vermeiden, haben wir Hardware mit hoher Bandbreite für die Spieleserver gewählt.​
  • Speicherknappheit: Dies ist bei V&H nicht der Fall.​

Die Probleme 1 und 2 können wir nicht mehr beheben. Das Einzige, was wir getan haben, ist, das Spiel widerstandsfähiger zu machen, damit es versucht, sich von diesen Situationen zu erholen. Wenn jedoch mehr als 5 % der Pakete verloren gehen, wird V&H - wie auch jedes andere Echtzeit-Online-Spiel - unspielbar.

Auf Problem 3 haben wir viel Zeit verwendet, indem wir den Grafikcode verbessert haben, um mehr in kürzerer Zeit zu rendern. Die Spiel-Engine entfernt zum Beispiel entfernte Objekte aus der Szene, damit sie nicht angezeigt werden. Das kann man sehen, wenn ein Objekt plötzlich ins Blickfeld gerät. Außerdem haben wir den Spielern grafische Optionen zur Verfügung gestellt, damit sie die Grafik nach ihren Wünschen anpassen können, entweder zugunsten der Leistung oder der visuellen Wiedergabetreue.

Problem 4 ist immer der Hauptbereich, auf den wir uns konzentrieren, wenn wir den Lag reduzieren. Bei den jüngsten Verbesserungen der Verzögerung ging es darum, die Belastung der Spielserver zu verringern, damit sie mehr Arbeit in kürzerer Zeit erledigen können.

Grüne Talente Lag: Dies ist der Begriff, den wir und die Spieler häufig verwenden, wenn ein Zauber oder eine Fähigkeit bereit ist, gewirkt zu werden, dies aber nicht möglich ist, weil die Spielserver überlastet sind. Der Grund dafür, dass es "Grüne Talente Lag" genannt wird, ist, dass in diesem Fall das Schaltflächensymbol zum Aktivieren des Zaubers im Spiel tatsächlich grün wird.

TECHNISCHE DETAILS
Vorbemerkung: Villagers and Heroes verwendet, wie die meisten Online-Spiele, eine "Client-Server"-Architektur. Die Spielserver (es gibt etwa 12 davon) kommunizieren mit den Computern und Telefonen aller Spieler, die das Spiel gerade spielen. Die Computer und Telefone der Spieler werden als "Clients" bezeichnet. Der Server bedient die Clients.

Wenn du das Spiel spielst, gibt es zu jedem Zeitpunkt zwei primäre Server, die mit deinem Computer oder Telefon kommunizieren. Ein Server kümmert sich um die Spiellogik, z. B. Stufenaufstieg, Inventar, Zaubersprüche, Effekte usw. Auf diesem Server läuft ein Code, der in der Programmiersprache Python geschrieben wurde. Wenn dieser Server übermäßig ausgelastet ist, reagieren Zaubersprüche und Fähigkeiten nicht rechtzeitig, wenn Spieler sie aktivieren. Wenn das passiert, erscheint das Symbol für den Zauber grün. Dies ist der sogenannte "Grüne Talente"-Lag. Wir haben Anfang des Jahres einige Verbesserungen für den Python-Lag vorgenommen, aber die Korrekturen, die wir im Oktober und November vorgenommen haben, haben den Python-Lag nicht behoben.

Der andere primäre Server kümmert sich um die gesamte Physik, Bewegung, Grafik und Kollisionen. Dieser Servercode ist in C++ geschrieben. Er kommuniziert auch mit den Computern der Spieler, um sicherzustellen, dass sie immer auf dem neuesten Stand sind, damit die Computer der Spieler wissen, wo sich alles in der Spielwelt befindet. Es ist wichtig, dass dies schnell geschieht, da sonst auf den Computern der Spieler eine veraltete Version der Spielwelt angezeigt wird. Aus diesem Grund ist die Hardware, auf der die Spielserver laufen, sehr leistungsfähig: viele Prozessoren, viel Speicher, viel Bandbreite usw. Mit der Leistung dieser Hardware und den schnellen Internetgeschwindigkeiten überall ist es für diesen Server normalerweise kein Problem, die Spielerrechner auf dem neuesten Stand zu halten. Bei großen Schlachten kann es jedoch zu einer Verschlechterung kommen.

Stell dir vor, du hast einen Kampf mit 50 Spielern, 10 Gegnern und vielleicht 50 Zaubern, die ständig aktiv sind. In diesem Fall muss der Server 50 Computer mit dem Standort, der Rotation, der Bewegung, dem Aussehen, dem Zustand usw. aller 50 Spieler, 10 Feinde und 50 Zaubersprüche auf dem Laufenden halten. Das bedeutet, dass Sie 50+10+50 Dinge für 50 Spieler aktualisieren müssen - Sie müssen also: 50 x 110 Aktualisierungen = 550 Aktualisierungen. Die Aktualisierungen werden 16 Mal pro Sekunde verschickt, so dass am Ende mehr als 8000 Aktualisierungen pro Sekunde auf dem Server landen können, die über Tausende von Kilometern vom Server zu den Computern der einzelnen Spieler übertragen werden. Daher ist es wichtig, diesen Prozess zu optimieren, damit der Server die große Last, die ihm aufgebürdet wird, bewältigen kann.

Hinweis: Aktualisierungen werden in "Paketen" gesendet. Ein Paket ist ein Datenpaket von unterschiedlicher Länge. So gut wie alle Datenübertragungen im Internet werden in Paketen übertragen.

VERBESSERUNGEN
1. Viele unnötige Daten, die vom Server an die Computer der einzelnen Spieler gesendet wurden, wurden entfernt.
2. Die Größe der gesendeten Daten wurde durch Komprimierungstechniken reduziert (ich werde unten Beispiele nennen)
3. Einführung eines Prioritätsschemas, so dass die wichtigsten Aktualisierungen vor den weniger wichtigen Daten gesendet werden
4. Hinzufügen einer Prüfung, um festzustellen, ob der Server mit vielen Aktualisierungen überlastet ist, und wenn dies der Fall ist, wird der Server das Senden bestimmter Aktualisierungen ganz einstellen - ich nenne dies "Culling".
5. Die Größe der einzelnen Aktualisierungspakete wurde um das Dreifache erhöht. Dies führt dazu, dass weniger Aktualisierungspakete gesendet werden. Es ist effizienter, weniger Pakete mit jeweils mehr Daten zu senden, als mehr Pakete mit weniger Daten.

METHODEN ZUR VERRINGERUNG DER GRÖSSE VON AKTUALISIERUNGSPAKETEN
  • Die erste und beste Methode besteht darin, einfach einen Weg zu finden, ein Paket gar nicht erst zu senden. Ein Beispiel aus Villagers and Heroes war, dass eine Klasse Aktualisierungen sendete, wenn eine ihrer Elternklassen die gleichen Aktualisierungen sendete (ich werde nicht auf die technischen Details von Elternklassen und Vererbung in objektorientierten Sprachen wie C++ eingehen).
  • Eine weitere gängige Methode ist die Verwendung von Kompressionsalgorithmen. Ein Beispiel im Spiel ist die Übermittlung der Position eines Punktes in der Spielwelt. Lasst mich eine Analogie mit der realen Welt verwenden. Nehmen wir an, du willst irgendwo in deinem Haus einen Ort angeben. Eine Möglichkeit, dies zu tun, wäre die Übermittlung der vollständigen Adresse Ihres Hauses: Land, Bundesland, Stadt, Straße, Hausnummer, und dann das Zimmer im Haus, und dann vielleicht ein x,y-Offset zur nächsten Ecke im Zimmer. Wenn wir jedoch bereits wissen, wo sich Ihr Haus befindet, können wir nur den Raum und den x,y-Offset senden und müssen nicht Land, Stadt, Bundesland, Straße und Hausnummer angeben. Dieselbe Technik wird im Spiel für den Standort eines von einem Spieler gesendeten Zaubereffekts verwendet. Da das Spiel bereits weiß, wo sich der Spieler befindet, senden wir nur einen Standort relativ zum Spieler. Mit dieser Technik lässt sich die Menge der gesendeten Daten in der Regel halbieren.
  • Ein weiterer Fehler, den wir gemacht haben, war das Senden eines vollständigen Pfades und eines Formnamens vom Server an den Client. Dies könnte etwa so aussehen:
\test.game\data\shapes\buildings\Kitchen\kitchen1.dts

Das Senden von Rohtext (im Computerjargon "String") ist verschwenderisch und schlampig. Jedes Zeichen in der obigen Zeichenkette nimmt ein Byte in Anspruch, so dass die obige Zeichenkette 55 Bytes umfasst. Es gibt jedoch eine endliche Anzahl von Shape-Dateinamen im Spiel, und wir kennen bereits den Namen jeder dieser Dateien. Daraus können wir eine Liste aller Zeichenketten im Spiel konstruieren, die wir sorgfältig nummerieren:

1. "\test.game\data\shapes\crafting\tailor\spinningwheel.dts"

2. usw.

3. usw.

248. "\test.game\data\shapes\buildings\Kitchen\kitchen1.dts"

usw.

2454. "\test.game\data\shapes\bridges\ardentbridge.dts

Anstatt also die gesamte Zeichenkette zu senden, senden wir nur die entsprechende Zahl (die in der Programmiersprache "Index" genannt wird). Ohne zu sehr ins Detail zu gehen, benötigt eine Liste der Größe 2454 (das ist die Größe im obigen Beispiel) 13 Bit an Daten. Aufgerundet sind das 2 Byte. Anstatt also 55 Bytes für die Zeichenkette eines Formnamens zu verwenden, können wir nur 2 Bytes senden.

Um diese Methode zu erleichtern, mussten wir ein System zur Verfolgung aller Zeichenketten entwickeln. Das Konzept hinter diesem System ist wirklich einfach - aber die Implementierung ist eine Menge Arbeit, da es ein System sein muss, das auch in Zukunft leicht zu pflegen ist (d.h. nicht kaputt geht) und viele Tests erfordert. Bei den meisten Programmieraufgaben ist es ähnlich. Sie sind leicht zu verstehen, aber die eigentliche Arbeit, sie zu schreiben und zu testen, ist mühsam und zeitaufwändig.

PRIORITÄTSSCHEMA
Wir haben Code hinzugefügt, um zu verfolgen, wie viele Pakete bei jeder Aktualisierung verschickt werden. Wenn diese Zahl zu hoch wird, drosseln wir die Pakete. Das heißt, wir priorisieren die Pakete, die gesendet werden, und wir senden keine Pakete, die nicht kritisch sind.

Hier sind einige Arten von Paketen, die gesendet werden, und wie hoch die Prioritäten gesetzt werden:
  • Spielerinformationen - wie Standorte, Bewegung, Aussehen usw. - haben sehr hohe Priorität. Es ist wichtig, dass die Spieler sich gegenseitig genau sehen können.
  • Infos zum Boss - Standorte, Bewegung, etc. - sehr hohe Priorität. Bosse sind wichtig - ihr Standort usw. muss genau angegeben werden.
  • Zodiacs und Zaubersprüche, die die Spieler warnen - sehr hohe Priorität. Natürlich kann ein Spieler nicht von einem brennenden Feuer springen, wenn er es nicht sehen kann, und er kann einem fallenden Meteor nicht ausweichen, wenn er seinen Aufschlagschatten nicht sieht. Wir haben Zeit damit verbracht, alle Tierkreiszeichen/Zaubersprüche im Spiel durchzusehen und diejenigen zu markieren, die für die Spieler eine Warnung darstellen. Wenn wir welche übersehen haben, schickt uns einen Fehlerbericht und wir werden es überprüfen.
  • Feindinformationen - Standorte - hohe Priorität. Diese werden immer (irgendwann) aktualisiert, aber Dinge mit höherer Priorität (siehe oben) werden zuerst gesendet.
  • Zaubersprüche, die der Spieler gezaubert hat, und Zaubersprüche, die auf den Spieler abzielen - wie z.B. eintreffende Feuerbälle, etc. - haben hohe Priorität. Die Spieler müssen wissen und sehen, a) was sie tun und b) was ihnen angetan wird.
  • Zaubersprüche, die die Gruppe des Spielers gezaubert hat - mittlere Priorität
  • Zauber, die von Spielern außerhalb der Gruppe des Spielers gezaubert werden, und Zauber, die von Feinden gezaubert werden, die nicht auf den Spieler zielen - niedrige Priorität. Es ist fast nie wichtig, diese Zaubersprüche zu sehen.
Wenn in einem großen Kampf viel los ist, hört der Server auf, alle Zaubersprüche zu senden, die in die letzte oben genannte Kategorie fallen. In einer großen Schlacht gibt es tonnenweise solcher Zaubersprüche. Es wird so viel los, dass man visuell gar nicht mehr erkennen kann, was eigentlich los ist. Wenn das passiert, werden all diese Daten einfach nicht gesendet. Das ist eine große Ersparnis in großen Schlachten. Hinweis: Dies sind nur die visuellen Informationen, die nicht gesendet werden. Das Spiel aktualisiert weiterhin den Schaden, der den Gegnern durch diese Zauber zugefügt wurde, auch wenn diese Zauber nicht an alle Clients übertragen wurden. Es ist wichtig, sich darüber im Klaren zu sein, dass die Zaubersprüche immer noch auf dem SERVER aktiv sind - es ist nur der visuelle Teil, der nicht an ALLE CLIENTS gesendet wird.

In der Praxis passiert nun folgendes:
  • Spieler, Bosse und Warnungen vor schädlichen Effekten werden immer sofort an alle Clients weitergeleitet.
  • Gegner, Zaubersprüche, die ein Spieler gewirkt hat, und Zaubersprüche, die auf den Spieler abzielen, werden nie gecullt (sie werden immer gesendet). Sie werden jedoch erst gesendet, nachdem die oben genannten Dinge zuerst gesendet wurden.
  • Zaubersprüche, die von Spielern außerhalb der Gruppe des Spielers verwendet werden, und Zaubersprüche von Feinden, die nicht auf den Spieler abzielen, werden NIE gesendet (wenn der Server beschäftigt ist).
  • Zaubersprüche, die von der Gruppe des Spielers ausgeführt werden, werden an den Spieler gesendet, wenn er Zeit hat.
Es gibt auch einen netten Nebeneffekt, wenn das Spiel aufhört, all diese unwichtigen Effekte zu senden: Da sie nicht auf dem Computer oder Telefon des Spielers angezeigt werden, erhöht sich die Bildrate, sodass die Animationen flüssiger sind. Bewegungen werden nicht unbeholfen und klobig. Client-seitige Verzögerungen werden reduziert.

ZUSAMMENFASSUNG
Diese Korrekturen haben folgende Probleme nicht behoben:
  • "Grüne Talente"-Lag / Python-Serverleistung - dies wurde nicht behoben
  • Client-seitige Probleme aufgrund von Konnektivitätsproblemen - schlechte Internetverbindung, verworfene Pakete aufgrund von blinden Flecken bei WLAN-Routern, etc.
  • Framerate-Probleme auf dem Client (obwohl, siehe oben, in einigen Fällen wurde dies ein wenig verbessert).
Hier sind die Dinge, die verbessert wurden. Die Torque-Server senden jetzt die gleiche Menge an Informationen in etwa der halben Größe (also eine zweifache Verbesserung). Da die Größe der Aktualisierungspakete um das Dreifache erhöht wurde, sollten die Torque-Server in der Lage sein, eine vier- bis sechsfache Erhöhung der Last mit der gleichen Leistung wie zuvor zu bewältigen. Das ist die theoretische Zahl, aber die Realität ist komplizierter. Diese Korrekturen haben den Torque/C++-Lag mit Sicherheit reduziert. Wir hoffen, dass die Ältesten der Stufe 95 und die Bosse der Event-Zonen jetzt ein besseres Erlebnis bieten als zuvor.
 

Tiberius

Neonga Nation
Forum Moderator
FAN FREITAG
Das Ardent Ledger wäre nicht vollständig ohne einen Rückblick auf einige der großartigen Fan-Freitags-Beiträge, die von unserer wahnsinnig talentierten Spielergemeinschaft im vergangenen Jahr erstellt wurden! Es ist jede Woche ein Vergnügen, die eingereichten Beiträge zu sehen. Vielen Dank, liebe Fan Friday-Teilnehmer, für all die Zeit, Mühe und Kreativität, die ihr in eure Einsendungen steckt. Wir lieben eure fantastischen Kreationen, bitte hört nicht auf, uns Eure Beiträge zu schicken!


ARDENT LEDGER BEITRÄGE
Wir freuen uns über Einsendungen von Spielern! Wenn jemand von euch Gedanken, Neuigkeiten, Anekdoten, lustige Screenshots, Rätsel, Memes oder VH-Informationen jeglicher Art hat, die er in der nächsten Ausgabe des Ardent Ledger veröffentlichen möchte, dann tut das bitte! Im Jahr 2024 wird der Ardent Ledger wieder REGELMÄSSIG erscheinen, nicht nur alle Jubeljahre! Beiträge von Spielern sind sehr willkommen (und werden benötigt)! Bitte schickt einfach eine E-Mail an:

social@madottergames.com

(Betreff: Ardent Ledger submission)

Wir freuen uns darauf, von euch zu hören 😀 .
 
Top