HdRO LUA-Entwicklertagebuch

Artikelbild

Benutzeroberfläche: Ein wichtiger Faktor bei Spielen.

Bei einigen Spielen wird nur eine geringfügige Benutzeroberfläche benötigt, während bei anderen Spielen, wie MMOs, eine weit komplexere von Nöten ist, damit den Spielern die zahlreichen wichtigen Informationen während des Spiels zur Verfügung stehen.

Bei “Der Herr der Ringe Online“ läuft hinter den Kulissen so einiges ab. Während unsere Techniker, Designer und Künstler die benötigten Informationen immer auf möglichst hilfreiche Weise einbauen wollten, ließen dies unsere Entwickler-Werkzeuge und die begrenzte Zeit nicht immer in der Weise zu, wie wir es eigentlich beabsichtigt hatten. Neben diesen Einschränkungen kann man sowieso nie eine wahrhaft „perfekte“ Benutzeroberfläche erstellen, weil man dem Benutzer individuelle Gestaltungsmöglichkeiten einräumen muss, da jeder Spieler seine eigene Vorstellung der „perfekten“ Benutzeroberfläche hat. Das Hinzufügen eines Systems mit Skins für die Benutzeroberfläche war 2007 ein Schritt in die richtige Richtung, aber wir (ebenso wie viele von euch!) wollten noch mehr.

Seitdem ich Ende 2007 Spielsystem-Techniker bei HdRO geworden bin, habe ich eine Hassliebe zu unserer Benutzeroberfläche entwickelt und wurde seither die Ansprechperson dafür. Ich wollte immer etwas mehr aus unserem System rausholen und erzählte jedem, der mir zuhörte, was genau ich haben wollte. Vor ungefähr einem Jahr wurde mein Klagen/ Bitten/ Jammern durch „ForsakenArcher“ erhört, einer unserer begabten internen Werkzeuge-Techniker. Wir wurden durch meinen guten Freund „Agiclaw“ zusammengebracht (der auch ein Werkzeuge-Techniker ist) und sprachen eine Weile über die Schwächen unserer Benutzeroberfläche (sowohl in Bezug auf das System selbst als auch in Bezug auf die Verwendung im Spiel) und was für ein Segen ein „geskriptetes“ System doch für uns sein würde. Bei unseren Gesprächen kamen wir auf LUA zu sprechen, das bei vielen anderen Spielen erfolgreich eingesetzt wurde. Ehrgeizig wie er ist, bat mich Forsaken um die Bücher, die ich über das Skripten und den Einsatz von LUA hatte, damit er sich in das Thema einarbeiten und eine Möglichkeit finden könne, so etwas in unser Spiel einzubauen. Innerhalb kurzer Zeit hatte Forsaken das, was wir für einen Prototypen brauchten, um mit einem erstellten System LUA-Skripte ins Spiel zu laden und von uns bestimmte Funktionen zu unterstützen. Und so begann die Reise von „LUA bei HdRO“ in Richtung Realität.

Nachdem das Grundsystem stand, begann die lange Reise, um zu beweisen, dass eine mit LUA geskriptete Oberfläche den Aufwand zweifelsohne wert sein würde. Es vergingen viele Stunden des Erforschens - einige von euch erinnern sich vielleicht an meinen Forumseintrag „What drives you crazy about our UI?“ (Was stört euch an eurer Benutzeroberfläche?) – und es wurde dabei auch viel Zeit in zahlreiche Dokumente, Präsentationen, Vergleiche und weitere lustige Dinge gesteckt, derer es eben bedurfte, um zu beweisen, dass LUA ein großer Segen sein würde, während unser Prototyp schon unruhig auf eine Demonstration wartete.

Unser Trio Infernale (Forsaken, Agiclaw und ich) konnte die Machthaber mit der Hilfe des einzigartigen „Frosty“ überzeugen, dass zumindest die Individualiserungsmöglichkeit bei LUA nicht mehr länger ein „falls“, sondern ein „wenn“ war. Zu diesem Zeitpunkt nahm die Entwicklung des Kostenlos Spielens volle Fahrt auf, wodurch sich unser Fenster, um LUA noch in Band III, Buch 2 zu bringen (= Beginn von Kostenlos Spielen), schnell zu schließen drohte. Man gestand mir die restliche verfügbare Zeit zu, um an den „APIs“ des Spielsystems zu arbeiten (das sind die Funktionen, mit denen Benutzer bei LUA die benötigten Informationen erlangen können), während die Designer immer noch am Feinschliff für das Kostenlos Spielen arbeiten würden. In der Zwischenzeit wurden Forsaken und Agiclaw freigestellt, um sich ihrem Lieblingsprojekt LUA widmen zu können. Zudem wurden zahlreiche Privatstunden in das Projekt gesteckt. Obwohl wir nicht alles in das fertige Produkt packen konnten, so war es dennoch bereits ein toller Anfang und konnte zunächst mit Rücksicht auf seinen „Beta-Status“ veröffentlicht werden, wie wir es auch schon bei DirectX10 und dem Quest-Guide getan hatten.

Da ihr jetzt den grundlegenden Hintergrund kennt, wie LUA in unser Spiel eingebaut wurde, um eine bessere individuelle Gestaltung der Benutzeroberfläche zu ermöglichen, sollte ich euch jetzt einen Ausblick auf das bieten, was das System leisten kann. LUA-Skripte funktionieren mittels so genannter „APIs“. Wir haben zu Beginn eine Vielzahl grundlegender APIs für die Benutzeroberfläche (wie Textkästen, Fenster, Schaltflächen usw.) eingebaut sowie drei Haupt-APIs fürs Gameplay, die aufgrund von Spielerresonanz bezüglich der aktuellen Einschränkungen der Benutzeroberfläche gewählt wurden. Der Grund dafür, dass es vorerst nur drei Haupt-APIs fürs Gameplay gibt, war schlicht und ergreifend die beschränkte Zeit, aber es wird in Zukunft noch eine ganze Liste weiterer APIs bei HdRO geben. Die drei Gameplay-APIs zu Beginn sind die folgenden:

  • Schnellzugriff – Ermöglicht die Erstellung und Individualisierung zusätzlicher Schnellzugriffsfelder.
  • Gesundheitsanzeige des eigenen Charakters – zeigt Effekt-Informationen sowie Moral und Kraft nur für sich selbst an – Gesundheitsanzeigen für Gefährten und Gegner konnten aufgrund Zeitmangels noch nicht eingebaut werden, was bei zukünftigen Erweiterungen nachgeholt wird.
  • Inventar – Ermöglicht das individuelle Sortieren eures Inventars. Ihr könnt z.B. die Anzeige eines einzelnen Beutels eures Inventars einrichten.



Wie ich anfangs schon erwähnte, so ging es uns hauptsächlich um eine Verbesserung der Benutzeroberfläche und nicht um die Einführung schleierhafter Informationen oder um die Möglichkeit Dinge zu tun, die die Spieler sonst nicht tun könnten (wie „Bots“ oder „Makros“). Fertigkeiten oder Gegenstände wird man nicht durch LUA-Skripte verwenden können. Außerdem erlauben wir keine Simulation von Mausklicks. Diese Einschränkungen müssen sein, um automatisiertes Gameplay zu verhindern. Eine weitere beabsichtigte Einschränkung ist, dass ihr nur Informationen über euer eigenes Inventar erhaltet, nicht über das anderer Spieler. Ja, das bedeutet, dass ihr eure Ausrüstung nicht nach Punkten bewerten und untereinander vergleichen könnt.

LUA hat bei HdRO eine rosige Zukunft. Obwohl die aktuelle Funktionalität eingeschränkt ist, werden wir das System weiterentwickeln, damit sowohl das bestehende als auch das neue Spielsystem Funktionen bieten, die dem Spieler eine noch persönlichere Gestaltung der Benutzeroberfläche ermöglichen.

Um einen kurzen Ausblick zu tätigen: Die Arbeit an einem API für die Gesundheitsanzeigen von Gefährten und Gegnern steht auf unserer „To-Do-Liste“ aktuell ganz oben. Zudem achten wir auf Resonanz zur Benutzeroberfläche und identifizieren weitere Schmerzstellen, wo LUA helfen könnte, das Spielerlebnis zu verbessern. Ein kurzer Vorgeschmack auf einige Bereiche, die wir uns näher ansehen wollen (in beliebiger Reihenfolge):

  • Benutzeroberfläche des Lagerraums
  • Mauszeiger
  • Individualisierung von Chat-Fenstern
  • Benutzeroberfläche von Sippen



Dieses System hat bereits eine Testphase überstanden, was zu einem Großteil auch an euch und eurem Feedback liegt. Wir hoffen, dass ihr Freude an dem habt, was wir bisher erarbeitet haben, und dass ihr uns weiterhin konstruktive Kritik zukommen lasst, denn das System wird im Laufe der Zeit noch wachsen.

Besonderer Dank geht an:

  • ForsakenArcher und Agiclaw, ohne deren Arbeit und Hingabe wir ein solches System über Jahre noch nicht bekommen hätten, falls überhaupt.
  • Frosty, der in den stressigsten Momenten zu Hilfe kam und eine wichtige Rolle bei der Zulassung dieses Systems gespielt hat.
  • ZombieColumbus, Amlug und alle anderen Designer, die uns unterstützt haben, als wir um Zustimmung für das System gekämpft haben.
  • Unsere Beta-Tester und all unsere Spieler: Ohne eure Unterstützung und euer Feedback hätte es dieses System nie gegeben