私はSFML(C ++)とFlash(AS3)で作業しており、通常はいくつかのアイデアのプロトタイプを作成しています。
最後に使用する言語(通常はC ++)を使用するか、簡単で迅速なもの(AS3、Pythonなど)を使用して動作させ、メイン製品を開始するときにゼロから開始する方が良いでしょうか?
私はSFML(C ++)とFlash(AS3)で作業しており、通常はいくつかのアイデアのプロトタイプを作成しています。
最後に使用する言語(通常はC ++)を使用するか、簡単で迅速なもの(AS3、Pythonなど)を使用して動作させ、メイン製品を開始するときにゼロから開始する方が良いでしょうか?
回答:
それはあなたの目標が何であるかに大きく依存します。
ゲームプレイを証明しようとしている場合、反復速度がおそらく最も重要な目標であるため、それに適した言語と環境を選択する必要があります。
(ミドルウェアなどを使用して)技術を証明しようとしている場合、目標には使用する言語の選択も含まれます。
プロトタイピングのアイデアは、アイデアの迅速で汚れた作業バージョンを取得することです 、プロトタイプを廃棄して、最終製品の堅牢なアーキテクチャを作成することです。
Prototypeは製品にリファクタリングされることを意図したものではないことを認識しておく必要があります。あなたが言ったように、Flashのような、速い開発を可能にするプログラミング言語を選ぶ方が良いです。
プロトタイプは、その性質上、長持ちするコードとして設計されていません。プロトタイプは捨てられるように設計されています。彼らは一度限りです。プロトタイプを過剰に設計することは不適切です。プロトタイプは、西洋映画の町のようなものです。それはすべて正面です。その背後には何もありません。これらの家のいずれかに引っ越して家族を育てることはできません。
さらに使いたいものを構築したい場合、これはプロトタイプではなく、Andy HuntとDave Thomasが本The Pragmatic Programmerでそれを呼ぶように、トレーサーの弾丸です。
プロトタイプに関する一般的なアドバイスは、完全に廃棄可能なものを使用することです。ゲームを開発する際のプロトタイプの目標は、単純に楽しみを実現することです。ソフトウェアが依存している主なゲームメカニックは、実際に楽しいゲームを作っていますか?それは重要な質問であり、できるだけ早く答えたいものです。その答えを得るために必要なあらゆる手段を使用してください。
ここでの答えは、あなたがさまざまな言語にどれだけ慣れているか、そして最終製品の技術的ニーズにいくらか依存すると思います。最近の小さな予算のゲームの多くでは、C ++でコーディングする必要はまったくありません。スピードが必要になることは決してありません。
私の経験では、プロトタイプを動作させるのが難しい場合は、そこに到達するためにコード品質のあらゆる種類の妥協をしました。私はそれらのプロトタイプを捨てて再コーディングするのが好きです。私がそれらから学んだ教訓を使えば、(それが使われている言語に関係なく)再び欲しいものをコーディングするのはかなり速く、はるかに高いコード品質を持つでしょう。