みなさま、はじめまして。
開発部プログラムセクションの武田です。
ゲーム業界はもう20年のオッサンプログラマですが、まだまだ現役です。普段はゲームアプリ開発を行っていますが何でも屋です。今回ブログ執筆という機会を貰えましたので、ゲーム開発がスタートする前に行う試作開発についてプログラマの目線でお話したいと思います。
試作とは?
ある程度のスタッフでゲームを作ろうとするとそれなりにお金がかかります。
面白そうな企画書が出来上がっても「面白そうだから開発スタート!」にはなりません。
例えば企画書には
- 「本物の飛行機を操縦しているようなリアルさ!」とか
- 「独自のオカルトファンタジー!」とか
- 「RPGx将棋の新感覚パズルバトル!」とか
コンセプト、ウリがひと事で要約されています。
これが企画書通りにできればウリになりますが、できなければウリにはなりません。
そこで企画のウリとなる部分だけを抽出して試しに作ってみるのが文字通り試作です。
準備
会社やクライアントによって変わりますが、私の経験だと試作は少人数で制作してきました。プログラマは1~2人ぐらいで、期間も1~3か月程度とあまりもらえません。その中でウリを表現するには割とやる事は多いです。
プログラマの準備としては何から作るか?の前に何(ゲームシステム、ツール)で作るか?を決めなければいけません。大抵これまでの資産(ゲームエンジン、またはライブラリ)がある筈なので、それを元にして制作するか、またはUnity,UEなどゲームエンジンを活用するか。試作の内容によってはアーティストは絵作りやアニメーション、エフェクトが必要になったりもします。ウリを最大限出すために何で作ると効果的なのかスタッフとよく話し合って決めると良いでしょう。
次に大事なのはどの部分を作るか。試作は期間が短いのでアピールできない部分を作っている暇はありません。プログラマは試作の対象となるハードウェアの性能や制作環境でどの程度までできるか予測できます。しかしプランナやアーティストはグラフィックスまたはゲーム構築の専門の為、実際に実装される範囲を予測するのが難しい職種です。試作で見せたい部分が高度なAIだったり、ハイエンドなグラフィック表現が必要だと試作の期間内では作れません。プログラマが実現可能な内容に落とし込めるよう説明することがとても大事です。
最後は開発チームの戦力把握。これは試作を通して理解していく事かと思いますが、同職種のプログラマだけでなく、アーティスト、プランナの力も把握しておいた方が良いです。共に作るスタッフの得手不得手を理解し、得意な部分を生かしていく事で短期間でも良いものが作れます。自分の範囲だけでなく全体を見るようにしましょう。
制作開始
どんなスタッフと何で作るかを決めたら目標とスケジュールを決定して制作に入ります。
何度も書きますが、とにかく人数が少ないのでひとりあたりの業務が広くて浅く「やった事が無いので」なんて言っている暇はありません。なんでもやる事になります。
例えばアクションゲーム作りで必要なものといえば、キャラクター、カメラ、コリジョン、UI、ゲームロジック…そして「ウリ」の部分。最低限これらを実装する必要があります。今はオブジェクト指向プログラミングも成熟し、インターネットに多くの情報があり、ゲームエンジンもありますので、昔ほど大変ではありませんがその分求められる水準は上がっています。
後は簡単なグラフィックデータを作れるようになっておいた方がいいです。具体的にはアイコン、モデル、アニメ、テクスチャなどサンプルデータは自作し、後でアーティストに差し替えてもらうような形をとる方がプログラマはデータを待つ必要がないし、デザイナも差し替えるだけで済むので楽に進みます。
その為には普段からプログラムの勉強だけではなく、PhotoShopやMaya(3dsMax),Excelなど非プログラマが使用するツールも使えるようになっておいた方が何かと円滑に進めます。
制作中に注意すること
試作は「ウリ」の部分を作っているので、他は後回しでも良いわけです。しかし「ウリ」はどこまで作れば感じられるのか難しかったりします。
チーム対戦がウリのFPSゲームに例えてみましょう。プレイヤーの基本動作として「移動」「ジャンプ」「狙う」「撃つ」アクションが必要となります。また一人称カメラ、弾丸とキャラクターの衝突処理(コリジョン)、対戦機能など。最低限これらをいれなければウリを伝える事はできません。
一方、武器の種類や実績解除などは後回しでもOKです。しかしヘッドショット、サブ武器、HP、ネットワークの要素はどうでしょうか。試作では無くても良いのですが、あっても良い所です。このあたりはディレクター判断になりますが、担当プログラマも意見を言える部分です。期間のない中で何を入れるとウリが際立つか都度話し合う方が良いです。
そしてもうひとつは雑に作らない事です。「ウリ」に必要な最低限の実装というのは小さく作るという意味で雑に作ってよいという訳ではありません。「とりあえず実装」というレベルではなく作ると決めた範囲は可能な限り製品に近いレベルを目指すのが大事です。
完成
無事に完成しても結果がでるその時まで不安が取れることはありませんが、やるだけやったら結果を待つだけです。
プログラマは試作で起きた課題の解決と実際に開発がスタートした時の人員や環境構築を始めておきましょう。
最後に
今回ブログという機会を貰えたので、何度かやってきた試作について書いてみました。
新作を生む為に試作は必ず必要な作業です。機会が貰えたら大チャンスだと思って頑張ってください。少しでも良いものが作れますように。