Von Partikelfortschritten und Spielverderbern

Leute,

wir hatten eine arbeitsreiche Woche hier bei CSE! Wir gingen viele verschiedene Features mit den individuellen Fähigkeiten unserer Teammitglieder an – und da spreche ich nur von der Arbeit, die es diese Woche ins Spiel geschafft hat! Wir haben momentan noch zahlreiche weitere Features und Aufgaben im Feuer, genau wie ihr es von unseren hart arbeitenden Leuten inzwischen erwartet. Hand aufs Herz, als Produzent dieses Projektes, der schon eine Menge Projekte während seiner Laufbahn betreut hat, empfand ich es noch nie als so herausfordernd, mit so einem fleißigen und gewissenhaften Team mitzuhalten, wie jetzt. Wenn es Montagmorgen losgeht, setzen sich Tim, Scott, Brittany, Andrew, Mark und ich zusammen und sprechen über die Pläne für die Woche. (Nur eine von vielen kleinen Besprechungen, die andauernd stattfinden und zügigen Fortschritten dienen.) Wir treten aus dem Konferenzraum heraus, führen die Montagmorgen-“Standups“ durch, so dass sich das Team auch untereinander auf den selben Stand bringen kann und BÄM! Schon ist es Freitag. Oder zumindest fühlt es sich so an, wenn einen die Woche so fordert.

Vielleicht ist es eine Folge der wachsenden Teamgröße, vielleicht ist es ein allgemeiner Anstieg der Produktivität, nun da sich die neuen Teammitglieder eingewöhnt und unsere weniger erfahrenen Entwickler immer mehr an Erfahrung gewinnen, oder vielleicht liegt es an der höheren Testfrequenz, um all der Änderungen Herr zu bleiben. Ich weiß nur Eines: Wir scheinen uns immer mehr reinzuhängen, immer intelligenter vorzugehen und sehen bei diesem anspruchsvollen Projekt nun zügiger Resultate als jemals zuvor. Während die Tage also immer schneller vergehen, könnte ich nicht stolzer auf unser Team oder das Projekt sein – und so fühle ich mich ständig. Wir holen langsam auf, Leute! Ich hoffe, das spiegelt sich in unserer Transparenz und Ehrlichkeit wider. Ich muss zudem erwähnen, dass wir nicht nur aufholen, sondern diverse Systeme im Vergleich zu unseren ursprünglichen Beta 1-Plänen entschieden verbessert haben.

Nun da meine Sentimentalitäten aus dem Weg sind, lasst uns mit dem Update dieser Woche fortfahren. Vorhin hat Mark einen Stream zu den Quasi-Top Ten der Woche abgehalten und sich in der zweiten Hälfte des Streams diversen Fragen gestellt. Solltet ihr Fragen zum Spiel haben oder euch schlicht dafür interessieren, was Andere so fragen, dann ist der Freitagabendstream genau der Richtige! Für alle, die sich zum ersten Mal mit Camelot Unchained befassen: Üblicherweise liefern wir ein wöchentliches Update mit den Highlights, die wir „Quasi-Top Ten“ nennen, da sie meist mehr als zehn Punkte umfassen. Im Zweiwochentakt gibt es schließlich unsere Fassung von „User-Storys“, die eine detaillierte Version unserer Fortschrittsupdates darstellt. Diese landen auch in der User-Story Rubrik (Anm. d. Übersetzers: Nur auf der US-Seite) unserer Website. Interessiert euch also ein spezifischer Aspekt von CU, dann seht euch doch dort mal um.

Quasi-Top Ten: (Beginnend mit etwas ganz Wichtigem!)

  1. In Bearbeitung – Technik – Partikel-Rendering:Wir sind heute auf der Zielgeraden bei unserer ersten großen Code-Implementation in Sachen „verbessertes VFX/SFX-System“, während Bull, Dave und George letzte Hand an diese ziemlich große Ergänzung legen. Über dieses System berichten wir schon seit Monaten. Teil dieses neuen Codes sind beinahe einDutzend neue Features sowie zusätzliche Funktionen für bereits vorhandene Teile des Partikel- bzw. Beleuchtungssystems. Im nächsten Schritt müssen Mike und das Art-Team bestehende VFX anpassen, um das neue System mit ihnen zu testen. Wie schon beim Animationssystem, handelt es sich hierbei um etwas, das noch lange in Bearbeitung sein wird und als Grundlage für unsere nächste große Verbesserung dienen soll, die während der Beta 1 umgesetzt wird. In der Zwischenzeit erlaubt das System unserer Welt sich lebendiger, magischer, interessanter – und nicht zu vergessen – performanter anzufühlen!
    1. Partikel werden nun von der Welt beleuchtet. (Das heißt kein leuchtendes Laub mehr, es sei denn wir wollen es so.)
    2. Partikel werfen nun Schatten.
    3. Partikel können dank der beiden vorherigen Punkte nun Normalmaps nutzen.
    4. Unterstützung für Glowmaps
    5. Optimierter Umgang mit Transparenzen und Verzerrungen
    6. Mehr Ausrichtungsoptionen für Partikel
    7. Weiche und volumetrische Partikel
    8. Subtraktive Beleuchtung
    9. Zusätzliche Performanceverbesserungen durch die Verwendung eines Geometrie-Shaders, der mit weniger Daten pro Partikel auskommt; Damit sind wir auch für zukünftige Optimierungen gewappnet.
    10. Komfortverbesserungen am Partikel-Editor, um neue Features zu unterstützen und Mikes Arbeitsabläufe zu beschleunigen
    11. Art – Tyler hat an einer VFX-Zone für Performance- und Funktionstests gearbeitet, in der wir beobachten können, wie viele Effekte wir allein in der Umgebung unterbringen können.
  2. In Bearbeitung – Technik – Manuelles Zielen:Matt war fleißig diese Woche! Für Testzwecke hat er weitere Zielmodi implementiert. Wir sagten ja bereits, dass unser Ziel eine Mechanik ist, die für unser Spiel Sinn macht. Unterhaltsam und benutzerfreundlich soll sie sein und wir verschreiben uns keiner speziellen Mechanik, während wir mit eurer Hilfe verschiedenste Designansätze durchprobieren. Außerdem hat Matt diverse Fehler am Zielsystem behoben.
  3. In Bearbeitung – Technik – Springen:Andrew und Scott verbrachten das Ende letzter Woche sowie Teile dieser Woche mit Arbeiten an einer deutlich besseren Lösung fürs Springen, die sich das sich ausdehnende Animationssystem zu Nutze macht. Die neue Version besteht mit einer Vorbereitungs-, Wiederholungs-, und Abklingphase aus drei Teilen. Schon jetzt fühlt es sich deutlich besser an und zukünftige Pläne sehen noch vom Spieler-Input abhängigeSprunghöhen, Sprünge mit Anlauf sowie einen Ausgleich für lange Flug- und Abklingzeiten vor (wenn man zum Beispiel aus einem Luch-a-Pult abgefeuert wird)!
  4. Technik – Elasticsearch in C++: Colin hat nun der Datenbank anstelle dem Dateisystem Protokollmöglichkeiten hinzugefügt, um Serverprobleme besser aufspüren zu können. Das wird uns nicht nur beim Eliminieren unseres derzeitigen, schwer zu findenden Stabilitätsbugs helfen, sondern uns auch zukünftig die Fehlersuche erleichtern.
  5. Technik – Erneuter Blick auf Serverstarts:Als Rob gerade einige Aktualisierungen an den Spawnpunkten der Spieler zum Abschluss brachte, nahm er einen kleinen Umweg und ordnete einige Startaufgaben des Servers neu. Dadurch fielen uns einige Probleme auf, durch die man in eine Zone laden konnte, noch bevor Dinge wie Fähigkeiten oder Gebäude fertig geladen waren (was gar nicht mal so gut ist, wie einige unserer Backer herausfanden).
  6. In Bearbeitung – Technik – Fledgling:Fledgling lebt! Wie im Produzenten-„Post-Mortem“ im Newsletter letzten Monat erwähnt, haben wir einen weiteren Testserver an den Start gebracht. Auf Fledgling können wir eine testfähige Schattenkopie dessen aufspielen, was gerade auf Hatchery läuft (unserem brandneusten Code), ohne das Team daran zu hindern, auf Hatchery weiterzuentwickeln.
  7. In Bearbeitung – Fähigkeiten aus der Datenbank laden:Als Teil von JBs Neuerungen am UI haben wir das Laden von Fähigkeiten aus dem Dateisystem in die Datenbank verlegt. Dadurch können wir die entsprechenden Infos und relevanten Daten zügiger ins UI laden und gleichzeitig einfacher damit arbeiten.
  8. Technik – Verbesserungen an der Beleuchtungstransparenz: In Ergänzung zum aktualisierten Partikel-Rendering, haben wir das Rendering von beleuchteten Transparenzen verbessert. Werft einen Blick auf die entsprechenden Bilder im heutigen Update, auf denen ihr sehen werdet, dass unsere Beleuchtung nun deutlich besser mit Transparenzen zusammenwirken kann, beispielsweise im Wasser!
  9. In Bearbeitung – Art – Weiden:In Anlehnung an die Bilder der frisch erstellten Bäume von letzter Woche hat Dionne die bisherigen Texturen verbessert und zugunsten der Vielfalt noch zwei weitere Sets erstellt. Gerade schließt sie den Problemlösungs-Durchgang am LOD-Setup ab, um die Performance zu verbessern. Als Nächstes stehen Variationen bei Größe und Form sowie passende Bodentexturen an, um das Gefühl zu vermitteln, dass sie auch in die Welt rein gehören.
  10. Art – Animationen: Auf der Asset-Seite der Animationen waren Scott und Sandra fleißig damit beschäftigt, folgende Aufgaben zu vollenden:
    1. Aktualisierungen an den bisherigen Sprunganimationen, so dass sie mit Andrews Änderungen besser zusammenarbeiten
    2. Unbewaffnete Kampf-Idles
    3. Verbesserungen an den Kampfbewegungen mit der zweihändigen Axt
    4. In Bearbeitung – Überarbeitung der Stangenwaffenanimationen, um die Bewegungen des Unterkörpers zu integrieren, da sich das als ansehnlicher herausgestellt hat
    5. Zusätzliche Besprechungen und Aufgabenvorbereitung für weitere Verbesserungen an Optik & Spielgefühl.
  11. In Bearbeitung – Art – Testkarte für VFX: Tyler hat angefangen einen Gelände-Mod mit zusätzlichen Assets einzurichten, um die VFX-Performance und neue Features zu testen.
  12. In Bearbeitung – Art – Belagerungsgerät:Anfang der Woche hat Jon seine Arbeit an der arturischen Belagerungswaffe gestreamt und beendet die Woche mit der Modellierung des polygonreichen Modells. Als Nächstes geht es für ihn weiter zu den Texturen.
  13. In Bearbeitung – Art – Beta 1-Rohstoffvorkommen:Für die Beta 1 planen wir zunächst einfache Modelle, von denen Spieler Ressourcen wie etwa Holz, Stein und Metalle beziehen können. Zum Testen von Christinas Rohstoffvorkommen-Codes haben wir einige Holzstapel zusammengestellt. Als Nächstes untersuchen wir die Zeit, die wir zum Anpassen der verschiedenen Texturvariationen an die Rohstofftypen benötigen und legen dementsprechend die angestrebte Anzahl unterschiedlicher Texturen für den Start der Beta 1 fest.
  14. In Bearbeitung – Art – Weitere VFX zum Testen:Mike war fleißig und hat zahlreiche Testfälle zum Testen der technischen Verbesserungen, die ich bereits oben nannte, erstellt und hat nun begonnen neue Umgebungs-VFX, wie etwa fallende Blätter oder Gischt für Transparenztests zu erschaffen. Diese setzt er dann bald fort, indem er dem Ort der Macht Rauch und Luftpartikel hinzufügt.

Solide Quasi-Top Ten für uns diese Woche. Stürzen wir uns nun in die User-Storys der letzten beiden Wochen. Wenn ihr einige der Einzelheiten unserer derzeitigen Hauptaufgaben erfahren wollt, lest weiter. Wollt ihr indessen gleich zu den hübschen Bildern springen, dann scrollt einfach drüber.

User-Storys:
50 erledigte Punkte bei alten Karten.
2 erledigte Punkte bei neuen Karten.

Bestehende Karten:

As a Backer, I’d like to be able to be able to play an Archer.
Refactor to support multiple different mouse control schemes at the same time for playtesting. – Complete

As a Backer, I’d like to find unique environment props, or unique locations, that add flavor to the environment while I’m exploring the Biomes.
Ruined statue environment accent v7 – mats – Complete

As a Backer, I’d like to know about smaller changes that don’t have their own user story. – Complete
Set ResourceManager on AudioController before attempting to load things. – Complete
Add option to disable sending webhooks from a specific api server via settings conf. – Complete
Update web api csproj so it builds on jenkins. – Complete
CogSnapShotCache is replaced by CogSnapShotRefs using DefRefs. – Complete
ClientSkills tag lookup now uses system in CogSnapShotRef. – Complete
Add /timeScale when running in noserver mode. – Complete
Remove console output destinations when removing UI windows to prevent duplicate messages on zone transitions. – Complete
Update respawning rules to factor in building permissions. – Complete
Load gameplay defref channel during database init task. – Complete
Reorder server startup tasks to support new game functionality. – Complete

As a Backer, I’d like to see the world of Camelot Unchained continue to develop through its lore.
Picts Becoming – Final draft. – Complete

As a Backer, I want to be able to own a plot of land and build within it. – First Pass
Server/Client message and code for adding/removing sub-grids. – Complete
Can build plots in offline mode. – Complete
Add which grid is being edited to BuildingCellChange proto message. – Complete
Add the ability to call commands on nearby buildings from the client. – Complete
Buillding commands query against plots rather than buildings. – Complete

As both a Backer and developer, I’d like to have more dev commands to facilitate testing, and general interactions with the player community.
Add admin commands to reboot server. – Complete

As a Backer, I’d like to see improvements in server stability, speed, and robustness.
Integrate ElasticSearch to log on database instead of file system. – Complete

As a Developer and Backer, I’d like to see improvements in lighting and rendering.
Fixed impostors-with-children crashing. – Complete

As a Backer I’d like a patcher to not only update my game, but also give me the most important news and updates, get support, chat with the community and look awesome while doing it!
Add retries for connecting to chat server to server startup tasks. – Complete

As a Developer, I’d like to see improvements in the editor to facilitate my work.
Move the editor to use the new DefRef-based cog snapshot API. – Complete

As a Backer in Beta 1, I’d like to play as a Crafter with basic gathering and crafting mechanics for testing.
Lock system to constrict which recipes and nodes are available to which players. – Complete
Alloys:
Defines how to take substances and make alloys. – Complete
Set up recipes as a list of ingredient rules which can constrain ingredient types, quality and amounts. – Complete
Track percent remaining for the alloy. – Complete
Setup Alloys code-side to have an entry as an ItemDef – Complete
Allow alloys to be crafted from data sheets. – Complete

As a Backer in Beta 1, I’d like to be able to pick an item up off the ground, put it in my inventory, and if applicable, equip it.
Update ItemMessage to be able to notify the client on change. – Complete

As a Developer, I’d like the Camelot Unchained ability system to fully support the design scope of the game for B1.
Server-side implementation of ‘cancel all skills’. – Complete
Load skills on API server. – Complete

As a Developer, I’d like to prototype various combat animations to support future system improvements during Beta.
2-Handed Axe Animations:
Greataxe upper body combat locomotion – second pass. – Complete
Audits and improvements to pre-existing assets:
Empty-handed combat idle. – Complete
Empty-handed combat idle alt. – Complete
Jump Improvements:
Create new jump prep phase, hang loop, and recover phase using two-handed axe prototype. – Complete

As a Backer, I want to seamlessly move between islands and zones without being aware that I’m moving between different game servers.
Added new audio events for loading and transitions. – Complete
Play zone transition audio as a local player sound. – Complete
Load sound banks before loading zone to prevent models with attached sound events. – Complete
Fix initialization order issue that was causing the game server to send an empty address to the presence server. – Complete
Reset ModeComponent when sending between servers. – Complete
Clear active proxies when we dispose the proxy manager. – Complete

As a Backer in Beta 1, I’d like to be able to further personalize my character through the use of the Banes and Boons system.
Add min/max traits points in web API response. – Complete

As a Developer, I’d like to pull the physics server out to its own process for improved network performance.
Proxy servers now reconnect to physics server. – Complete

As a Backer, I want an animation system that blends multiple animations together, and allows for immersive and fun combat.
Update the AnimSet on the skeleton cog only when build succeeds. – Complete
Initial jump re-implementation. – Complete
Prioritize jump over walk. – Complete
Update compression of anim data and reference same keyframes when two clips have same bone data to decrease skeleton data size. – Complete
Add animation ClipTags for Fall and Land. – Complete

Neue Karten:

As a Backer, I’d like to play in new biomes that change according to Realm ownership. – Mini biome – Willow trees.
First pass base tree geometry and materials. – Complete
Trees: Additional base material variations created. – Complete

Ich bin stolz, sagen zu können, dass man über den Verlauf der letzten paar Updates wirklich erkennen konnte, dass wir eine gute Geschwindigkeit halten und es auch keine Anzeichen für ein Ausbremsen gibt. Im künstlerischen Teil haben sich diesmal alle in mannigfaltigen Bereichen angestrengt. Auch wenn unsere Änderungen am Partikel-Rendering erst heute das Licht der Welt erblickt haben und es deshalb noch keine spannenden Beispiele zu zeigen gibt, so können wir zumindest demonstrieren, wie viel besser unser „Forward+“-Beleuchtungssystem nun mit Transparenzen umgehen kann. Im ersten Bild seht ihr noch einmal, wie die Beleuchtung bei Transparenzen im Wasser vorher ganz klar versagt hat. Wie immer gilt: Diese Screenshots wurden nicht retuschiert (abgesehen von dem Einfügen unseres Wasserzeichens natürlich)!

Die folgenden zwei Bilder zeigen das Ergebnis der Mühen dieser Woche. George nennt es eine „Bonus-Verbesserung!“ zur eigentlichen Arbeit an den Partikeln. Man erkennt deutlich die Verbesserung beim Wasserverhalten unseres Lichts.


Doch nun kommen wir zum wirklich coolen Teil: Im nachfolgenden Bild wird die Anzahl der Lichter, die je „Block“ gerendert werden, durch Farben symbolisiert. Hier die Kurzfassung des Farbspektrums:
1 Licht = Türkis
3 Lichter = Blau
5-7 Lichter = Grün
11-15 Lichter = Gelb
24-35 Lichter = Orange
53-78 Lichter = Rot bzw. jenseits der 172-256 violett. Die Gesamtanzahl der Lichter in dieser Szene beträgt ungefähr 2048! Ich würde behaupten, wir sind in Sachen VFX und Beleuchtung auf dem besten Weg in Richtung gewaltiger Schlachten – und von hier an wird es nur noch besser.

In Anlehnung an die oben erwähnten neuen Funktionen unseres VFX-Systems zeigt das folgende Bild ein Testbeispiel leuchtender Partikel unter Einsatz von Shading und Normalmaps. Bei diesen Würfeln handelt es sich tatsächlich um Partikel und nicht um geometrische Modelle.

Bewegen wir uns ins Reich der Animation, wo Scott einige Prüfgänge an den Kampfbewegungen der zweihändigen Streitaxt abgeschlossen hat. Gut zu erkennen ist das im folgenden Bild, in dem unser Wikinger nach Zielen Ausschau hält! In letzter Minute hat Scott außerdem ein schnelles Render von seinen momentanen Arbeiten an der Zieh- bzw. Wegsteckanimation der Zweihandaxt beigesteuert. Werft auf unserem Youtube-Kanal einen Blick drauf.

In Sachen Umgebungsdesign warten wir mit Bildern von Optimierungen auf, die an der Rohfassung der Weiden vorgenommen wurden. Dionnes entsprechenden Stream von letzter Woche findet ihr HIER. Besagte Bilder zeigen Verbesserungen an der Geometrie und den bisherigen Blütentexturen sowie einer Blatt- und Blatt/Blüten-Variation. Wir halten nach wie vor stetig Ausschau nach Möglichkeiten, um die Welt durch Variationen im Weltendesign natürlicher und lebendiger wirken zu lassen. Diesem Ansatz werden auch unsere VFX-Updates zu Gute kommen, indem wir später fallendes Laub, Staubpartikel, magische Lichter, etc. hinzufügen.


Michelle arbeitete indes an der Aufhübschung unserer Rohfassung der Elemente fürs Beta 1-UI. Die beiden folgenden Bilder stellen in Bearbeitung befindliche Ideen für die allgemeine Stilrichtung sowie mögliche Ideen für den Lebensbalken der Charaktere dar.


Sofern ihr Jons Stream von Anfang der Woche verfolgt habt, konntet ihr sehen, wie er Michelles Konzeptzeichnungen zur Auftakt-Etappe funktionierender Belagerungswaffen weiterentwickelt hat. Dieses Bild dreht sich um die Modellierarbeiten am polygonreichen Modell, also die Voraussetzung für die Texturierung nächste Woche.


Um die Woche mit einer süßen Note ausklingen zu lassen, hier noch ein großes Dankeschön an Zenksor, der unserem neuesten Mitglied des CSE-Teams einen besonderen Stein geschenkt hat, auf dem sie sich fortan sonnen kann. Hiermit bedankt sich Sandra bei dir persönlich!

Das wars dann also für diese Woche hier bei CSE. Begleitet uns auch nächste Woche wieder für weitere Infos und mehr Streaming.

CU

– t

P.S.: Achja, warum eigentlich „Spielverderber“ im Titel? MailChimp (unser Rundmail-Anbieter) verhielt sich heute Abend besonders unkooperativ und hat Mark und mich gezwungen, tonnenweise Zeit zu verschwenden (die wir bei unseren wunderbaren Familien verbringen hätten können), um diese E-Mail heute noch an unsere Backer rausgeben zu können.