12. Januar 2012 18:07:34 |
#1
Warum sie deinen Fehler noch nicht behoben haben
Hier ein kleiner Artikel aus Lizard's Gaming Blog
Warum sie deinen Fehler noch nicht behoben haben
und warum du ein Schwachkopf bist, weil du fragst
"Wie können sie sich darüber sorgen zu machen drei neue Hüte hinzuzufügen, wenn jede Woche die Server zusammenbrechen???" beantwortet!
OK, Heulsusen. Hört zu.
Auf jedem mit MMORPGs verbundenen Forum seh ich ständig das folgende:
Entwickler: Und im Patch 1.0.4.12 werden wir neue Hüte hinzufügen.
Ahnungslose, verwöhnte Flegel: Waaaah! Ihr behebt nicht meine wichtigen Probleme! Wie könnt ihr Hüte hinzufügen wenn es Serverzusammenbrüche gibt!
Oder manchmal:
Entwickler: Wir haben mehrere Lösungen zu den Speicherlecks implementiert welche auftreten, sobald vier oder mehr Halborks sich an einem Dienstag in den Marschen der Trübseligkeit aufhalten und der Silberne Tintenfisch erscheint nun in der nördlichen Hälfte der Karte.
Weinerliche Nervensäge: Waaaah! Wenn ich das Spiel auf meinem übertakteten Commodore 64 mit einem Drittanbieter Software-Emulator aus Thailand über mein 14.4 K Modem laufen lasse, erhalte ich trotzdem nur 87 FPS!
Weinerliche Nervensäge 2: Ich geh niemals in das Gebiet! Hört auf den WOW Spielern nachzugeben und behebt Fehler die *mich* interessieren!
Und so weiter.
Dieser hilfreiche, kleine Aufsatz wird erklären warum die unglaublich wichtigen Probleme die du hast nicht nach deinem Zeitplan behoben werden.
Erstens, MMORPGs sind aus Teams zusammengestellt. Teams haben selten überlappende Funktionen und ihre Fähigkeiten sind nicht gegenseitig austauschbar. Die 3D-Modellierer, die neue Hüte kreieren, können nicht damit aufhören was sie tun und Serveroptimierungscode debuggen. Dies trifft über alle Aspekte der Entwicklung zu. Selbst mit Code schreiben, jemand der an der Questengine arbeitet wird nicht Anzeigefehler beheben. Jemand verantwortlich für die Reaktionsfähigkeit der Benutzeroberfläche kann nicht beim Lösen von Speicherlecks helfen. Allgemein, selbst wenn es möglich ist jemanden umzuschulen, es ist eine Zeitverschwendung dies zu tun — sie sind weitaus nützlicher das zu tun, wofür sie eingestellt wurden.
Zweitens, man kann nicht einfach "mehr Programmierer einstellen!" Besonders wichtig, es gibt eine steile Lernkurve — es kann Wochen oder Monate dauern um sogar einen fähigen Programmierer auf den neuesten Stand der existierenden Codebasis zu bringen. Auch kann man nicht einfach mit Ressourcen nach dem Problem werfen. Es gibt einen Punkt an dem mehr Programmierer langsamere Fehlerbehebung bedeuten, da sie sich buchstäblich gegenseitig in den Weg kommen. (Und jede neue Anstellung vergrößert die allgemeinen Unkosten, was mehr Personalwesen und Unterstützungskosten heißt, was wiederum weniger Geld für andere Sachen bedeutet...)
Drittens, nicht alle Fehler sind von gleicher Schwierigkeit. Wenn eine Patchliste gefüllt ist mit "Bei der Quest 'Sieben Diamanten für sieben Oger' haben wir den Timer korrigiert, so dass es nun möglich ist den Lauf abzuschließen", dann heult nicht "Waah! Wie können sie das beheben, wenn es noch immer Abstürze gibt sobald jemand rückwarts geht während er das /jonglieren Emote ausführt und es Dienstag ist?" Das liegt daran, dass Questprobleme (und viele ähnliche Fehler) normalerweise durch Änderungen einer Datenbank behoben werden können, etwas das schnell vollbracht und getestet werden kann und durch relativ untergeordnete Team Mitglieder mit minimaler Aufsicht und Qualitätssicherung durchgeführt wird — während Server- und Speicherprobleme häufig wahnsinnig kompliziert sind, umfangreiche Tests rückläufiger Entwicklung benötigen und die 'Besten und Schlauesten' verlangen. Wenn man einem Junior Programmierer zuteilen kann in einem Patchzyklus drei Dutzend Questfehler aufzuräumen, oder ihn im Grunde nutzlos zu machen während erfahrenere Programmierer die ganze richtige Arbeit tun, was würdest du tun? Es gibt keinen Grund nicht die kleinen Fehler zu beseitigen während an den großen gearbeitet wird.
Und das führt zum nächsten Punkt: Es geht mehr vonstatten als in den Patchnotizen veröffentlicht wird. Entwicklung neuer Spielinhalte, Wartungen alter Inhalte, Tests und Optimisierungen finden alle kontinuierlich statt. Nur weil die Leute welche die Patchnotizen bekannt geben nicht den gesamten Arbeitsplan der mehreren hundert Personen der Belegschaft kopiert haben, bedeutet es nicht, dass diese Dinge nicht geschehen.
"Jeder weiß X ist kaputt! Warum beheben sie es nicht?"
Nun, erstens, "jeder" weiß es nicht. DU magst es so WAHRNEHMEN, aber das macht es noch lange nicht so. Die Leute am anderen Ende des Bildschirms haben Zugang zu einer Menge Daten, welche du nicht hast, angehäuft über alle Server und Stufen und so weiter. Deine Wahrnehmung von Kaputtheit mag falsch sein. Zweitens, "es beheben" ist nicht immer einfach — Sachen sind fehlerhaft genau weil diese Spiele schrecklich komplex sind und zwei Dinge welche einzelnd gut aussehen, sich kombinieren um ein heilloses Durcheinander zu formen. Willkürlich eine "kaputte" Sache zu beheben ohne auf die Nachwirkungen dieser Korrektur zu achten kann das Ganze noch schlimmer machen.
"Anstelle meine massiv bevorteilte Klasse abzuschwächen, warum nicht alle anderen aufrüsten?!"
Wenn du das fragst, ganz offen, bist du ein Schwachkopf. Die Antwort, nicht das du schlau genug wärst sie zu verstehen, ist dass, das Verändern einer Sache, mit all seinen dazugehörigen Nebeneffekten, einfacher ist, als ein Dutzend oder mehr Dinge, mit all deren mitwirkenden Nebeneffekten, zu ändern. Komm damit klar, Nerf-Boy.
"Der Kunde ist König!"
Nein, der Kunde ist normalerweise ein Schwachkopf der keine Ahnung hat.
"Sie sagten vier Jahre bevor das Spiel veröffentlicht wurde, dass wir in der Lage sein würden die Milze unserer Feinde zu verspeisen! Warum kann ich das jetzt nicht tun?"
Hier ist wie Spielentwicklung funktioniert:
a) Ein Haufen Entwickler spuckt eine Menge Sachen aus, wovon sie denken, dass sie cool sein könnten.
b) Jemand von der Vermarktung steckt seinen Kopf zur Tür herein und sagt, "Wir müssen anfangen dafür die Werbetrommel zu rühren! Was daran ist cool?"
c) Sie werfen ihm die Liste zu und hoffen das er abhaut. Er füttert die Liste an die Presse.
d) Über den Lauf von Jahren wird jede Idee auf der Liste ausgewertet bezüglich Durchführbarkeit, Spaßfaktor und so weiter. Eine nach der anderen landen sie in "Nicht zur Veröffentlichung" oder "Überhaupt garnicht". Währenddessen, schwirrt die ursprüngliche Reklame durch das ganze Netz, für immer bewahrt von fanatischen Fanboys welche ihre gesamte Existenz einem Spiel widmen, welches sie nie gesehen haben und vielleicht niemals erscheinen wird.
e) Schließlich wird das Spiel ausgeliefert und Leute fangen an darüber zu klagen wie sie "angelogen" wurden. Danach ziehen sie weiter zu irgendeinem anderem spärlich angekündigten Spiel und wiederholen den Kreislauf.
"Konsolenspiele haben nicht so viele Fehler!"
Konsolenspiele greifen einen viel, viel kleineren Entwurfsraum an. Konsolen haben nicht ungezählte Variationen an Hardware und Treibern. Konsolen haben nicht mehrere Prozesse die zeitgleich ablaufen. Konsolenspiele allgemein sind weit, weit simpler als PC-Spiele.
"Sie sollten das Spiel nicht veröffentlichen bevor es fertig ist!"
Es gibt kein "fertig" in Spielen wie diesen. Noch ist es fehlerfrei. Man veröffentlicht wenn das Spiel spielbar ist oder man veröffentlicht überhaupt nicht. Zum einen, viele Fehler, besonders Ausgleichschwierigkeiten und Serverprobleme, tauchen einfach nicht auf, bis dort 200 tausend Leute für einen längeren Zeitraum spielen — und man kann keine verlängerte Offene Betaphase für so viele Leute haben, die Kosten sind einfach zu hoch. In den meisten Fällen werden Spiele in der Entwicklung gehalten bis der Befehl durchfringt: Liefert etwas oder sucht nach neuen Jobs. Das sind die Fakten und es gibt wirklich keine Hoffnung, dass sich das irgendwann bald ändert.
Warum sie deinen Fehler noch nicht behoben haben
und warum du ein Schwachkopf bist, weil du fragst
"Wie können sie sich darüber sorgen zu machen drei neue Hüte hinzuzufügen, wenn jede Woche die Server zusammenbrechen???" beantwortet!
OK, Heulsusen. Hört zu.
Auf jedem mit MMORPGs verbundenen Forum seh ich ständig das folgende:
Entwickler: Und im Patch 1.0.4.12 werden wir neue Hüte hinzufügen.
Ahnungslose, verwöhnte Flegel: Waaaah! Ihr behebt nicht meine wichtigen Probleme! Wie könnt ihr Hüte hinzufügen wenn es Serverzusammenbrüche gibt!
Oder manchmal:
Entwickler: Wir haben mehrere Lösungen zu den Speicherlecks implementiert welche auftreten, sobald vier oder mehr Halborks sich an einem Dienstag in den Marschen der Trübseligkeit aufhalten und der Silberne Tintenfisch erscheint nun in der nördlichen Hälfte der Karte.
Weinerliche Nervensäge: Waaaah! Wenn ich das Spiel auf meinem übertakteten Commodore 64 mit einem Drittanbieter Software-Emulator aus Thailand über mein 14.4 K Modem laufen lasse, erhalte ich trotzdem nur 87 FPS!
Weinerliche Nervensäge 2: Ich geh niemals in das Gebiet! Hört auf den WOW Spielern nachzugeben und behebt Fehler die *mich* interessieren!
Und so weiter.
Dieser hilfreiche, kleine Aufsatz wird erklären warum die unglaublich wichtigen Probleme die du hast nicht nach deinem Zeitplan behoben werden.
Erstens, MMORPGs sind aus Teams zusammengestellt. Teams haben selten überlappende Funktionen und ihre Fähigkeiten sind nicht gegenseitig austauschbar. Die 3D-Modellierer, die neue Hüte kreieren, können nicht damit aufhören was sie tun und Serveroptimierungscode debuggen. Dies trifft über alle Aspekte der Entwicklung zu. Selbst mit Code schreiben, jemand der an der Questengine arbeitet wird nicht Anzeigefehler beheben. Jemand verantwortlich für die Reaktionsfähigkeit der Benutzeroberfläche kann nicht beim Lösen von Speicherlecks helfen. Allgemein, selbst wenn es möglich ist jemanden umzuschulen, es ist eine Zeitverschwendung dies zu tun — sie sind weitaus nützlicher das zu tun, wofür sie eingestellt wurden.
Zweitens, man kann nicht einfach "mehr Programmierer einstellen!" Besonders wichtig, es gibt eine steile Lernkurve — es kann Wochen oder Monate dauern um sogar einen fähigen Programmierer auf den neuesten Stand der existierenden Codebasis zu bringen. Auch kann man nicht einfach mit Ressourcen nach dem Problem werfen. Es gibt einen Punkt an dem mehr Programmierer langsamere Fehlerbehebung bedeuten, da sie sich buchstäblich gegenseitig in den Weg kommen. (Und jede neue Anstellung vergrößert die allgemeinen Unkosten, was mehr Personalwesen und Unterstützungskosten heißt, was wiederum weniger Geld für andere Sachen bedeutet...)
Drittens, nicht alle Fehler sind von gleicher Schwierigkeit. Wenn eine Patchliste gefüllt ist mit "Bei der Quest 'Sieben Diamanten für sieben Oger' haben wir den Timer korrigiert, so dass es nun möglich ist den Lauf abzuschließen", dann heult nicht "Waah! Wie können sie das beheben, wenn es noch immer Abstürze gibt sobald jemand rückwarts geht während er das /jonglieren Emote ausführt und es Dienstag ist?" Das liegt daran, dass Questprobleme (und viele ähnliche Fehler) normalerweise durch Änderungen einer Datenbank behoben werden können, etwas das schnell vollbracht und getestet werden kann und durch relativ untergeordnete Team Mitglieder mit minimaler Aufsicht und Qualitätssicherung durchgeführt wird — während Server- und Speicherprobleme häufig wahnsinnig kompliziert sind, umfangreiche Tests rückläufiger Entwicklung benötigen und die 'Besten und Schlauesten' verlangen. Wenn man einem Junior Programmierer zuteilen kann in einem Patchzyklus drei Dutzend Questfehler aufzuräumen, oder ihn im Grunde nutzlos zu machen während erfahrenere Programmierer die ganze richtige Arbeit tun, was würdest du tun? Es gibt keinen Grund nicht die kleinen Fehler zu beseitigen während an den großen gearbeitet wird.
Und das führt zum nächsten Punkt: Es geht mehr vonstatten als in den Patchnotizen veröffentlicht wird. Entwicklung neuer Spielinhalte, Wartungen alter Inhalte, Tests und Optimisierungen finden alle kontinuierlich statt. Nur weil die Leute welche die Patchnotizen bekannt geben nicht den gesamten Arbeitsplan der mehreren hundert Personen der Belegschaft kopiert haben, bedeutet es nicht, dass diese Dinge nicht geschehen.
"Jeder weiß X ist kaputt! Warum beheben sie es nicht?"
Nun, erstens, "jeder" weiß es nicht. DU magst es so WAHRNEHMEN, aber das macht es noch lange nicht so. Die Leute am anderen Ende des Bildschirms haben Zugang zu einer Menge Daten, welche du nicht hast, angehäuft über alle Server und Stufen und so weiter. Deine Wahrnehmung von Kaputtheit mag falsch sein. Zweitens, "es beheben" ist nicht immer einfach — Sachen sind fehlerhaft genau weil diese Spiele schrecklich komplex sind und zwei Dinge welche einzelnd gut aussehen, sich kombinieren um ein heilloses Durcheinander zu formen. Willkürlich eine "kaputte" Sache zu beheben ohne auf die Nachwirkungen dieser Korrektur zu achten kann das Ganze noch schlimmer machen.
"Anstelle meine massiv bevorteilte Klasse abzuschwächen, warum nicht alle anderen aufrüsten?!"
Wenn du das fragst, ganz offen, bist du ein Schwachkopf. Die Antwort, nicht das du schlau genug wärst sie zu verstehen, ist dass, das Verändern einer Sache, mit all seinen dazugehörigen Nebeneffekten, einfacher ist, als ein Dutzend oder mehr Dinge, mit all deren mitwirkenden Nebeneffekten, zu ändern. Komm damit klar, Nerf-Boy.
"Der Kunde ist König!"
Nein, der Kunde ist normalerweise ein Schwachkopf der keine Ahnung hat.
"Sie sagten vier Jahre bevor das Spiel veröffentlicht wurde, dass wir in der Lage sein würden die Milze unserer Feinde zu verspeisen! Warum kann ich das jetzt nicht tun?"
Hier ist wie Spielentwicklung funktioniert:
a) Ein Haufen Entwickler spuckt eine Menge Sachen aus, wovon sie denken, dass sie cool sein könnten.
b) Jemand von der Vermarktung steckt seinen Kopf zur Tür herein und sagt, "Wir müssen anfangen dafür die Werbetrommel zu rühren! Was daran ist cool?"
c) Sie werfen ihm die Liste zu und hoffen das er abhaut. Er füttert die Liste an die Presse.
d) Über den Lauf von Jahren wird jede Idee auf der Liste ausgewertet bezüglich Durchführbarkeit, Spaßfaktor und so weiter. Eine nach der anderen landen sie in "Nicht zur Veröffentlichung" oder "Überhaupt garnicht". Währenddessen, schwirrt die ursprüngliche Reklame durch das ganze Netz, für immer bewahrt von fanatischen Fanboys welche ihre gesamte Existenz einem Spiel widmen, welches sie nie gesehen haben und vielleicht niemals erscheinen wird.
e) Schließlich wird das Spiel ausgeliefert und Leute fangen an darüber zu klagen wie sie "angelogen" wurden. Danach ziehen sie weiter zu irgendeinem anderem spärlich angekündigten Spiel und wiederholen den Kreislauf.
"Konsolenspiele haben nicht so viele Fehler!"
Konsolenspiele greifen einen viel, viel kleineren Entwurfsraum an. Konsolen haben nicht ungezählte Variationen an Hardware und Treibern. Konsolen haben nicht mehrere Prozesse die zeitgleich ablaufen. Konsolenspiele allgemein sind weit, weit simpler als PC-Spiele.
"Sie sollten das Spiel nicht veröffentlichen bevor es fertig ist!"
Es gibt kein "fertig" in Spielen wie diesen. Noch ist es fehlerfrei. Man veröffentlicht wenn das Spiel spielbar ist oder man veröffentlicht überhaupt nicht. Zum einen, viele Fehler, besonders Ausgleichschwierigkeiten und Serverprobleme, tauchen einfach nicht auf, bis dort 200 tausend Leute für einen längeren Zeitraum spielen — und man kann keine verlängerte Offene Betaphase für so viele Leute haben, die Kosten sind einfach zu hoch. In den meisten Fällen werden Spiele in der Entwicklung gehalten bis der Befehl durchfringt: Liefert etwas oder sucht nach neuen Jobs. Das sind die Fakten und es gibt wirklich keine Hoffnung, dass sich das irgendwann bald ändert.