ダンジョンを作ってみる。
入力はこんな感じにする予定。
0 1 2 3 4 5 6 7 8 9 +-+-+-+-+-+-+-+-+-+-+ |S |*|*|*| |*|0 + +-+-+-+ +-+-+ +-+ | |*|*|*| |*|*| |*|1 +-+#+-+-+-+#+-+-+ +-+ |*| |*|*| |*|*| |*|2 +-+ +-+-+ +-+-+ +-+ |*| # |*|*| |*|3 +-+-+-+-+-+-+-+-+ +-+ |*|*|*|*|*|*|*|*| |*|4 +-+-+-+-+-+-+-+-+ +-+ |*|*|*|*|*|*|*|*| |*|5 +-+-+-+-+-+-+-+-+#+-+ | # |*|*|*|*| |6 + + +-+-+-+-+ + | | # # |7 + +-+-+-+-+-+-+-+-+-+ | |*|*|*|*|*|*|*|*|*|8 + +-+-+-+-+-+-+-+-+-+ | |*|*|*|*|*|*|*|*|*|9 + +-+-+-+-+-+-+-+-+-+ | G|0 +-+-+-+-+-+-+-+-+-+-+ S:Start G:Goal
ウィーザードリィ的なマップだとマス目とマス目の間をデータで表現する必要がある。
素直に書けばこうかな。
壁を立てた
壁を立ててFPSカメラにして当たり判定を入れてみた。
まだドアを実装していないがだいたい初期の目的は達成した。壁にテクスチャを貼ったらそれっぽいものになるだろうが、テクスチャ付きの壁モデルを外から読み込む方がよかろう。
入力のフォーマットは、歩けるところを' 'にするよりも入れないところを' 'にする方が使い勝手がよさそうだ。