今回はマップの木や建物などの描画方法について質問しに来ました。
今、DXライブラリでクォータービューのアクションゲームを作っています。
FFTのような、指定した場所に規則的にコマのように動くのではなく、
ぐるぐる走りまわり、でんぐり返しもジャンプもするアクションゲームです。
pcゲームのbastionやアドバンス版のキングダムハーツの様なゲームです。
現段階ではまだ四角い菱形系のチップをただ並べただけの殺風景なマップを
方向キーを押すとキャラが走り回り、SHIFTを押すとでんぐり返し、SPACEを押すとジャンプをするというものです。
マップは以下のように書かれたテキストファイルを読み込み、描画しています。
8,10
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 1, 1, 1, 1, 1, 1, 1, 1, 0
0, 1, 1, 1, 1, 1, 1, 1, 1, 0
0, 1, 1, 1, 1, 1, 1, 1, 1, 0
0, 1, 1, 1, 1, 1, 1, 1, 1, 0
0, 1, 1, 1, 1, 1, 1, 1, 1, 0
0, 1, 1, 1, 1, 1, 1, 1, 1, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
そこでこれでは寂しすぎると、描き溜めた素材をいい加減使いたいのもあり、
木や建物などの物を置いたり、
いずれはマップの地形をBASTIONというゲームのように円形にしたりしたいなと思い実践しようとしたのですが、
ぼくはそういったマップの物の配置?というのをやったことがありません。
唯一マップをいじる機会があった横スクロールアクションでのマップは、
マリオのブロックをただ並べたひらぺったいつまらないものでした。
なのでいまいち描画方法がわかりません。当たり判定なんて想像もつきません。
建物とか木の描画方法は、
今使ってるチップのサイズに分割し、二次元配列で分割した物をそろえるのでしょうか?
それとも分割せずそのまま描画し、矩形などを用いて、当たり判定を細かくするのでしょうか?
マップエディタとかだと前者の方法だと思うのですが、当たり判定があいまいになりそうです。
かといって後者だと、コードの量がすごい事になり、管理が大変そうです。
となるとやはり前者が正しいのでしょうか?
トップビューのRPGならそれでいいのでしょうが、クォーターのアクションとなるとぐるぐる動く上、ジャンプもするため
あいまいな当たり判定だとまずい気がします。
ひとまず当たり判定は置いといて、描画方法だけ、どの方法がいいのかしっかり確認しておきたいです。
初歩的な質問ですが、アドバイスお願いします。