Ist es beim Erstellen schneller Prototypen besser, die Sprache zu verwenden, die Sie am Ende verwenden werden?

23

Ich habe mit SFML (C ++) und Flash (AS3) gearbeitet und normalerweise Prototypen für einige meiner Ideen erstellt.

Ist es besser, die Sprache zu verwenden, die Sie am Ende verwenden werden (normalerweise C ++), oder etwas einfaches und schnelles (AS3, Python usw.) zu verwenden, um es zum Laufen zu bringen und dann von vorne zu beginnen, wenn Sie mit dem Hauptprodukt beginnen?

Ólafur Waage
quelle

Antworten:

31

Es hängt stark davon ab, was Ihre Ziele sind.

Wenn Sie versuchen, das Gameplay zu beweisen, ist die Geschwindigkeit der Iteration wahrscheinlich Ihr wichtigstes Ziel, und deshalb sollten Sie eine Sprache und Umgebung auswählen, die dazu passt.

Wenn Sie versuchen, Technologie zu beweisen (mithilfe von Middleware oder auf andere Weise), sollten Sie auch festlegen, welche Sprache verwendet werden soll.

Tetrade
quelle
6
Wenn Sie eine andere Sprache als die endgültige Zielsprache verwenden, kann Ihr Prototyp nicht zum Seriencode werden. Sie können dies berücksichtigen, wenn Sie an die Politik Ihres Unternehmens denken.
Jessecurry
1
@jessecurry, ich liebe es, wie du gesagt hast "hilf zu verhindern". Ich habe gesehen, wie in ein paar Tagen der Prototyp von Ruby-Code und die Installation der Ruby-Unterstützung auf den Hosting-Servern zum Leben erweckt wurden.
Gradbot
Wenn Sie keine Leistung beweisen möchten, spielt die Wahl der Sprache auch keine Rolle, wenn Sie die Technologie testen möchten. Dh um die Frage "Würde das überhaupt funktionieren?" Zu beantworten, kann Ihnen ein schneller skriptbasierter Prototyp alle Antworten geben, die Sie benötigen.
Rachel Blum
@Rachel Na klar, deshalb habe ich der ganzen Frage "es kommt drauf an" vorangestellt.
Tetrad
14

Die Idee des Prototyping ist es, eine schnell und fehlerfrei funktionierende Version Ihrer Idee zu erstellen und dann den Prototyp zu entsorgen , um eine solide Architektur für Ihr Endprodukt zu erstellen.

Es ist wichtig zu berücksichtigen, dass ein Prototyp nicht für die Umgestaltung eines Produkts gedacht ist (und niemals für die Umgestaltung eines Produkts). Daher ist es nicht erforderlich, ihn in derselben Sprache zu verfassen, in der Sie Ihr endgültiges Spiel verfassen möchten. Es ist besser, eine Programmiersprache zu wählen, die eine schnelle Entwicklung ermöglicht, wie Sie es bereits erwähnt haben.

Prototypen sind ihrem Wesen nach kein langlebiger Code. Prototypen sollen weggeworfen werden. Sie sind Unikate. Es ist nicht angebracht, einen Prototypen zu überentwickeln. Ein Prototyp ist wie eine Stadt in einem westlichen Film. Es ist alles Fassade. Dahinter steckt nichts. In einem dieser Häuser kann man nicht einziehen und eine Familie gründen.

Wenn Sie etwas bauen möchten, das Sie möglicherweise weiter verwenden möchten, handelt es sich nicht um einen Prototyp, sondern um ein Tracer Bullet, wie es Andy Hunt und Dave Thomas im Buch The Pragmatic Programmer nennen .

Michael Klement
quelle
4

Der allgemeine Rat bei Prototypen ist, etwas zu verwenden, das komplett weggeworfen wird. Das Ziel eines Prototyps bei der Entwicklung von Spielen besteht darin, sicherzustellen, dass Sie den Spaß steigern. Ist die Hauptspielmechanik, auf die sich Ihre Software stützt, wirklich ein unterhaltsames Spiel? Das ist eine wichtige Frage, die Sie so schnell wie möglich beantworten möchten. Verwenden Sie alle erforderlichen Mittel, um zu dieser Antwort zu gelangen.

hokiecsgrad
quelle
1

Ich denke, die Antwort hier hängt ein wenig davon ab, wie gut Sie sich in den verschiedenen Sprachen auskennen und welche technischen Anforderungen das Endprodukt stellt. Bei vielen Spielen mit kleinem Budget besteht heutzutage keine Notwendigkeit mehr, in C ++ zu programmieren - Sie werden nie die Geschwindigkeit benötigen, die es Ihnen bietet.

Ich habe die Erfahrung gemacht, dass Sie, wenn Sie Probleme haben, einen Prototyp zum Laufen zu bringen, alle möglichen Kompromisse bei der Codequalität eingegangen sind, um dahin zu gelangen. Ich mag es, diese Prototypen wegzuwerfen und sie neu zu kodieren. Mit den Lektionen, die ich daraus gelernt habe, wird das Codieren, was ich wieder möchte (unabhängig von der Sprache, in der es gesprochen wird), ziemlich schnell sein und eine viel höhere Codequalität haben.

CommanderTso
quelle