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?
design-patterns
development-speed
newton1212
quelle
quelle
Antworten:
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.
quelle
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 :
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 .
Was diese Abbildung nicht zeigt, ist die Projektstabilität, die wahrscheinlich ungefähr so aussieht:
Bis die technischen Risiken gut verstanden sind, haben Sie es mit einfachen Prototypen zu tun
quelle