Warum werden Bugs nicht behoben und warum dauert die Entwicklung so lange?
In und rund um Star Citizen tritt häufig die Frage auf: "Warum kommen immer neue Features, anstatt Bugs zu beheben?".
Auf diese Frage ist einer der Star Citizen Entwickler auf Twitter (@Gillyburd1) genauer eingegangen. Ich will hier auf Basis dieses Tweets erklären, warum wir immer mehr Schiffe, Features und sonstige Änderungen in Star Citizen bekommen und nicht mehr Bugs im Spiel behoben werden.
Schauen wir uns erst ein mal an wie Star Citizen angefangen hat. 2010 ging das Spiel in die Vorproduktion, 2011 in die Entwicklung und 2012 wurde das Unternehmen Cloud Imperium Games (CIG) von Chris Roberts gegründet. Seit dem kamen Jährlich mehr Mitarbeiter dazu und es wurde mehr und mehr Geld für die Entwicklung gesammelt. Ein Großer unterschied zu den Großen bekannten Publisher wie EA, Ubisoft oder Blizzard ist, das CIG von null begonnen hat. Es war nur eine Idee ohne Ressourcen, Erfahrungen oder älteren Teilen auf welche das Spiel aufgebaut werden kann. Spiele wie Fifa oder Assassin's Creed werden fast jährlich veröffentlicht, das ist durch bereits vorhandene und für die Spiele optimierte Engines möglich. Diese kann man sich wie ein Grundgerüst für ein Produkt vorstellen. Es wird mit einer Story, Grafik und ein paar neuen Funktionen verpackt und veröffentlicht. Dies ist mit gutem und erfahrenem Personal sehr schnell möglich. Warum erzähle ich das?
Spiele wie Star Citizen oder um auch ein anderes prominentes Beispiel zu nennen, Cyberpunkt 2077, werden von Grund auf entwickelt, es gibt dieses Gerüst bzw. diese Engine nicht. Es werden kreative Mitarbeiter gebraucht, welche sich Bestandteile für ein Level ausdenken, entweder etwas wie eine Waffe, welche sehr oft zu finden ist und auch in anderen Spielen benutzt werden kann oder ein spezieller Boss welcher nur in einem Level erscheint. Dann braucht es Künstler welche diese Gegenstände, Rüstungen, Raumschiffe oder auch Gegner erst zum Leben erwecken; durch Grafiken und Details. Programmierer, welche sich um Server kümmern, welche den Hintergrund des Spieles programmieren oder auch den für euch sichtbaren Vordergrund. Was ist mit Soundeffekten? Musik? Oder auch sehr wichtig Physik in Spielen, wie verhalten sich die Gegenstände im Raum? All das braucht viel Personal.
Manche Engines, gerade die von den großen Publishern sind für die einzelnen Spiele bereits gut vorbereitet. Battlefield als Beispiel wird von dem Studio Dice mit der Frostbite Engine entwickelt. Diese wurde für Shooter optimiert, das heißt, dass beispielsweise Spiele wie Star Wars Battlefront II, welches ebenfalls auf der Frostbite Engine basiert, ein gutes Grundgerüst hat und dadurch Entwicklungszeit spart.
Star Citizen als Beispiel hat am Anfang die Cry Engine 3, welche von Crytek entwickelt wird verwendet. 2017 hat CIG aber von dieser zur Lumberyard Engine von Amazon gewechselt. Gründe dafür hatte es bestimmt einige, auf welche ich hier aber nicht eingehen möchte. Die Lumberyard Engine basiert auf der Cry Engine 3, allerdings wurde auch diese noch nie für ein derartig aufwendiges Projekt verwendet, was wiederum heißt, das CIG alles von vorne Entwickeln muss. Um wieder Cyberpunkt 2077 zu nennen, hier betrug die Entwicklungszeit etwa 5-8 Jahre für ein Studio, welches schon existiert hat und Ressourcen hatte.
Der nächste Punkt, warum werden Features veröffentlicht, wenn es noch so viele Bugs zu beheben gibt?
Künstler können nicht bei Programmierproblemen helfen, Programmierer werden wahrscheinlich nicht in der Lage sein, Kunstobjekte zu verbessern. Das ist oft die einfachste Antwort - der noch vorhandene Bug hat nichts mit dem Team zu tun, welches das neue Feature entwickelt. Dies ist keine sehr spannende Antwort, aber die Realität der Spieleentwicklung ist immer langweiliger als man denkt. Selbst innerhalb der Programmierung gibt es bei CIG weitere Teams, siehe Progress Tracker. Ein Mitarbeiter welcher an Schiffen arbeitet, wird zu lange brauchen sich in die Karte einzuarbeiten oder einen Serverfehler zu beheben.
Auch ein wichtiger Punkt ist: "Dieses Feature ist im Moment nicht bereit oder wichtig." - das ist oft der zweithäufigste Grund, warum Probleme in den meisten Entwicklungsprojekten nicht behoben werden. Es ergibt keinen Sinn, ein Problem in der Benutzeroberfläche zu beheben, wenn die Benutzeroberfläche nicht fertig ist. Eher dann, wenn diese ein kritisches Element in der Entwicklung darstellt. Es macht nicht viel Sinn, einen Exploit beim Nachladen zu beheben, wenn nicht alle Nachlade Animationen und Funktionen fertiggestellt sind. Auch macht es nicht viel Sinn, ein T-Posing-Problem zu beheben, wenn die Bewegungsanimationen Platzhalter sind.
Dazu kommt die Frage, ob das Beheben von Problem X eine Zeitverschwendung ist, wenn X bald ersetzt wird? Lohnt es sich, Arbeitsstunden in das Testen der kompletten Funktionalität eines unvollständigen Teils des Spiels zu investieren, wenn bekannt ist, dass Erweiterungen, die noch nicht drin sind, Blockaden sein werden? Vielleicht lohnt es sich zu warten, bis das Feature fertig ist um sich dann um alle Probleme kümmern zu können.
Manchmal ist ein Fix auch fest eingeplant, aber aufgrund der Zeitplanung wird er erst in 6 Monaten die Ressourcen bekommen, die er braucht, um behoben zu werden.
Denkt daran, das alles ist nicht nur bei Star Citizen so. Fast alle Spiele in der Branche werden auf eine Art und Weise entwickelt, welche verwirrend erscheinen, außer man kennt die Gründe, warum diese so sind. Denkt auch daran, dass Star Citizen in der Hinsicht einzigartig ist, da die Entwicklung von Anfang an beobachten werden kann, Jahre bevor irgendein anderes Spiel überhaupt angekündigt worden wäre, und deshalb kann es sich die Entwicklung sehr langsam anfühlen.