未分類の雑記

・睡眠時間7時間半くらい。少し寝つきが悪かったが、目を開けたり起き上がったりするようなことはなかった。どうにも「もっと遊びたい」という衝動を抑えるのに苦労する。


・仮に、自分の考えが全てまとまったとして、そこにできる世界は大きいのか小さいのか。「自分が全て把握している」という意味では小さく感じるかもしれないし、「自分の知ってる要素数の全ての組み合わせ」と考えると組み合わせ爆発によって大きく感じるかもしれない。


・そういえば、初めて「1イント」なる単語を聞いたのだった。これまでは「1フレーム」とか「60fps」とかだったので。
「1イント=60分の1秒」で、「1イントで回る」=「60分の1秒で更新できる」、「2イントで回る」=「30分の1秒でしか更新できない」という感じらしい。


・「詭弁を解説技法に使う」のが上手くいかなかったので、「思考停止を寝る前の準備に使う」でござる、の巻。


・そいや、ちゃんと「詭弁を解説技法に応用しようとしたけどムリだった」件を書いたことはなかったかもしれない。少しだけメモしておこう。
理由はたしか色々あった。とりあえず思い出せるのは「詭弁とは"誤誘導"なのであって、解説技法に必要な"誘導"とは別種」というあたり。


・ひとまずNPCの挙動の設計に入るか。まともなNPCの設計は初めてのような気がするし、以前に何かでやったような気もする。ひとまずパスファインディングだ。とか、そう書くと「ポテンシャル」という概念もありか。


・「ヒューリスティック」の方の単語を先に思い出した。前回調べた時に定着した、というよりは「ヒューリスティクス」という単語を度忘れしてA*探索を調べた時に見つけて思い出しただけ。


・プレイヤーの行動中も、NPCの思考ルーチンを回すことは可能なんだよな。プレイヤーの行動によって生じる「状況の差分」を埋めるための処理時間が大きいと無意味だけど。
「状況の差分」という概念はなんかいいな。何かに使えそうだ。


・設計といいつつ、結局ほぼコードだ。コード書きながらの方が設計がやりやすい。


・結局、今日でNPCのプロトタイプができてしまった。明日いっぱいかけるつもりだったのに。別に悪くはないというか、喜ぶべきところなんだろうけど、予定は狂うし、「見積もりが甘い」という短所がまだ改善されてないことを示すものでもある。
→いや、移動だけで、その他の部分は残ってた。これなら明日いっぱいはかかる。ここまで考えて見積もってた気がする。ならば問題なし。でも移動だけでも想定よりは早かった。今日いっぱいは設計の予定だった。


STLバリバリなので思考時間が長くかかるかと思ったがそうでもなかった。1秒もない。探索範囲が狭いからか。
あと、Wiiでも量で勝負するのでなければboost使えるんだなぁ。shared_ptr万歳!


・コード書きながらの設計をメモっておこう。
今回のネタは「ゴールはないんだけど経路探索」というやつ。「どの経路を通ればスコアが高いか」の方が適切か。
で、「アルゴリズムのネタを出す」→「コメントとしてメモ」→「ひとまずアルゴリズムをコードとして書いてみる」→「書き出せるならそのまま書く。どっかでつまったらネタ出しに戻る」という感じ。5つ目のネタでコードが書き出せて、そのままコードを書いていく形になった。
コードはわりと初めの方から書いていくことができた。今までだったら「書きたい部分から書く」だったし、脳内メモリが足りればそれでも問題ないけど、自分の性能では最初から書けたほうが良い。ただ、「最初から書く」とはいっても「コメントだけ書いて飛ばす」部分はあった。そこは「//!!!!!!!!」とかのコメントを入れておいて、検索でひっかかるようにしておく。一通り書いた後、そのコメントのところの清書を行った。
その後、ようやく他とのつなぎ部分の設計&コーディングに入る。AI側からではなく、AIを使う側でどうコーディングしたいかを書いてから。
途中まではボトムアップで書いて、そのインタフェースを書く段になってからトップダウンでインタフェース決定、という流れか。どの程度一般的に通じるかどうかはおいといて、ひとまず以上をメモ。次回の「移動以外の部分」も同じ方法でいけると思うので、それは明日試す。