Sicarius

Fremdwort: Effizienz

Na? Schon alle guten Vorsätze für das neue Jahr wieder über den Haufen geworfen? Dachte ich mir. Warum nehmt ihr euch auch immer so unerreichbares Zeugs wie “FIFA13 durchspielen” oder “Dark Souls ohne einmal zu sterben beenden” vor? Meine Vorsätze sind da viel realistischer. “Habe 500 Spiele gleichzeitig installiert” und “Stapele 150 Spielepackungen so, dass sie beim kleinsten Windhauch umfallen” habe ich schon erfolgreich umgesetzt. Daran solltet ihr euch ein Beispiel nehmen!

Ja, so ist das

Herstellerbild zur Xbox 360-Version von The Witcher 2Und wenn wir sowieso schon bei Beispielen sind: In der aktuellen Making Games (01/2013) ist mal wieder ein interessanter Artikel drin. Der heißt “Porting The Witcher 2 on Xbox 360” (ja, im deutschen Magazin erscheinen auch englische Texte) und wie der Name schon andeutet, berichten darin Senior Programmers und Lead Technical Artists von CD Projekt RED über die Probleme und dazugehörigen Lösungen bei der Portierung des PC-Rollenspiels The Witcher 2: Assassins of Kings auf Microsofts Konsole. Soweit ich es gesehen habe, ist der Artikel leider (noch?) nicht online verfübar.

Ziel war es logischerweise das Spiel auch auf der schlechteren Hardware so gut wie möglich aussehen zu lassen. Im Prinzip erwarten euch beim Lesen auch keine großen Überraschungen. Verringerte Polygondichte, überarbeitete Shader- und LOD-Systeme und mehr Statik statt Dynamik vor allem bei Licht- und Schattendarstellung — so lässt sich der grundlegende Tenor des sieben Seiten langen Reports zusammenfassen. Was ich an dem Artikel so interessant finde, sind deshalb vor allem die Aussagen zwischen den Zeilen. Wenn ich Sätze lese wie “The original foliage system on the PC was built the easiest way possible”, “The performance of the garbage collection was really bad at the beginning” oder “In the PC Version of the game we addressed that problem to a certain degree”, dann lässt heißt das für mich wieder einmal: “Der PC hat ja genug Power, da können wir uns das ganze Performaneoptimierungszeugs ja sparen und schludern das Zeug einfach irgendwie hin. Solang es gut aussieht, ist es doch egal”.

Prozess-Optimierung? Zu teuer!

Das ist eine generelle Einstellung in der Softwareentwicklung, die mich nervt. Da wird im Hardwarebereich versucht mit jeder Iteration noch mehr Energie zu sparen und dann kommen die Softwareentwickler her und verschwenden die verfügbare Rechenleistung nach allen Regeln der Kunst. Ja, Optimierungen kosten Zeit und damit auch Geld. Aber was kommt am Ende besser bei den Kunden an? Ein Programm/Spiel, welches horrende Hardwareanforderungen hat und somit nur bei einem geringen Teil der Käufer tatsächlich gut funktioniert und ansonsten nur Probleme verursacht (= mehr Supportleistung von Seiten des Publishers/Entwicklers). Oder doch eher das Programm/Spiel, das so gut optimiert ist, dass es auch auf schwächeren Systemen läuft und somit einen größeren, potentiellen Kundenkreis hat? Oder gehen wir noch einen Schritt weiter: Das Addon oder der nächste Teil mit der gleichen Engine? Was man sich da als Entwickler zusätzlich investieren muss, nur weil man beim ersten Mal “zu faul” war es richtig zu machen, ist sicherlich auch nicht gerade wenig.

Klar, hinterher ist man immer schlauer. Aber dennoch bin ich mir sicher, dass mit etwas weniger Crunch und etwas mehr Auge auf solche Aspekte vieles sofort entdeckt und behoben werden könnte und nicht erst beim nächsten Spiel. Es gibt auch einige Studios, die haben das verstanden. Blizzard und Valve zum Beispiel sind wohl die beiden Garanten wenn es darum geht Spiele zu produzieren, die gut bis sehr gut aussehen und trotzdem auch auf weniger aktuellen Rechnern laufen. Richtig gut hatte das CroTeam mal drauf. Die ersten beiden Serious Sam-Titel beziehungsweise die dazugehörige Engines konnten nicht nur grafisch beeindrucken — sie liefen auch auf jedem noch so beschissenen (leichte Übertreibung) PC absolut flüssig. Bei Teil 3 hat es aber leider nicht mehr so hingehauen.

Die Erkenntnis

Aber das sind selbst unter den großen Entwicklern und Publishern immer noch eher die Ausnahmen als die Regel. Und Konsolenentwickler sind die schlimmsten von allen. Ja, es ist zum Teil sicherlich mangelnde Erfahrung der Grund warum eine PC-Umsetzung so schlecht ist und natürlich ist die Hardware-Architektur im Detail eine andere. Es liegt aber garantiert auch daran, dass ihr Code schon in der Originalversion so beschissen ist, dass sie ihn für den PC übertrieben gesagt komplett neu schreiben müssten. Aber da der PC ja genug Power hat, braucht man sich da ja keine weiteren Gedanken machen. Einfach die Systemanforderungen ein bisschen höher definiert und schon kann sich der Kunde nicht mehr beschweren. Oder die Schuld wird den Treiberherstellern zugeschoben. Fantastisch.

Das ist wie bei uns in der Firma und unseren Prozessen: Egal wie viel Optimierungsbedarf es gibt, es läuft doch (“haben wir schon immer so gemacht!”), also getreu dem Motto “Never change a running system” bloß nichts ändern. Da macht die Arbeit erst so richtig Spaß.

Bis Montag.

Sicarius

Gutes neues Jahr!

Nix war’s mit der Apokalypse! Echt schlimm. Wenn man sich nicht einmal auf die Maya verlassen kann, auf was dann?! Somit habe ich seit meiner Geburt sage und schreibe 42 Weltuntergänge überlebt! Bei Kessy sind es immerhin schon 14 Stück. Mir wäre es lieber, ich würde mal so richtig im Lotto gewinnen. Wie? Man muss da mitspielen, um überhaupt gewinnen zu können? Och nö, das is mir zu umständlich. Dann lasst und mal lieber endlich zum eigentlichen Thema kommen, dem traditionellen Neujahrsgruß:

Happy New Year 2013

Das Team von Bagdadsoftware wünscht euch allen ein gutes neues Jahr!


Richtig erkannt: Das diesjährige Bild stammt aus Minecraft und war mehr Arbeit, als ich dachte. Scheiß Creeper, die einem immer alles kaputt machen! Und dann muss die blöde Wolle auch noch das Brennen anfangen und überhaupt alles scheiße!

Ich geh’ dann mal eine Runde Sauerkraut futtern, damit das Geld auch 2013 nicht alle wird. Bislang hat das ja ganz gut geklappt, entsprechend empfehle ich euch wie immer mir es gleich zu tun!

« Vorherige Seite