もちゅろぐ

iOSやSwift、モバイル設計だったりRailsについてまとめていく

ゲーム制作で気をつけている事(PG編)

ゲームを作るには、様々な過程があり
1つ1つがトライ&エラーの多い作業です。


初めにガッチリ決まって、後は作って、テストして終わり!


なんてのは、中2な理想です。
どこかに必ず調整が入ります。


「この会社のこのゲームは、変更がなかったらしいよ!」
よく耳にしますが、そんなのごく一部のごく稀なケースです。

「このやり方でやれば、変更がないらしいよ!」
そのやり方にはまればの話です。あと(ほとんど)変更がないの間違いです。


夢を見るのは結構ですが、現実の問題を解決した方が、ベッドの上でより多くの夢を見れます。

プログラマーが気をつけること

話がずれました。本題に移ります。
ゲームプログラマーが、プログラミングする上で気をつけることを

自分の経験から引き出してみました。*1
メモの存在に近いので、それを了承した上で読んで下さい。

  1. 先の事を考える。
  2. いいなりにならない
  3. 「あ!」って思ったら直す
  4. 「もしかして・・・」って思ったら試す
  5. ルールはしっかり守る

先の事を考える。

一番大事で、2.以降の全ての根底の部分です。
これを考えていないと、2.以降をちゃんとやっても無意味です。
今自分が行っている作業に関して、常に先のことを考えておくようにしましょう。

いいなりにならない

これはチームがあることが前提です。
一人の場合は、自分のいいなりになってください。
何かチーム員が、要望を出したりした場合は、要望の本質(目的)を確認して
何でそれが必要になったか理由を問いましょう。


 理由を聞く理由は、出された要望とは、別の方法で対応できるかもしれないからです。
相手がプログラム素人だった場合は尚更です。
相手からしたら単に今自分が希望する要望が叶えばそれでいいと思っているからです。
 別の方法で対応できる場合、それが既存のシステムだけで対応可能ならもらいもんです。
新規に作る必要も手間もなくなります。


 目的を聞く理由は、別のケースを見つけ出せるかもしれないからです。
もし別のケースを見つけれたら、そのケースも対応可能な作りにしておけば、
いざ必要になったとき、すぐに対応できるからです。
 実はこれ、結構難しいです。
それは「手段」から「目的」を探すからです。
通常は逆の「目的」から「手段」を探します。
 例えば、「木の枝にあるリンゴを取りたい」という目的があった場合、
それを叶えるには、

  • 長い棒が欲しい
  • ハシゴが欲しい
  • 手裏剣が欲しい

目的さえ叶えばいいのですから、様々な手段があります。
しかしこれが逆になるので、


長い棒がある。何が出来る?


という感じになります。

芸人に傘渡して、「何かおもしろいことやれ」って言っているようなものです。


 何かのアイデアが出る時は、目的があって手段が生まれるような流れになっているのに
それを流れに逆らうように逆から考えるのは、経験からしか判断できません。
「想像力豊かな人ならすぐに思い浮かぶだろ」
って言っても、その想像も元となる記憶があるので、過去の記憶同士をアレンジしているに過ぎません。


話が長くなりすぎました。
次行きます。

「あ!」って思ったら直す

 プログラミングしていて、ちょっとしたミスや危険性のある処理を見つける場合があります。
その時、自分が暇なら直しますが、別にやる事がある場合、「多分大丈夫だろ」という安易な決断で
見送りにしまいがちです。


直してください。
どーしても直せない場合は、警告なり出してください。
コメントに「危険」って書いておくだけでも、後日検索ですぐにひっかかるので、
やらないよりかマシです。

「もしかして・・・」って思ったら試す

 1個上に似てるかもしれません。
「今自分が作っている処理、この時に対応できないのでは?」って思うときがあります。


試してください。
または要望提供者に聞いてください。
上でも述べていますが、1つのケースを見つけたのです。
試して、ダメだったら、いつでも対応できるようにしておくべきです。

ルールはしっかり守る

 ゲーム制作はトライ&エラーの多い作業です。
過去の作った処理が今の自分と違うルールで処理がプログラムされていた場合
可読性が急激に下がります。、

 自分ルール、チームルールしっかり守ってください。



上記で載せているのは、全ては未来の自分を苦しませないための術です。

しっかりと守った時だけ報われ、守っていない時は全く役に立ちません。

*1:あくまでもまとめでないので、これが全てじゃないです。