ゲームのマップについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
スクエア

ゲームのマップについて

#1

投稿記事 by スクエア » 14年前

「ゲームのマップについて」という簡単なタイトルで申し訳ありません、何と言えばいいのかわからなかったので・・・

 最近部屋の整理をしていたらMother3が出てきました。懐かしさのあまり、久しぶりにプレイしていまして、
 ふと思ったのですが、Mother3のようなゲームのマップは、ドットのくせに通れるところと通れないところが細かく設定?されていますよね(崖の形や高さによって進めたりすすめなかったり)

 ファミコンのドラクエなどのマップは、二次配列に「通れる」「通れない」とデータを入れてあることで、通れるところは通れる、通れないところは通れないとなっているのはわかります。
 しかしそのせいで、通れるところと通れないところが極端といいますか、四角形が1つ1つあるということが丸わかりです。
 Mother3の場合は通れないところが斜めに削られてたり、二次配列で設定されているとは思えないです。

 ・・・説明が下手すぎてすみません。上手く伝えられないのですが、わからなかったら聞いてください。
 とにかく、Mother3のようなゲームのマップはどうやって移動範囲を設定しているのかを教えてほしいです。

 僕はC言語は大体理解していると思います。実際ゲームを作ったことはありませんが、Dxライブラリで、ドラクエ風のマップ内でキャラクターを縦横動かすプログラムくらいは作ったことがあります。
 説明が難しくなっても構いませんので、どういう原理なのか教えてください。

jay
記事: 314
登録日時: 15年前
住所: 大阪市
連絡を取る:

Re: ゲームのマップについて

#2

投稿記事 by jay » 14年前

実際にMother3の開発に携わった訳ではないので想像でしかありませんが

2Dのアクションゲームで行うような当たり判定の計算を行っているのではないでしょうか?
それならば例え斜めや円形の対象であっても、ほぼその形通りの判定チェックが出来ます

建物や障害物の一つ一つに情報を設定するのは結構な手間だと思いますけれどね(苦笑)
♪僕たちは まだ森の中 抜け出そう 陽のあたる場所へ

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: ゲームのマップについて

#3

投稿記事 by ISLe » 14年前

表示用タイルと同じ大きさで当たり判定するのではなく、もっと解像度の高い(見えない)当たり判定用のマップを使っているのかもしれません。

スクエア

Re: ゲームのマップについて

#4

投稿記事 by スクエア » 14年前

返信遅れてすみません
>>jayさん
もしそのやり方だとすれば、さすが開発の人数が多いだけあるって感じですね・・・
一人でオリジナルのゲームに同じシステムを取り入れるには難しいのかなぁ

>>ISLeさん
①判定用のマップには黒線のみが描かれていて、黒線の外側には出ないように判定処理をする。
②裏に用意された判定用マップで判定処理をしつつ、表示用マップを表示する。
みたいな感じですか?

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: ゲームのマップについて

#5

投稿記事 by ISLe » 14年前

スクエア さんが書きました:①判定用のマップには黒線のみが描かれていて、黒線の外側には出ないように判定処理をする。
②裏に用意された判定用マップで判定処理をしつつ、表示用マップを表示する。
みたいな感じですか?
線で分けると判定がめんどうくさいですよ。
「進める」「進めない」の情報が入った二次元配列です。
マップパターンと1対1の大きさで判定するのと同じですよ。

仮に表示用パターンが16x16だとしても判定用マップを8x8とか4x4とか2x2とか1x1という単位にするだけです。
スクロールも含めて表示にはオフセット座標があれば良いので、移動する単位は自由なのです。
ここのサイトのゲームプログラミングの館にもありますけど、むしろパターンの大きさに合わせて移動させるほうがめんどうくさいのです。

スクエア

Re: ゲームのマップについて

#6

投稿記事 by スクエア » 14年前

たびたび時間を空けてしまい申し訳ありません
ISLeさんの言うことを元に自分なりに作ってみたり、いろいろ調べたりしたところ大体わかったと思います

ISLeさんありがとうございました
それからjayさんもありがとうございました

閉鎖

“C言語何でも質問掲示板” へ戻る