Technische PC-Alpha – Entwicklerblog

Senior Software Engineer Ian gewährt euch einen Blick auf die Arbeit, die in unsere erste technische Alpha für den PC geflossen ist.

Hallo, alle miteinander!
Mein Name ist Ian Norris und ich leite das Engineering-Team für Windows 10 für Sea of Thieves. Im Video von letzter Woche hat Ted bereits einige Details zu dem, was auf euch zukommt, geteilt, doch ich wollte noch einmal ein paar technische Aspekte für diejenigen in der Community durchgehen, die sich dafür interessieren.

Das Team unter meiner Führung konzentriert sich ganz auf eine Version des Spiels für Windows 10. Darin miteingeschlossen sind Funktionen wie Videoeinstellungen, anpassbare Tastaturlayouts, die Behebung von PC-spezifischen Abstürzen und Optimierungen für all eure wunderbaren PCs! Alle Anstrengungen des PC-Teams sind ganz darauf ausgerichtet, die bestmögliche Version des Spiels für den PC zu schaffen.

Weil wir unsere Spielversionen für Xbox One und PC parallel entwickeln, profitiert die PC-Version auch von jeglicher Arbeit, die in die Xbox-Version fließt. Alle Funktionen, die auf der Xbox verfügbar gemacht werden, werden zur gleichen Zeit auch auf dem PC erscheinen, weil die Spielinhalte für beide Plattformen (und bald auch für Scorpio!) entwickelt wurden.

Ihr fragt euch also jetzt vielleicht, warum wir euch erst jetzt an die PC-Version heranlassen, wenn doch beide Versionen parallel entwickelt werden. Dafür gibt es mehrere Gründe:

Stabilität

Stabile Spiele zu entwickeln ist schwer. Stabile Spiele für den PC zu entwickeln noch viel schwerer. Mit so vielen verschiedenen Variablen erfordert es eine Menge Arbeit, Spiele zu entwickeln, die das Optimum aus Mehrkernprozessoren herausholen können.

Um den Entwicklungsprozess geradliniger zu gestalten, haben wir in einem Studio wie Rare eine sogenannte „homogene“ Entwicklungsumgebung. Das bedeutet, dass die meisten Entwickler dieselbe „Beast“-Konfiguration für den PC mit derselben CPU, GPU und Windows-Version besitzen. Der Sinn davon ist, Probleme zu vermeiden, bei denen zum Beispiel Bob der Artist einem Fehler begegnet, der ihn am Arbeiten hindert, den jedoch Jenny, ihres Zeichens Engineer, auf ihrem Gerät nicht reproduzieren kann. (Zum Schutz ihrer Identität ist es gut möglich, dass Jenny und Bob nicht ihre echten Namen sind).

Um Leistungsfehler ausfindig zu machen, hat das PC-Team ein wenig mehr Hardware zur Verfügung als die meisten im Studio. Wir haben unsere Entwicklungs-PCs, die denen aller anderen gleichen, aber wir haben auch zusätzliche PCs, um die Leistung auf älterer Hardware und auf Laptops zu testen. Wir haben auch Geräte bestellt, die häufigen Konfigurationen entsprechen und verwenden diese für regelmäßige manuelle Tests in unserem Kompatibilitätslabor. Außerdem nutzen wir die SHIELD-Labore von Microsoft, die Ted ebenfalls erwähnt hat. Mit der Hilfe dieses Labors konnten wir mehrere Fehler finden und beheben, die ansonsten unseren entschlossensten und wichtigsten Spielern den Tag verdorben hätten.

Eine kleine Zahl von Nutzern unserer technischen Alpha hatte Probleme, das Spiel überhaupt starten zu können. Im Laufe der nächsten paar Wochen werden wir dieses Problem untersuchen, damit alle Teilnehmer unserer technischen Alpha mit uns spielen können!

Leistung

Nichts ärgert mich und den Rest der PC-Community mehr als ein schlecht optimiertes Spiel. Man möchte das Gefühl haben, dass die eigene Hardware voll ausgelastet wird. Das Spiel soll großartig aussehen und dabei solide FPS abliefern.

In der ersten Phase der technischen Alpha für den PC können wir natürlich noch keine vollends optimierte Erfahrung versprechen. Es gibt noch viel zu tun, aber genau deshalb brauchen wir ja jetzt euer Feedback zu dem Spiel. Es ist nicht leicht zu wissen, wann wir den Punkt erreicht haben, an dem es „gut genug“ ist, insbesondere da jede Verbesserung der Leistung unsere Mindestanforderungen etwas senkt und das Spiel einer weiteren Gruppe von Menschen verfügbar macht.

Das ist ein wichtiger Grund dafür, dass wir bisher noch keine Mindestanforderungen veröffentlicht haben – wir wissen es einfach noch nicht! Wir glauben, dass wir uns einem angemessenen Minimum nähern, aber wenn wir eine technische Alpha mit unserer automatischen Erkennungsfunktion laufen lassen, können wir genauer bestimmen, wie nah wir der Lösung sind und ob wir die Anforderungen weiter senken können. Mit ein paar zusätzlichen Anpassungen können wir womöglich noch weiter runtergehen und jemand, der heute auf den Mindestanforderungen spielt, ist vielleicht bald schon in der Mitte angesiedelt. Unser Mantra ist ganz einfach: „Wie weit runter kommen wir?!“.

Es ist wichtig, dass unser Code für die automatische Erkennung richtig funktioniert. Der Großteil der PC-Spieler wird sich die Videoeinstellungen nicht einmal ansehen, also ist es sehr wichtig, dass wir automatisch die richtige Entscheidung für sie treffen können.

Zu Anfang werden wir Spielern nicht verraten, in welche „Sparte“ wir sie gesteckt haben. Das machen wir aus zwei Gründen: Die meisten von euch interessiert es nicht, welche Einstellungen wir gewählt haben, solange das Spiel das bestmögliche Erscheinungsbild abliefert, und diejenigen von euch, die es interessiert, hören nicht gern, dass wir euch in die unterste Sparte einsortiert haben! Sobald wir mit dem Code zufrieden sind, können Spieler ihre automatisch ermittelten Einstellungen in den Grafikeinstellungen einsehen, nachdem wir diese in einem künftigen Patch implementieren konnten.

Woher wollen wir also wissen, ob der Code funktioniert? Mit Telemetrie! Telemetrie ist unser Weg, zu messen, wie Spieler das Spiel spielen. Sie informiert uns auch über Frameraten und Grafikeinstellungen, mit denen gespielt wird. Indem wir diese Daten kombinieren, können wir sehen, ob Spieler mit der Hardware, die sie besitzen, die Frameraten bekommen, die wir erwarten würden.

Unsere technische Alpha 1 haben wir mit einem bekannten Leistungsproblem gestartet, dessen Ursache wir zu dem Zeitpunkt noch nicht identifiziert hatten. Unsere Fähigkeit, von der automatischen Erkennung Gebrauch zu machen, wurde von diesem Problem nicht eingeschränkt, da wir in der Regel erkennen können, wann es auftritt, aber wir dachten, dass euer Feedback uns helfen könnte, es aufzuspüren!

Dieser Umstand ermöglicht es uns, euch einen Blick hinter die Kulissen bei der Behebung eines echten Leistungsproblems zu bieten!

Als ersten Schritt muss unser Team den Fehler entdecken. Das resultiert für gewöhnlich in einer Fehlermeldung an den jeweiligen Teamleiter, in diesem Falle bin das ich. Das ist die tatsächliche Fehlermeldung:

Selbstverständlich werden Leistungsfehler sehr ernst genommen, also hat dieser Fehler die Wertung „kritisch“ erhalten. Das Test-Team experimentiert weiter mit dem Fehler, um mehr Informationen zu sammeln, die dem Engineering-Team bei der Behebung helfen könnten. In diesem Fall haben wir herausgefunden, dass ein spezifisches Gerät mit einer häufig auftretenden Konfiguration den Fehler relativ zuverlässig reproduzieren konnte!

Mit diesem Wissen haben wir das Test-Team gebeten, den Fehler in meiner Anwesenheit zu reproduzieren. Ich habe dann ein Tool namens „xperf“ verwendet, um mehr Informationen über den Fehler zu sammeln. Leider produziert dieses Tool Unmengen an Daten, weshalb es sehr schwierig und zeitaufwendig sein kann, mit seiner Hilfe den Fehler zu identifizieren.

Abhängig vom Fehler und den persönlichen Vorlieben verwenden wir einige unterschiedliche Tools, um Leistungsfehler zu identifizieren. Für diesen Fehler habe ich den Media Experience Analyzer verwendet. Hier seht ihr, wie mein Bildschirm aussieht, wenn ich dieses Tool (und ein paar weitere) benutze:

Mithilfe dieser Analyse haben wir im Verlauf mehrerer Wochen drei separate Fehler identifiziert, die alle zu sehr langen Pausen beigetragen haben. Als nächsten Schritt müssen wir dann testen, ob die Fehlerbehebungen auf allen Geräten funktionieren, die Xbox-Version des Spiels nicht zerschießen und keine neuen Probleme verursachen! Wenn die Tests positiv sind, können wir den Fehler schließen. Natürlich ist der letzte Schritt, die Behebungen von den Teilnehmern unserer technischen Alpha auch noch einmal austesten zu lassen!

PC-Funktionen

Es überrascht sicher niemanden, dass all die oben aufgeführte Arbeit eine Menge Zeit in Anspruch nimmt, aber seid euch gewiss, dass diese Fehlerbehebungen und weitere PC-spezifischen Funktionen implementiert werden und wir derzeit hart an unserer zweiten technischen Alpha für Windows 10 arbeiten!

Eine Sache, die uns überrascht hat, war die Forderung nach einer „Push to Talk“-Funktion. Das war etwas, das wir zwar zu einem späteren Zeitpunkt geplant hatten, aber im Gegensatz zu vielen weiteren Funktionen hatte es keine hohe Priorität. Da aber so viele von euch nach dieser Funktion gefragt haben, haben wir sie in unserer Planung weiter nach vorne verlegt – also werden wir versuchen, sie vor unserer nächsten technischen Alpha einzubauen.

Wir wissen, dass unsere PC-Spieler gespannt darauf warten, zu sehen, wie unsere Benutzeroberfläche für die Grafikeinstellungen aussehen wird. Die Erstellung von Benutzeroberflächen erfordert einen gewaltigen Zeitaufwand und wir möchten es lieber von Anfang an richtig machen. Einfach zu navigierende Benutzeroberflächen für ein Spiel wie Sea of Thieves zu entwickeln, ist alles andere als einfach. Wir haben uns jede Menge Einstellungsoberflächen aus anderen Spielen angesehen und sie zu etwas kombiniert, was wir für den besten Einstellungsbildschirm aller Zeiten halten!

Wir freuen uns wirklich sehr darauf, diese spannenden neuen Werkzeuge in eure Hände zu geben, insbesondere wenn wir entscheiden, die technische Alpha weiteren Spielern verfügbar zu machen (bald ist es so weit ...)!

Vielen Dank für euer Interesse!

Ian, Senior Software Engineer