Game Building日誌 その1「はじめに」
はじめに
今回からGame Buildingで作ったゲームの製作過程を紹介していこうと思います。今まではどちらかというとプログラマー視点から記事を書くことが多かったのですが、今回のGame BuildingではXNA Game Studioをより良いものにする為に実際にインディーズ・ゲーム開発者側の視点に立ってゲーム製作をしてみようということを念頭に置いて製作しました。
また、Game Buildingでは限られた時間内で製作するという制限があります。Game Building期間中でも、他に作業が入ったりすることがあるので、いかにして短い間内で遊べるゲームを完成させることができるかがカギとなってきます。今回のGame Buildingは全体で二週間あったのですが、私が実際に作業できたのは9月19日(日)~9月24日(金)の午後四時まで、日付の上では6日間でしたが、途中で仕事が入ったので実質5日間の作業期間となりました。
なにつくる?
この短期間内では新しいゲームプレイを企画して試したりする時間がないので、既存のゲームを作ることにしました。元となったゲームはギャラクシアン3と呼ばれる16年前のゲームです。当時は二つのLDプレイヤーを使ってあらかじめ用意されたビデオ画像の上に3Dポリゴンで表示された敵を撃つというゲームでした。今だったらリアルタイムでできそうだし、背景自体とのインタラクションは少ないし、移動する敵を撃つだけというシンプルなゲーム内容なのでプログラム技術的には問題なさそうということで、今回はこのゲームを再現することにしました。
私はこのゲームが大好きで、アーケードに通いまくって6人プレーのところを一人でクリアできるよう頑張ったり、ゲーム内容を収録したLDとか、サントラとか、設定資料集まで買ったりしていました。PS1版があるのですが、動画のフレームレートが低く(たぶん15FPS程度?)、あんまり快適とは言えないものでした。
個人的にはネットワーク対応にして大人数でプレイできれば面白そうなのに、とは思うのですがそういった話もとんと聞かないので、ないのなら自分で作ってしまおうということで、今回のGame Buildingで作ることにしました。
作業をはじめるまえに
今回は作業を始める段階で自作しておいたコンテント・パイプラインのライブラリがあったのが大幅な作業短縮に繋がりました。このライブラリは3DモデリングツールのLightWaveのモデルファイルフォーマットであるLWOファイルと、シーンファイルフォーマットであるLWSファイルのインポーターとプロセッサがあります。ですから、プロジェクト上に直接LWOファイルとLWSファイルを追加するだけで簡単にコンテントを追加することができるようになっています。
また、テスト用に作っておいたシーンファイル再生ライブラリがあるのでそれを流用することにします。LightWave用のパイプライン・ライブラリにはLightWaveで作ったアニメーションをCurveクラスのデータに変換するようになっていますが、大量のCurveクラスを使うのは処理速度的に厳しそうだったので、スキニングモデルサンプルにあるAnimationPlayerを元にしてあらかじめキーフレームデータへと変換するようになっています。
コンテントとして流用したのは最初の出撃シーンで、これは友人がモデリングしてもらったものを使わせてもらいました。
次回からは、時系列毎にGame Buildingの5日間にあった出来事を書いていきます。