Wie schreibe ich eine gute Funktionsspezifikation für ein Spiel? [geschlossen]

8

Ich kopiere im Grunde (schamlos) eine Frage, die vor ein paar Jahren auf SO aufgetaucht ist. Die Antworten sind gut, aber ich würde gerne mehr zu diesem Thema erfahren , also versuche ich einen spezialisierteren Subreddit- Substack-Austausch. Insgeheim hoffe ich auf eine Antwort von Byte56 . Ich frage mich, ob er eine Spezifikation für AoG geschrieben hat. :) :)

Ich versuche, eine funktionale Spezifikation für ein Spiel gemäß Joels Artikelserie zu schreiben (wer würde nichts lieben, was dieser geniale Typ schreibt), und ich bin mit meinem aktuellen Ansatz nicht zufrieden. Es ist viel einfacher, eine Funktionsspezifikation für eine Webanwendung oder eine Website zu schreiben (mein Vollzeitjob ist immer noch die Entwicklung von Webanwendungen), auf der ich jeden möglichen Bildschirm in einem separaten Kapitel beschreiben kann, und es ist auch einfacher, Szenarien zu erstellen.

Das Spiel ist ein rundenbasiertes Logik- / Puzzlespiel, aber es ist schnell und unterhaltsam genug, um für viele Zuschauer gespielt zu werden.

  • Sollte ich Szenarien schreiben, die auf verschiedenen Spielertypen basieren (z. B. nervöse FPS-Spieler, makro-besessene Strategietypen, solitäreliebende Hausfrauen usw.) und versuchen zu beschreiben, was sie von dem Spiel erwarten und wie sie es verwenden werden?
  • Was sollte "Bildschirme" in der Spezifikation darstellen; die Spielbildschirme (z. B. Menü, Ladebildschirm, Hauptspielbildschirm usw.) oder sollte ich lieber alle verschiedenen möglichen Situationen im Spiel als Bildschirme beschreiben (z. B. mein Zug, Warten auf den Zug des Gegners, mögliche Züge, was passiert, wenn ich einen mache? ungültiger Zug usw.)?

Das Schreiben dieser Frage hat mir geholfen, meine Gedanken über die Spezifikation zu klären, aber ich reiche sie ein, um zu sehen, ob ich von dieser großartigen Community gute Antworten bekommen kann.

Teo.sk
quelle
3
Leider bin ich nicht so organisiert. Ich habe kein formelles Dokument. Im Wesentlichen habe ich nur eine riesige TO-DO-Liste (mit Workflowy ist es schön). Es ist in verschiedene Kategorien unterteilt (Zonen, Geräte, Physik, Kampf usw.), in denen ich einige hochrangige Ziele für diese Kategorie aufführe. Unter jedem übergeordneten Ziel befinden sich weitere Unterziele und Ressourcen, mit denen ich dieses Ziel erreichen kann. Ich habe keine Szenarien für verschiedene Spielertypen, ich mache das Spiel, das ich spielen möchte! Ich weiß das, ohne es aufzuschreiben.
MichaelHouse
1
Wenn Sie 10 verschiedene Farben nehmen und sie miteinander mischen, erhalten Sie ein unangenehmes Grau / Braun, das niemand mag. Ich sage nur ... =) In der Zwischenzeit sollten Ihre "Bildschirme" sowohl die aktuelle Aktivität als auch Übergänge zu anderen "Bildschirmen" darstellen. Das Hauptmenü ist ein Bildschirm, die Aktivität ist Verkehrspolizist und wechselt zu Optionen oder startet die Wiedergabe. StartPlay ist ein Bildschirm, die Aktivität besteht darin, hübsche Bilder anzuzeigen, und der Übergang geht zu GameInProgress. etc ...
Patrick Hughes
Haben Sie einen Prototyp?
Den
Das Spiel ist so einfach, dass ich an einem Wochenende einen Prototyp codieren könnte. Aber ich hatte genug Beispiele in meiner Hobby-Spielentwicklung, in der ich sofort mit dem Codieren begann und das Spiel nie fertig wurde oder aufgrund von Problemen, die eine gute Spezifikation verhindern würde, zu viele Fehler aufwies. Dies ist auch mein erstes Spiel, das ich nicht alleine mache, sondern in einem kleinen Team. Deshalb haben wir beschlossen, es so zu machen, wie es die "großen Jungs" in der Branche machen. Ich weiß, dass viele sagen, dass es für ein kleines Spiel besser ist, mit dem Codieren zu beginnen, als Spezifikationen zu schreiben, aber ich bin bei mr. Spolsky in diesem :)
Teo.sk
@ Teo.sk "... aber ich bin mit Herrn Spolsky in diesem ..." Sie sind mit seinen 13,5 Jahre alten Gedanken um genau zu sein :)
Den

Antworten:

6

Videospiele unterscheiden sich stark von der Art von Software, über die Joel spricht. In vielen Wegen.

Zum Beispiel spricht Joel davon, die "Spezifikation" zum "Kunden" zu bringen. Ja, so funktionieren Videospiele nicht. Wann haben Sie das letzte Mal gehört, dass Shigeru Miyamoto ein Designdokument der Öffentlichkeit zugänglich gemacht und gefragt hat, ob ein Feature ihren Anforderungen entspricht? Spieleentwickler kommunizieren nicht so mit ihren Kunden wie Softwareentwickler mit Menschen, die ihre Software kaufen.

Es ist eine künstlerische Arbeit; Wenn Sie Kunst machen, haben Sie im Allgemeinen nicht viel Zusammenspiel zwischen dem Hersteller und denen, die sie kaufen könnten. Sie können , aber sicher nicht auf der Ebene einer "Funktionsspezifikation".

Ein weiteres Problem mit einer "Funktionsspezifikation" für ein Spiel ist, dass es unflexibel ist. Die Spieleentwicklung ist offensichtlich funktional, aber auch künstlerisch . Sie müssen also flexibel sein. Sie könnten denken, dass ein Aspekt Ihres Spiels wie X funktioniert. Aber wenn Sie es tatsächlich codieren, hat es nicht den beabsichtigten Effekt. Sie müssen daher in Ihrer Entwicklung flexibel sein. Sie benötigen Iterationszeit, um das Spielerlebnis zu glätten. Und ich spreche nicht nur über die Benutzeroberfläche.

Eine "Funktionsspezifikation" hilft hier nicht weiter. Sie müssen eine "Guess and Check" -Methode anwenden. Ändern Sie Dinge, sehen Sie, ob es besser spielt, ändern Sie mehr Dinge usw. Ihre Entwicklung muss flexibel sein.

Ist eine "funktionale Spezifikation" von Wert in der Spieleentwicklung? In unterschiedlichem Maße ja. Es wird immer noch als Mittel zur Kommunikation von Softwareentwicklungsproblemen in einem Softwareteam verwendet. Und die wichtigste Aufgabe ist , dass es macht Sie tun , ist darüber nachzudenken , was Sie tun , bevor es zu tun .

In der Spieleentwicklung ist eine "Funktionsspezifikation" eigentlich nur ein "Spieldesign-Dokument", in dem die technischen Seiten der Implementierung untersucht werden. Wenn Sie in einem Team arbeiten, ist es wahrscheinlich wichtig, dies zu verwenden, um alle auf die gleiche Seite zu bringen.

Der Schlüssel ist, sich nicht zu sehr an Dinge zu binden. In Ihrem Spieldesign-Dokument steht möglicherweise X, aber letztendlich müssen Sie entscheiden, ob X für Ihr Spiel gut ist, wenn Sie es ausprobieren. Ein Entwurfsdokument sollte ein Startpunkt und kein Endpunkt sein.

Nicol Bolas
quelle
Ja, das ist eine sehr gute Antwort, danke. So kommt auch mein Dokument heraus, seit ich die Frage gestellt habe. Ich würde es wirklich lieber als Game-Design-Dokument bezeichnen. Ich habe auch einen guten Artikel über Game-Design-Dokumente gefunden ( bbrathwaite.wordpress.com/2008/11/30/… ) und dies sowie einige spezifische Teile von Joels Ratschlägen sind das, woran ich mich halte, und ich werde es wirklich behalten einfach. Noch einmal vielen Dank!
Teo.sk
4

Eine Spezifikation verhindert keine Probleme, sondern erstellt sie nur an einem anderen Punkt, aber Sie werden sie wahrscheinlich erst bei der Implementierung erkennen.

Das Schreiben einer Spezifikation dient nur zwei Zwecken: Sie können sich an Ihre Gedanken erinnern und diese Gedanken mit Ihren Teamkollegen teilen.

Wenn Sie Ihre Gedanken aufschreiben, werden sie nicht besser, es kann Sie dazu zwingen, mehr über sie nachzudenken, es kann Ihnen leichter fallen, diese Gedanken mit anderen Menschen zu teilen, aber dieselben Gedanken werden nicht besser, nur weil Sie werden auf Papier gebracht.

Letztendlich sind Spezifikationen in einem Spieldesignprozess zum Wegwerfen. Zuerst implementieren Sie sie, dann wissen Sie, wie sie falsch sind, und dann tun Sie etwas anderes.

Schreiben Sie die Spezifikationen für einen Prototyp, sie halten nicht länger, daher gibt es keinen Grund, mehr zu schreiben, als für einen Prototyp in der ersten Iteration erforderlich ist.

aaaaaaaaaaaa
quelle
Gute Beobachtungen. Eine unscharfe Idee ist unscharf, egal wie viel Sie spezifizieren =)
Patrick Hughes
Ich bemerkte , dass eine andere Antwort , die ich für eine ganz andere Frage schrieb auch eine gewisse Bedeutung haben: gamedev.stackexchange.com/a/21851/3505
aaaaaaaaaaaa
1

Das bloße Schreiben einer Spezifikation verdeutlicht, beleuchtet und "verbessert" eine Idee. Die erste Person, der Sie versuchen, Ihre Idee mitzuteilen, sind Sie selbst. "Ablegen" ist der erste Schritt. Ein Designer, der denkt, "es ist alles in meinem Kopf", täuscht sich nur. Schreiben Sie es auf und er / sie wird genau herausfinden, wie sehr sie sich selbst betrogen haben. Docs mögen ein notwendiges Übel sein, aber sie sind notwendiger als böse.

Bren
quelle