Iteratives Design in großem Maßstab

8

Typischerweise ist die lineare Entwicklung ( Wasserfallmodell ) in der Spieleentwicklung mit Hindernissen behaftet, die die geistige Gesundheit des Programmierers beeinträchtigen (das Spiel hat sich als schrecklich herausgestellt, kann nicht neu gestaltet werden). Geben Sie iteratives Design ein . Das iterative Design ermöglicht das Prototyping verschiedener Möglichkeiten im Spielraum. Leider hat es einen großen Haken. Sobald ein Projekt größer wird, werden Iterationen mühsam lang, was den Hauptvorteil zunichte macht: schnelle Ergebnisse.

Wie kann man Designiterationen für Großprojekte verkürzen?

newton1212
quelle
1
Ich erinnere mich, dass ich diesen Artikel über die Strategien gelesen habe, mit denen Daniel Cooks Unternehmen die Erfolgsquote ihrer Spiele gesteigert hat. Sie machten etwas Ähnliches wie ein iteratives Design, bei dem ein einzelner Programmierer oder ein kleines Team eine Vielzahl von Spielkonzepten prototypisierte - etwas sehr billiges und schnelles -, bevor sie sich für diejenigen entschieden, in denen teure Ressourcen zusammengefasst werden sollten. Was Sie dieser Strategie entziehen können, ist, dass der iterative Workflow funktioniert, wenn auch nur, um die Teile zu entfernen, die nicht funktionieren.
JPtheK9
Iterationen sind zeitlich begrenzt, daher hängt ihre Länge davon ab, wie oft Sie Feedback erhalten können. Iterationen sollen nicht länger werden. Das ist ein Wasserfall.
Fuhrmanator
Dies ist ein Thema für den Stapelaustausch von Programmierern.
v.oddou

Antworten:

4

Ich denke, eine gute Infrastruktur kann dabei helfen. Ein Beispiel ist ein schönes, benutzerfreundliches Datensystem, durch das Ingenieure problemlos neue Daten verfügbar machen können und mit dem Designer Daten schnell ändern und ihre Ergebnisse anzeigen können. Ein weiteres gutes Beispiel ist eine Skriptsprache - wie Lua -, mit der Gameplay-Programmierer und sogar Designer schnell Prototypen erstellen können.

Außerdem eine nette Kunst- / Asset-Pipeline, die einfach zu bedienen ist und leicht Assets ins Spiel bringt.

Beseitigen Sie grundsätzlich Hindernisse für Menschen, die ihre Arbeit erledigen, und optimieren Sie ihre Arbeitsabläufe.

Leider gibt es keine Standardlösungen für diese Dinge (selbst in gängigen Spiele-Engines sind diese Probleme nicht alle wirklich gelöst), was bedeutet, dass Sie einige technische Zeit investieren müssen, um diese Flexibilität zu erreichen. Leider ist die Antwort, dass Sie Zeit aufwenden müssen, um es zu schaffen, damit Sie schnell arbeiten können, was den Zweck zunichte macht. Sobald Sie die Zeit verbracht haben, laufen die Dinge großartig. Wenn Sie Ihre Arbeit für zukünftige Projekte wiederverwenden können, sind die Dividenden noch besser.

Alan Wolfe
quelle
+1. Also keine Ecken und Kanten in der Spieleentwicklung, aber es wird einfacher, sie mit Erfahrung abzurunden. :)
Newton1212
2
Ja, obwohl ich gehört habe, dass die Leute genau das Gegenteil argumentieren - schneiden Sie beim Prototyping alle Ecken ab, nur um es zu erledigen. Wenn Sie mit dem Prototyping fertig sind und etwas Gutes haben, werfen Sie all Ihre Arbeit weg und machen Sie es richtig. Es ist eine schwierige Frage zu beantworten (:
Alan Wolfe
3

Timeboxing bedeutet, dass Iterationen nicht länger werden

Sie fragen, wie Iterationen verkürzt werden sollen. Dies bedeutet jedoch, dass sie mehr Zeit in Anspruch nehmen, was bedeutet, dass Sie kein Zeitboxen anwenden. In jeder Iteration, in der die Komplexität mehr wiegt (oder Sie andere unvorhergesehene Rückschläge haben), ändern Sie die Iterationslänge nicht. Sie entfernen stattdessen die inkrementelle Addition, die Sie zu Beginn der Iteration geplant haben. Einige iterative Methoden empfehlen, diese Bewertung in der Mitte einer Iteration durchzuführen (bevor es zu spät ist). Lesen Sie mehr darüber, was OpenUP vorschlägt :

Verwalten von Zielen Wenn ein Team erheblich in Verzug gerät oder kritische Probleme auftreten, die das Team daran hindern, die Iterationsziele zu erreichen, kann es erforderlich sein, die Arbeit zu reduzieren, um sicherzustellen, dass das Team bis zum Ende der Iteration ein nützliches Produktinkrement liefert und gleichzeitig maximiert Stakeholder-Wert. Arbeiten Sie mit dem Team und den Stakeholdern zusammen, um den Iterationsplan zu überarbeiten und bei Bedarf die Betonung weniger kritischer Aufgaben zu verringern, indem Sie sie auf eine nachfolgende Iteration verschieben. In seltenen Fällen kann das Team in Betracht ziehen, die Iteration zu beenden oder die Iteration in ein neues Ziel umzuformulieren, wenn die Iterationsziele immer noch nicht erreicht werden können.

Wenn Sie sich das erste Diagramm ansehen, sehen Sie, dass der Mehrwert bei späteren Iterationen geringer ist. Dies bedeutet, dass Iterationen immer noch so lange dauern wie zuvor, aber möglicherweise gibt es (relativ) weniger neue Funktionen in jeder Iteration.

Wie Sie sagen, besteht die Stärke von iterative darin, das Risiko zu verringern, indem Sie häufig Feedback erhalten. Es hört sich so an, als würden Sie über die Komplexität von Projekten sprechen, die Sie bei späteren Iterationen verfolgen? Ich stimme nicht zu, dass dies eine Schwäche der Iteration ist. Es ist eine Schwäche der schlecht gemanagten Komplexität.

Theoretisch stellen Sie die größten Risiken des Projekts in den Vordergrund. Dies bedeutet, dass Sie ein sehr instabiles Projekt haben, aber wenn Sie die großen Risiken bewältigen, soll es sich stabilisieren. Komplexität ist natürlich eines der Risiken.

Skriptsprachen und automatisierte Prozesse tragen dazu bei, das Risiko von Komplexität zu verringern, die als "zufällige" Komplexität bezeichnet werden kann (und in einer anderen Antwort erläutert wird). Hoch iterative und dennoch komplexe Projekte (Chromium ist ein gutes Beispiel, auch wenn es kein Spiel ist) verfügen über eine große Infrastruktur, um die Komplexität zu verwalten. Unter https://www.chromium.org/developers finden Sie viele Beispiele für Dinge wie Codierungshinweise für den BuildBot .

Das Risiko verringert sich mit der Zeit Was diese Abbildung nicht zeigt, ist die Projektstabilität, die wahrscheinlich ungefähr so ​​aussieht:

Das Projekt wird mit der Zeit stabiler

Bis die technischen Risiken gut verstanden sind, haben Sie es mit einfachen Prototypen zu tun

Fuhrmanator
quelle