Die BSC (steht für Bat-Shit-Crazy bzw. „völlig bekloppten“) - Tage waren ein Event, welches aus einer Reihe von Video- bzw. Textpräsentationen, Updates und Enthüllungen bestand und von City State Entertainment vom 14.07. - 17.07.2014 abgehalten wurde. In Bezug auf Camelot Unchained verwendet City State Entertainment den Ausdruck BSC häufig in Verbindung mit den dezent unorthodoxen und vielleicht auch ein wenig „verrückten“ Ideen zu unseren Spielmechaniken von Mark Jacobs und dem Team von City State Entertainment. Das BSC-Tage-Event enthüllte eine Vielzahl von frühen Inhalts- und Gameplay-Ideen zu Camelot Unchained.

Das Problem – Wie man eine gute UI erstellt

  • UIs in MMORPGs waren und sind eine großartige Inspiration und gleichzeitig auch Frustration für Spieler und Entwickler
    • Was eine großartige UI ausmacht, kann sehr individuell und subjektiv sein
      • Während es gemeinsame Faktoren, wie Geschwindigkeit, Reaktionsfähigkeit und gesamte Funktionalität gibt, sind die individuellen Erwartungen meist eher einzigartig
  • UIs neigen dazu, zum Design und zur Entwicklung eine große Menge an Entwicklerzeit einzunehmen

Die Lösung

  • Wie während unseres Kickstarters bereits besprochen, werden wir unsere UI mit Webtechnologien erstellen
    • Dies ist nur der erste Schritt unseres Weges. Das Web bietet uns einige der benötigten Werkzeuge, wir brauchen aber auch einiges an eigenem Code
    • Die Benutzeroberfläche wird mit Webtechnologien erstellt, um Spielern die Möglichkeit zu geben, ihre eigenen Oberflächen mit HTML5 und Javascript zu gestalten
  • Um den Spielern die Möglichkeit zu geben, die UI auf die nächste Stufe zu bringen, werden wir den kompletten Code dafür offenlegen und nicht nur ein paar Schnittstellen
    • Diesen werden wir auf GitHub unter der Mozilla Public License veröffentlichen
      • Es gestattet der gesamten Community von Camelot Unchained Zugang zum Quellcode
      • GitHub dient als Repository für den Quellcode und erlaubt der Community diesen zu kommentieren und zu verbessern
        • Wenn wir Änderungen bestätigen, können wir diese in unsere eigenen Bibliotheken übernehmen
      • Der Quellcode ist bereits auf GitHub unter https://github.com/csegames/cu-ui verfügbar
  • Wenn ihr euch mit den anderen furchtlosen Moddern und Hackern austauschen wollt, besucht unser Backer-Forum auf: https://forums.camelotunchained.com/forum/63-ui-modding-api/

Mods Erstellen

  • Die Benutzeroberfläche ist unter Verwendung von Chromium erstellt, um Web-Funktionen zu unterstützen
  • Die UI nutzt jQuery, eine JavaScript Bibliothek, welche die Arbeit mit DOM, AJAX, Events und Effekten deutlich vereinfacht
    • Wird auf vielen Websites bereits verwendet
    • Bei der Mehrheit der Webentwickler gut bekannt
  • Die underscore.js JavaScript-Bibliothek wurde für die Bequemlichkeit und Übersichtlichkeit des Codes eingebaut
    • Viele „helfende“ Funktionen, trotz nur ca. 1000 Zeilen Code
    • Berücksichtigt das Paradigma der funktionalen Programmierung von JavaScript
  • Die UI ist in TypeScript geschrieben, was Compilerfunktionen bereitstellt, um Fehler früher zu erkennen
    • Im Wesentlichen ist es: JavaScript trifft C#
    • Benutzerfreundlich; weniger fehleranfällig für unerfahrene Programmierer
    • Unterstützt auch reines JavaScript, man muss keine neue Sprache lernen

Kleinigkeiten

  • Soziale Funktionen für Gruppen, Gilden etc. können mit Webtechnologien werden
  • Der Spielchat kann über externe XMPP-Programme, wie Trillian, auch über Webseitenintegration für alle unsere Unterstützer zugänglich gemacht werden (wird bald umgesetzt)
    • Dies ist genau derselbe Code, welchen wie für den Spielchat verwenden. Das ist ein perfektes Beispiel, wie wir unseren Quellcode mit Webtechnologien entwickeln
    • Auch dies System wurde über Monate getestet und es war seither sehr stabil
    • Spieler können so einfach kommunizieren, unabhängig davon, ob sie im Spiel sind oder auf einer entsprechenden Website bzw. mobilen App sind
      • Es ist nicht länger notwendig einzuloggen, um nach Freunden oder der Gilde zu schauen. Ihr könnt dies einfach per XMPP-Programm tun
      • Reichsübergreifende Unterhaltungen werden von diesem System nicht unterstützt. Ihr könnt euch nicht mit Leuten unterhalten, welche sich nicht auf eurem Server und Reich aufhalten

Zusammenfassung

  • CSE machte den ersten Schritt, eine offene MMORPG-Benutzeroberfläche zu gestalten, durch die Entscheidung, Chromium zu nutzen
  • Nun bringen wir dies auf die nächste Stufe, indem wir den UI-Quellcode auf GitHub veröffentlichen und Leute dazu einladen daran mitzuarbeiten
  • Die UI-Codebasis beinhaltet auch jQuery und underscore.js und ist in TypeScript geschrieben
  • Wenn ihr euch mit den anderen furchtlosen Moddern und Hackern austauschen wollt, besucht unser Backer-Forum auf: https://forums.camelotunchained.com/forum/63-ui-modding-api/
  • Das Chatsystem von Camelot Unchained nutzt XMPP und wurde über Monate von unseren internen Testern ausprobiert
    • Wir werden bald unser Chatsystem allen Unterstützern zugänglich machen
    • Auf den Chat kann per kompatiblen XMPP-Apps und -Programmen zugegriffen werden, Unterstützer außerhalb des Spiels können mit jenen im Spiel kommunizieren und umgekehrt
      • Reichsübergreifende Chats werden in der veröffentlichten Version des Spiels nicht erlaubt sein