1月, 2013 のアーカイブ

前回の記事の続きと言うか、Global Game Jam 2013に参加した事に関連する記事です。

 

去年と違い、今年は反省点をかなり思いつくので、反省点を挙げつつも、「方針はこうした方が良かったんじゃね?」、見たいな事を考えて見ます(誰が見たいんだよ!って感じでは有りますが)。

 

まず一つ目の、かなり大きい失敗はスケジュールをちゃんとしなかったのも有るのですが、とにかく動くものを最初に作ろうとせず、最初からある程度の完成品(GGJで言う所の、α~βの間ぐらい?)を想定して作業を始めた事です。

 

これはゲームジャムに限らず他のゲーム開発でも同じ事なのですが(少なくとも自分としては)、ゲームを作る時はまず、そのゲームを機能させるのに最低限の要素を作り、それでゲームのアイデアを試す事から試すべきだと思っています。要するにプロトタイプを作ろうという事です。

 

ここで言うプロトタイプは、ゲーム会社が偶に数ヶ月掛けて作る試作品見たいな意味ではなく、よく海外のゲーム会社で言われている方で、大規模なゲームの試作品を数時間、最高でも1日で作るレベルです。もしくは、紙とペンを使ってデザインをして遊べる物を作ってみるレベルです(これも実際に有効なプロトタイピングです)。

 

これをゲームジャム規模に落とし、実現するべきでした。例えると、今回のゲームの場合は、動く一人称カメラ、暗闇の仮ステージ(キューブをいくつか置くだけ)、敵役の適当なオブジェクトにポイントライトを付けそれを敵とみなす(もしくは適当に動かす)、と言う感じの物をまず作る事を目指すべきでした。

 

[*]ちなみに、Media Molecule のLittle Big Planet はベテランプログラマーが数時間で作ったプロトタイプをソニーにプレゼンしたらしいです (2008年のGameCityで行われたプレゼン曰く)。

 

最初に最小限の要素でゲームを試す利点は、当たり前だと思われそうですが、開発の早期にゲームの雰囲気を掴め、実際に面白くなるのかを確認できる事です。また、方向性を変えるにしても、早い段階のならゲームジャムでも少しは(有能なら結構)修正や、作り直しが効くからです。

 

今回は上記の最低限の要素が、完成を見込んだ作りをしたせいで、全最低限要素を含んだゲームを試し、調整するのが最終日の昼ごろになってしまいました(締め切り2時間前ぐらい)。その後、調整や修正を寝不足の頭でバタバタしながら行い、微妙な感じで終わりました。

 

今回の一番の反省点は自分がまったくチームを引っ張ったり、コミュ力をまったく発揮しなかったところですが(もとからコミュ力0ですが)、それも含めて反省点がまだまだあるので、また今度続きを書きます。

 

少し遅れましたが、今週末Global Game Jam 2013に参加してきました!!

 

成果物です:

 

出来前はまあ、あれですが・・・

 

Global Game Jam 2013のホームページ内にこのゲームのぺーじが有るので、そこからゲームをダウンロード出来ます:

 – http://globalgamejam.org/2013/nekosenki

 

今回は反省点が多かったので、多分次回反省点について更新します(今回やれよ!ってツッコミは無しで)。

 

今回は、FPS操作に関係する処理を紹介します。

まず、FPSを指定した数字に変更する処理です。

行う事は簡単で、Game1クラス内で、TargetElapsedTime プロパティを変更するだけです。

TargetElapsedTime は1フレームでの目標の経過時間を保存しています。

TargetElapsedTimeはTimeSpan型なので、TimeSpanを使用して以下のように設定します。今回は30FPSに設定しています。

Double fps = 30.0;
TargetElapsedTime = TimeSpan.FromSeconds(1.0 / fps);

これで30FPSになるように設定されます。ちなみに、上記で [ 1 / 30 ] と設定されているのは、[ 1秒 / 一秒内の目標フレーム数 ] で、1フレームの目標経過時間を得られるからです。

他のFPS操作として、FPSを固定したくない場合(Update()が呼ばれる間隔を一定にしたくない時)、固定しない様に変更出来ます。

IsFixedTimeStep = false;

これはテスト等に使用できますが、ゲームを作って配布する際にはFPS固定した方が良いので、あくまでテスト方法として覚えておくのが個人的にオススメです。