Ist die Anforderungsanalyse bei der Spieleentwicklung hilfreich?

9

Ich bin ein Student der Softwareentwicklung mit Schwerpunkt Spieleentwicklung. Wie wichtig ist die Anforderungsanalyse bei der Spieleentwicklung?

Ich frage, weil ich versuche zu entscheiden, ob ich einen Kurs zur Anforderungsanalyse belegen soll. Hier ist eine Beschreibung:

Eine eingehende Untersuchung der aktuellen Forschung und Praxis in den Bereichen Anforderungserhebung, Anforderungen, Analyse, Anforderungsspezifikation, Überprüfung und Validierung von Anforderungen sowie Anforderungsmanagement.

Wäre diese Art von Wissen für einen unabhängigen Spieleentwickler nützlich? (Die Alternativen sind künstliche Intelligenz oder Softwarearchitektur.)

Joey Green
quelle
Was sind Ihre Alternativen, um zu klären?
ChrisE
Ja, werfen Sie bitte etwas mehr Licht auf Ihre Situation. Ist dies etwas, das Sie zusätzlich zu Ihren Kernkursen mitnehmen sollten, oder versuchen Sie festzustellen, ob RA Teil Ihres Kernkurses ist?
Jason Pineo
Was beinhaltet Ihre Softwarearchitekturklasse? Wenn es mehr auf das Entwerfen eines Systems ausgerichtet ist, würde ich definitiv empfehlen, dies zu tun. Die Anforderungsanalyse besteht aus "Es ist mir egal, wie ich es mache, was soll meine Software machen?" Das Entwerfen eines Systems besteht aus "Ich weiß, was ich tun möchte, wie kann ich es am effizientesten erreichen?"
Ray Dey
Jedes angewandte Werkzeug / jede angewandte Technik, mit der Sie eine Analyse-Lähmung vermeiden können, ist nützlich.
Patrick Hughes

Antworten:

7

Die Anforderungsanalyse ist unglaublich nützlich, unabhängig davon, ob Sie ein unabhängiger Entwickler sind oder für ein großes Unternehmen arbeiten. Mit der Anforderungsanalyse können Sie Ihr Projekt in überschaubare Teile aufteilen. Sie können die Zeit abschätzen, die Ihr Projekt in Anspruch nehmen wird, und den Wert eines Features gegen Ihren gewünschten Entwicklungsplan und den erforderlichen Aufwand abwägen.

Wenn Sie in einem größeren Indie-Spiele-Unternehmen arbeiten, können Sie mit anderen Entwicklern und Produzenten von Inhalten zusammenarbeiten, um sicherzustellen, dass jeder immer etwas zu tun hat und Sie Ihre Entwicklungsziele erreichen können. Wenn Sie für ein großes Unternehmen arbeiten, sind Sie mit der Analyse der Lernanforderungen einer der wenigen Entwickler des Meetings, die tatsächlich eine realistische Zeitschätzung für ein Feature abgeben können, anstatt nur eine Zahl aus Ihrem Arsch zu ziehen.

Darüber hinaus kann die Anforderungsvalidierung Dinge wie Unit-Tests und die Überprüfung von Funktionen umfassen, was für einen Entwickler ohne eine große QS-Abteilung von unschätzbarem Wert ist.

Gregory Avery-Weir
quelle
+1 Alles, was hier gesagt wird, ist korrekt und spricht auch die Idee an, dass Sie möglicherweise Firmenprogrammierung machen, bis Sie es in der Indie-Szene geschafft haben.
ChrisE
Wie konnte es nicht nützlich sein? Sie müssen alles, was Sie tun, strukturiert analysieren. Nur weil einige Begriffe vage sind, heißt das nicht, dass es unmöglich ist, sie zu quantifizieren.
Johnny
2

Ich denke, diese Klasse wird zwischen null und sehr wenig Relevanz für die Spieleentwicklung haben. Sicherlich werden die von Ihnen erwähnten semi-formalen oder formalen Methoden meiner Erfahrung nach nicht verwendet.

Spiele haben normalerweise unglaublich flüssige Anforderungen, und selbst wenn es möglich wäre, Zeit und Best Practices in das Sammeln von Anforderungen zu investieren, sind viele der bedeutungslosen und vagen Begriffe, die sich auf Spaß, Sucht, Eintauchen usw. beziehen. Sehr selten werden Sie sehr klar definierte Ergebnisse haben, denn so gerne wir so tun, als wäre Software Engineering, es ist tatsächlich eher ein Handwerk, da sich Programmierer auf unterschiedliche Weise ausdrücken können. Dies gilt doppelt für Spiele.

Kylotan
quelle
Ich hoffe, "Flüssigkeitsbedarf" ist kein Euphemismus für "Feature Creep". : \ Ich bin nicht der Meinung, dass "vieles" von dem, was Sie am Ende haben würden, bedeutungslose und vage Begriffe wie "Spaß", "Sucht" usw. sind. Diese stellen nicht-technische Anforderungen dar, die eine Teilmenge einer wirklich durchdachten Anforderungen sind dokumentieren.
PatrickB
2
Ich denke, flüssige Anforderungen sind sicherlich ein Euphemismus für Feature Creep, aber wenn Sie in einer Einzelhandels- und Hit-getriebenen Umgebung konkurrieren möchten, müssen Sie Feature Creep vom ersten Tag an akzeptieren. Die Art von Dingen, die Sie lernen können, indem Sie Anforderungen für einen traditionellen „Softwarekunden“ erfassen und analysieren, unterscheidet sich zu stark von der Funktionsweise von Unterhaltungssoftware. Insbesondere haben Sie ein großes Problem darin, dass Ihr Client nicht Ihr Endbenutzer ist, und ein weiteres großes Problem darin, dass technische Anforderungen nicht festgelegt werden können, wenn Sie wissen, dass das Kriechen von Funktionen unvermeidlich ist.
Kylotan
Ich glaube nicht, dass er gesagt hat, dass er konkurriert oder sogar ein Produkt herstellt, das sich verkauft. Viele Indie-Spiele sind nicht dafür ausgelegt, mit Einzelhandelsspielen zu konkurrieren. Sie befinden sich normalerweise nicht einmal auf dem gleichen Spielfeld wie AAA-Titel. Zur Hölle, Steam schiebt alle Indie-Spiele in ihre eigene kleine Sandbox, wahrscheinlich eher als Warnschild. Wenn Sie ein Indie-Entwickler sind, haben Sie per Definition die Kontrolle darüber, was Sie tun möchten. Wenn Sie dies nicht tun würden, wären Sie Partner / Investor, und Sie wären dann nicht wirklich Indie, oder? Auf jeden Fall finde ich in den Hobbyspielen, an denen ich arbeite, kein Feature Creep. YMMV.
PatrickB
1
Ich denke nicht, dass unabhängig normalerweise "Hobby-Spiele" bedeutet, sondern normalerweise "kleines Unternehmen, das nicht auf Verlagsfinanzierung angewiesen ist". Als solches kann Ihre Kundensituation einfacher sein als ich oben vorgeschlagen habe, aber Sie können wahrscheinlich noch anfälliger für Marktkräfte sein. Aber am Ende des Tages wird die Analyse der meisten formalen Anforderungen zu kurz kommen, da es unglaublich schwierig ist, zu qualifizieren, was ein "Geschäftsbedarf" in Bezug auf ein Spiel ist. Spiele unterscheiden sich in dieser Hinsicht erheblich von anderer Software, und daher würde ich demütig vorschlagen, dass andere Arten der Spezifikation der Software relevanter sind.
Kylotan
Was sind die anderen Möglichkeiten?
Johnny
2

Die Anforderungsanalyse zielt viel mehr auf Unternehmenssoftware mit formalen Kommunikationskanälen und dergleichen ab, von denen es für einen Indie-Entwickler kaum etwas gibt. Es ist nicht sehr nützlich für Spiele, da viele Anforderungen nicht formal getestet oder verifiziert werden können. Wenn Sie eine Symbolleiste haben und sagen: "Durch Klicken auf diese Schaltfläche sollte ein Menü mit XYZ geöffnet werden", können Sie praktisch nichts bezahlen, um auf die Schaltfläche zu klicken und zu sehen, was passiert. Macht dein Spiel Spaß? Das ist ein ganz anderer Fischkessel.

RA kann nützlich sein, um festzustellen, ob das Spiel funktioniert. Aber wenn es um Dinge wie Gleichgewicht, Wiederspielbarkeit und andere Faktoren geht, die den ultimativen Spaßfaktor des Spiels bestimmen, ist es schwierig oder unmöglich, sie zu testen. Letztendlich kommt es also darauf an, ob Sie eine bestehende Idee hervorragend umsetzen wollen oder nicht. oder ob Sie nach Erfolg im neuartigen Gameplay suchen oder nicht.

DeadMG
quelle
0

Überspring es.

In welchen Bereich der Spieleentwicklung interessieren Sie sich? Ich gehe von Programmer aus, aber ...

Designer: Sie schreiben viel. Eine ganze Menge. Normalerweise gibt es ein Designdokument, das die Vision des Designers kommuniziert, aber für alle anderen außer dem Produzenten oder Herausgeber erhalten Sie normalerweise die Informationen vom Designer selbst.

Programmierer: Der Lead bestimmt die technischen Anforderungen, die stark von der Plattform und der Asset-Pipeline abhängen. Sie werden lernen, wie das geht, wenn Sie mit Ihrem Lead bei der Arbeit arbeiten.

Künstler: Wieder ist es der Hauptkünstler zusammen mit dem Hauptprogrammierer, der normalerweise die Anforderungen für Kunstobjekte festlegt. Lernen Sie am Arbeitsplatz.

Die Anforderungsanalyse ist wie der Kurs, den sie höchstwahrscheinlich unterrichten werden, nützlich für große Unternehmen, die versuchen, Geldausgaben zu rechtfertigen, und für das Outsourcing. Und es wird oft von jemandem gemacht, der einmal codiert hat und möglicherweise seitdem vergessen hat. stechen

Wenn Sie vorhaben, Indie zu spielen, nehmen Sie ein Business- / Buchhaltungs- / Management-Fach. Sie werden es brauchen, um zu überleben und nicht geschraubt zu werden. Viel Glück.

bkersten
quelle
Ich würde auch Programmierer annehmen, da er es als Programmierer markiert hat;)
The Communist Duck
1
-1 Sie haben also nicht nur übersehen, dass die Person es für Programmierer markiert hat, sondern auch, dass es sich um eine Indie-Entwicklung handelt, was sofort bedeuten würde, dass es keinen technischen Vorsprung gibt, von dem man lernen kann. Die Anforderungsanalyse ist nützlich - auch wenn keine vollständigen Systemspezifikationen vorliegen -, um zu lernen, wie man die richtige Denkweise für die Analyse von Problemen entwickelt. Darüber hinaus ist die schriftliche Praxis immer dann nützlich, wenn die Notwendigkeit besteht, einem Verlag einen Pitch zu machen. Ihr Rat richtet sich offen gesagt weder an die Zielgruppe noch bietet er nützliche Einblicke in das Thema.
ChrisE
-1 Einverstanden. Genug beschissene Software da draußen, die nicht das tut, was die Leute brauchen, und genug Indie-Spiele, die unter schrecklichen Designs leiden, die die technischen Probleme nicht lösen und sich in endlose Umschreibungen und unveröffentlichte Spiele verwandeln. Formale Methoden sind eine Formalität, die Indie-Spiele möglicherweise nicht explizit durchlaufen, aber der Hintergrund führt eher zu einer "Stop and Think" -Mentalität als zu "Code and Fix", was allzu häufig vorkommt. Codierer sind ein Dutzend, und dennoch ist Qualitätssoftware so selten. Du machst die Mathematik.
PatrickB
1
Hahaha. Bei der gesamten Spieleentwicklung, insbesondere bei Indie, geht es darum, agil zu sein und eine Kernidee zu wiederholen. Die Anforderungsanalyse hat nichts zu bieten und ist größtenteils ein frontlastiger Prozess. Also habe ich meine Antwort verallgemeinert. Wenn sie vorhaben, Indie zu spielen, wird es schwierig sein, auf ein Netzwerk von erfahrenen Entwicklern und Künstlern zu verzichten. Entweder müssen Sie ein Genie in allen Bereichen der Spieleentwicklung und des Geschäfts sein, oder Sie finden Mentoren, A-la-Tech-Leads usw. Versuchen Sie, nicht so sensibel zu sein.
Bkersten
1
Die Analyse der @ PatrickB-Anforderungen hat keinen Einfluss darauf, wie eine Software entworfen wird. Die Anforderungsanalyse ist voll von nutzlosen Informationen, die ein Spieleentwickler kaum jemals verwenden würde (Anwendungsfalldiagramme fallen mir besonders ein). Es ist ein Thema, das sich weitgehend an Stakeholdern und damit an Unternehmensumgebungen richtet. Ich bin damit einverstanden, dass der Entwickler Anforderungen (Funktionen) auflistet, aber das sollte gesunder Menschenverstand sein. Das Entwerfen einer Software ist ein völlig eigenständiges Thema, das die Anforderungsanalyse (ohnehin an der Universität) kaum berührt
Ray Dey