ゲーム開発を依頼する時の前提知識[part1]:必要な資料と提示される見積

私は元々ゲームプランナー希望だったけど、今ではゲームクライアントのプログラマーを生業としています。理由はいくつかあるものの、入社した会社の風土が一番の理由かも。
 
そんな環境で仕事をしていて、現場レイヤーで「これは知っておいてほしい」と強く感じたことを書いていこうと思います。
 


第1回は、開発依頼時に提出すべき資料と、提示後の見積について書いていこうと思います。
 

必要な資料を認識すること

もしあなたがゲームプランナーで、開発現場にゲーム開発を依頼しようとしているなら、開発現場が円滑に作業を進められるようにするべきです。
これには理由がいくつかあるけど、一番は予算が問題となるから。
 
ゲーム開発には、とにかくカネがかかりますが、その中で一番かかるのは間違いなく人件費でしょう。
今の御時世、マトモな日本人ゲームエンジニアを頼るなら、1人あたり月単位でウン十万円必要なわけで、現場を稼働させる期間が長ければ長いほどコストは膨大になり、実現可能な企画内容の幅が狭くなることをゲームプランナーは認識しないといけません。
そして、あなたが必要な資料を認識していて開発現場に提示できるなら、開発中の様々なコストは大きく軽減できるはずです。

必要な資料とは何か

では、必要な資料とは何なのか…。
これは制作対象によって大きく変わりますが、中規模ゲームであれば以下のものが必要となります。

企画書

社内の企画会議を通す上で、これは必要不可欠な資料です。
流石にこれを省略する人はいないはずですし、作成すべき内容は様々なサイトや文献で紹介されていますから、ここでは特に内容を紹介しないでおきます。

要件定義書、概要設計書

企画内容を実現するために、その制作物にはどのような機能が必要か、またその性能がどの程度求められるかを記載したドキュメントを要件定義書と言うことにしましょう。
概要設計書は、要件定義から制作物を概要レベルで説明可能にしたものと考えると良いです。
 
要件定義書と概要設計書には、制作物の全体像をドキュメントとして示し、開発現場の導入をソフトランディングさせる効果があります。
開発現場ではゲームプランナーがどのように考えているかをエスパーすることができないため、あなたが作って欲しいものは一体何なのかの全体像がまず知りたいわけです。
 
ちなみに、この能力に長けている人もいるにはいます。そして私もある程度はできると考えてますが、それにはどうしても限界があります。
あなたがゲームプランナーなら、それを前提としたり、期待してはいけません。それらが許されるのは、あなた自身がプロジェクトのオーナーであり、潤沢に資金があって、現場に金を落とすことができ、かつ長くなってしまう工期を許容できる時だけです。

詳細仕様書

俗に言う仕様書とは、この詳細仕様書を示しているはずです。
では詳細仕様書が何かというと、技術仕様以外のゲーム実装に必要な設定全てを指します。
例えば、画面の種類、その中に含まれるUIとそのレイアウト、どこでサウンドファイルをどのように鳴らすか。これらは全て詳細仕様書に記載されている必要があります。
 
詳細仕様書をどう書いて欲しいかは、長くなりすぎるため別記事に纏めることにします。

見積の意味を知ること

もしあなたが開発現場にゲーム開発を依頼したら、提示した資料をベースに開発現場から見積を提示されると思います。
この見積には前提となる条件があり、その上で必要な工期と人員数が提示されることをまず知るべきです。

資料の不備

詳細仕様書に不備がある場合、実装が滞ることがあります。そして、そのコストはゲームプランナーが考えているよりも遥かに大きいものです。
もし開発現場が、提示された資料に不備があると考えた場合は見積にそのリスク分を上乗せしてくる可能性が高く、きっとプロジェクト予算を超過したものになるでしょう。

無理のあるスケジュール

一般に開発現場を知らなければ知らないほど、「開発人員が増えれば、単純に開発工期を短縮できる」と考えがちです。でも、これは大きな間違いで、人員が増えれば増えるほど開発効率は落ちると考えるべきです。
 
もしあなたが無理のあるスケジュールを開発現場に提示していた場合、開発現場はスタッフの増員を申し出ると思います。
ただ単に人員を増やすとなると余計なコストが増えますが、その理由としてはコミュニケーションコストが代表的と言えるでしょう。

この過剰に掛かってしまうコミュニケーションコストを軽減するには、開発現場に最適な人員数を聞き取りするべきです。

開発現場の待ち時間

開発現場が何も動けない時間をここでは待ち時間と言うことにします。
 
待ち時間が発生すると、その期間は当然ながら開発進捗が0となってしまいます。
待ち時間が発生する理由としては、主にリソースの受け渡しのタイミングが悪い場合、そして開発現場内でボトルネックとなる作業が多い場合があります。
 
このような待ち時間の原因を解消、軽減するには、開発現場とやり取りをする必要があるのですが、必ずしも全て最適化できるとは限りません。


色々書きましたが、これはいわゆるウォーターフォール型の開発手法を元にしています。
もし、最低限の仕様書で開発を依頼したい場合は、コストが掛かることを覚悟さえしていただければいくらでも開発現場は応じることができるでしょう。
現にそういった開発プロジェクトはあるし、制作物の性質によってはその選択肢を採用することがベターな場合もあると思います。