2011年08月27日

ゲームを作る時に考えておきたい事

最近は会社でゲーム作る仕事がないので結構退屈なのです。

そろそろ家でもゲームを作りたいくらいの気分なので、
それに合わせて、
ゲームを作る際に考えておきたい事をまとめてみる。



・ルールをモデリング化しておく
大ざっぱな流れだけでもいいから、
どのようにゲームが流れていくかを図式にして、
実際に紙に書き出しておく。

会社で作ったゲームのうち一つは、
このモデリング化をしなかった関係で、
恐ろしいレベルのスパゲティコードになって、
まともな修正がかけれなくなりました。

たぶん、この図式化するって作業は、
出来るだけ大きく、トップダウン的な考えて組み立てていって、
いまいちどう作って良いか分からないシステム部分は、
図式化しなくてもいいから、
その部分に必要になる技術やルールを箇条書きにして書いておく。

ゲームとは言えど一人で作るゲームの規模なら、
この考えだけでも酷いスパゲティにはなりにくい



・アイディアを追加する前提で機能を出来るだけばらしておく
巨大化するプログラムって、細かく機能とか区切ってクラスとか関数に分けていくと、
それだけで意味不明になるんだけど、
それをやらずに一つのクラスにいっぱい詰め込むとかやってると、
いざ拡張する時に出来なくなるんだよね。
でも、どこから分割するかってのが非常に難しいわけで、
きっとこの部分は勘に近い技術が必要と思われる。

現在の私はJavaで開発する事が多いので、
表示関係ならviewというのを作ってそのパッケージに
その表示のイベント系ならview.eventとか作って
パッケージだけでどういうソースが入っているのかを出来るだけ分かるように、
むしろ、
このソースコードはこのパッケージの中のソースに入っているのはおかしいんじゃないか
ってのを出来るだけ作らないようにしてます。



・レスポンスを最重要に考える
処理って重くなりすぎると、やりたくないわけ。
とくにAndroidみたいなので暇潰しゲームなのに、
読み込みに数秒かかるゲームとかがあるんだけど、
数分の時間をゲームにあてるために数秒取られるくらいなら、
DS付けてがっつりゲームやる方が圧倒的に有意義な過ごし方なんです。

別スレッドもキャッシュも読み込みデータの圧縮も
必要であればその部分だけC++で書いてもいいから、
出来るだけレスポンスの時間を減らす。

どうしても減りそうにない部分は、
カウントダウンでもアニメーションでもつけて、
とりあえず待ち時間を感じさせないようにする。

Androidのゲームとか試しでやってる事が結構あるけど、
レスポンスが非常に悪いゲームってめちゃくちゃ多いです。
その大半はiPhoneのゲームをAndroidにコンバートしただけの
非常に質の悪いゲームだったりする。
簡単にゲームを作れるツールってので作ったと思われるゲームも
非常に重く質の悪いゴミゲームになりやすいです。

個人で作って遊ぶ程度ならそれで良いだろうけど、
広告まで入れるようなゲーム作るなら、
そういうツール作らずに
自力でゴリゴリ作るべきだとは思うのです。



・妥協しない
自分がやって面白いと感じれば、
他人がやって面白いと感じるかもしれない。
でも、
自分がやってつまらない物を
他人に勧めて面白がる事は例外処理として切り捨てるべき。

会社で作ったいくつかの自作ゲームを
なんとなく仕事の合間に呼び出したりして、
ちょこっと遊ぶ事もある。
自画自賛ではないけど、
作者が楽しいと思わないゲームは
アップデートも期待出来ないし、
高いクオリティが出てくるなんて基本ありえない。

作った自分はつまらないと思うけどね、とりあえず出してみた
こんなゲームは焼き殺されてしまえばいい



・A4以上のメモ帳。もしくは大量の紙
アイディアに詰まったり、ソースが煮詰まったりしたときに、
片っ端から書き出す。

世の中はiPadとかタブレットを崇める信仰があるらしいけど、
iPadの解像度を100倍にして、処理速度とレスポンスを100倍にして、さらに静電式と感圧式の両方の機能を搭載して、
それに合わせてフォトショバリの筆圧だ、レイヤー処理だとか追加したとしても、
紙には勝てない。

手元のシャーペンで浮かんだものを片っ端から書き出す。
ばらばらに並べて、数枚の紙の情報を整理する。
間違ってる所は×つけたり、強めの筆圧で上書きしたり、
別の紙を持ってきて、数枚の紙を参照しながら、再び書き連ねた物を整理したり、
現時点ではスパコン作るくらいの投資覚悟でやらなきゃコンピュータでは再現出来ない事が
200円程度の投資で出来る訳なんです。

A4の新しいルーズリーフ用の紙を追加して、
これように新しいシャーペンも買ってきて、
ついでに消しゴムとペン立ても買ってくれば、
コンピュータに向かっていたら永久にまとまらないような考えもまとまってくる



・BGM
邪魔にならない程度に
気が散らない程度に
無音だと逆に気になってしまうので、
雑音程度にかける。

仕事場でラジオ付けっぱなしって環境は
実は凄く良い環境何じゃないかと思ってます。



・別のゲームも同時進行
一緒にソースは作らないですよ。
作らないけど、
メモ代わりにこの次に作りたいゲームのネタが浮かんだら、
忘れないうちに書き出しておく。

一つのゲーム開発に飽きたら別のゲームのネタを頃がして遊んで気分転換。
同じ事のやり過ぎは苦痛でしかないから、
こういう、
ソースコード構築と妄想構築
という2種類の使い分けは気分転換の一つとなるのです





たぶんこんなもん。
他に浮かんだら適当に追記しておこう
posted by 迷い猫 at 01:06| Comment(0) | TrackBack(0) | 日記(Books) | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。