Aus dem Nähkästchen Nr. 3

Ihr werdet es kaum glauben, aber wir haben gute Neuigkeiten für euch! Zurzeit suchen wir nach Möglichkeiten, die Performance und die Bildrate zu verbessern. Wir möchten euch natürlich das bestmögliche Spielerlebnis mit The Guild 3 ermöglichen und tun wirklich alles dafür. 😉

 

Während einige von uns also mit dem Motion-Capturing „herumspielen“, arbeiten andere daran, das Spielerlebnis zu verbessern. Es ist lange her, dass wir damit angefangen haben – schließlich kann man immer noch etwas besser machen. Wie wir euch vor Kurzem bereits berichtet haben, gibt es Gründe dafür, dass es noch keine Gameplay-Videos gibt. Zusammengefasst: Obwohl das Spiel bereits seit einiger Zeit lauffähig ist, haben sich durch die ganzen Daten, die wir hin und her schieben, verschiedene schwerwiegende Leistungsprobleme eingeschlichen. Das hat zu einer nicht gerade optimalen Bildrate geführt. Das Problem mussten wir lösen!

 

Es gab eine Menge Tests während der Entwicklungsarbeiten. Wir versuchten, das Multithreading des Renderers zu verbessern, und sind jetzt an einem Punkt angelangt, an dem die Ergebnisse wunderschön aussehen. Das ist aufregend, denn heute können wir euch von den erheblichen Fortschritten in diesem Bereich berichten!

Grundsätzlich haben wir viel Arbeit und Mühe in die Verbesserung des Multithreadings des Renderers gesteckt, wie bereits erwähnt. Durch all das, was wir mit The Guild 3 bereits gemacht haben, haben wir die Engine wirklich an ihre Grenzen gebracht. Es sind Dutzende Gebäude gleichzeitig auf dem Bildschirm zu sehen, Hunderte Charaktere, Requisiten, Spezialeffekte etc. und dazu kommt noch alles, worum sich ein normales Spiel auch kümmern muss: Wegfindung, KI, Soundeffekte und Musik, Eingaben und so weiter.
All diese Rechenleistung war nicht korrekt verteilt und daran musste nachgebessert werden. Jeder, der jemals auf so einem Niveau programmiert hat, wird euch sagen können – Multithreading-Prozesse bei einem so großen Projekt einzustellen (wir sprechen hier von fast 1,5 Millionen Zeilen Code), ist kein leichtes Unterfangen. Es war (und ist noch immer) unsere Mission! Es gab zwar schon etwas Multithreading, aber es war einfach nicht gut genug. Wir mussten den Rendering-Thread besser isolieren, aber das bringt jede Menge Probleme und Modifizierungen mit sich – zum Beispiel bei der Zerstörung eines Modells, während die KI darauf zugreift oder noch ein Soundeffekt mit ihm verbunden ist. Dabei mussten wir der Versuchung widerstehen, ein VGM* zu benutzen, das zwar alle Probleme ganz schnell gelöst hätte, aber auch die Leistungsoptimierungen zunichtegemacht hätte, auf die wir es ja abgesehen hatten.

 

Natürlich haben sich durch all diese Tests und Prozesse viele Dinge verändert und manche sind in der Dunkelheit der ewigen Spieleabgründe komplett verschwunden. Einige Assets mussten am Ende doch modifiziert werden, etwa die Dächer der Gebäude (um mal ein Beispiel zu nennen). Der Detaillierungsgrad („Level of Details“ – LOD) musste angepasst werden, damit wir einige Bildsekunden wettmachen konnten. Also hat unser wundervolles Künstlerteam daran hart gearbeitet. Und das tun sie immer noch!

Auf ähnliche Art und Weise mussten auch die Karten verändert (oder angepasst) werden. Manche mussten etwas verkleinert werden. Paris zum Beispiel ist ein riesiger urbaner Ballungsraum, der die CPU einfach in die Knie zwingt, weil wir die Stadt so realistisch und detailreich wie möglich gestalten wollten.

 

Wir müssen vor der Veröffentlichung auch noch andere Teile des Codes optimieren, damit alles flüssiger läuft. Wir haben keine Wahl! Alles in allem sind wir aber ein wenig erleichtert, dass wir die Performance, die wir uns vorgenommen hatten, jetzt fast erreicht haben. Danach können wir uns ganz auf die letzten Gameplay-Tests und Anpassungen konzentrieren!

Und wir werden es schaffen! Obwohl noch nicht alles ganz glatt läuft und wir immer noch Bugs und Abstürzen hinterherjagen, die ausgemerzt werden müssen, ist die allgemeine Leistungsverbesserung alle Mühen wert gewesen. Es ist zwar noch nicht perfekt, aber auf schnellen Rechnern könnt ihr alle Einstellungen auf das Maximum hochfahren und mit solider Leistung (30 FPS) spielen!

 

Also macht euch keine Sorgen, ihr könnt beruhigt sein. Ihr bekommt euer Lieblingsspiel bald – und zwar mit der besten Leistung, die wir euch bieten können!

 

GolemLabs
*VGM: Verdammt großes Mutex