« 基礎知識と専門知識 | トップページ | プログラマーの確認事項 »

2008年9月19日 (金)想像しきれないこともある

おはようございます。本日の当番、プログラマーのM.Oです。

さてみなさん、何かをするときには色々と考えを巡らせると思いますが、
私もプログラムを書くときには、作成物がどのような動きをするかできるだけ
詳細に想像するように気をつけています。

何故そうするか?

・不明瞭な部分が発見できたり
・不具合が発生しやすい部分が事前に察知できたり
・どんな方針で実装していくべきか検討できたり

より深く考えることで気づいていなかったものが明確になると思います。

例えばちょっと大雑把ですが、以下のような仕様のカメラを考えてみました。
・注視点は対象物とする。
・視点は対象物の姿勢とは独立して操作が可能である。
・視点に対する操作は左右上下旋回、ズームインアウトを可能とする。

このカメラの動きを実際に頭の中で想像してみます。
対象物を中心とした、ある長さの球面上の点から、対象物を常に見続けている
ものになると思います。

でそのときに「あるぇ?」って感じたのが↓です。
・対象物がなくなったらどうなる?
 その場を見続ける?
 他のカメラに切り替わる?
 新たな対象物が指定される?
 →座標だけ覚えとく?ガッされたくないし、対象物を直接知ってる必要ないし。
  →なんかボタン押されたら対象物の向きのほうにカメラ向けるとかあるかも。
   →なら座標と姿勢を保持しとくか。対象物いなくなったらそこ見続けるとか
    できるし。

・対象物の姿勢とは独立とは言うものの、初期状態ではどこから見るべき?
 →大体後ろからとかが多いけど・・・
  →やっぱ姿勢は大事だねぇ

・視点に対する操作だけど、どんな動き?
 どのくらいの変化量?
 加速減速ある?
 操作入力時間とか関係する?
 これってスイッチ? 一回押されると決められた量動くとか、其の間の操作は
 受け付けないとか

・地面とかオブジェクトとかにめり込んだ場合どうする?
・視点、注視点の間に他の物があった場合どうする?
 滑らせる?
 他カメラに切り替える?
 いいかんじのところに視点をもって行く?

疑問に思ったところはまとめて、担当者と相談し修正を加えていきます。

しかし、ついつい忙しさにかまけて不十分な段階でコード作成に手をつけてしまう
事があります。そんなときは大抵修正作業に手をとられてしまい、あの時ちゃんと
今の状況を想像できていればと思うわけです。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2008/09/post-0a8c.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

| | コメント (0) | トラックバック (0)

« 基礎知識と専門知識 | トップページ | プログラマーの確認事項 »

プログラマー」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: 想像しきれないこともある:

« 基礎知識と専門知識 | トップページ | プログラマーの確認事項 »