投稿
みらぼー Mirabeau
モンスターのいい追っかけロジックが思い付かない。
6そうだね
プレイ済み
返信[1]
親投稿
say sayer.exe
1のパターン 角や分岐路に来たら方向転換 その際、来ていた方向には方向転換しない(袋小路があればその限りではない) 2のパターン マップと同じ大きさの別の2次元配列を用意し、自機が移動する度にその2次元配列に自機までの歩数を記録する ↑一ます一要素と思ってださい マップ上で自機が1ます移動すると、その2次元配列に自機までの道のりを代入する(距離ではなく道のり。計算が割と面倒) 敵はその2次元配列を見て、道のりの量の低い方向に進む 追いかけロジックはハマると楽しいですよ♪
1そうだね
プレイ済み
返信[2]
親投稿
みらぼー Mirabeau
sayさん 1は、なかなか追い付いて来ないし、2は難解すぎて作れない。笑 直線最短距離で追いかけて来るようにしてますが、壁に引っ掛かって進めなくなったりして、笑えます。 そんなのでも速度を調整したら、少しは面白く遊べますが、いろいろ試してみます。ありがとう。
0そうだね
プレイ済み
返信[3]
親投稿
ナツキ natukin1978
パッ○マンではプレイヤーを追いかけるアルゴリズムが4種類あるらしいです。まるで敵キャラに性格があるみたいで面白いと思いました。 ネットが使えるなら「パッ○マン 敵 アルゴリズム」などのキーワードで探すと良いかもしれません。
2そうだね
プレイ済み
返信[4]
親投稿
とりあえず複数出した方がいいですよ。1のパターンでも複数出てくると難易度は変わりますし、やっぱり迷路ものは敵の数は多い方がいいですしね。 色々考える事が多くて大変だとは思いますが、頑張ってください〜。
2そうだね
プレイ済み
返信[5]
親投稿
こうやま kouyama1967
 じゃあ一つだけ、取っ掛かりを教えましょう。 VX=SGN(プレイヤーのX座標-敵のX座標) VY=SGN(プレイヤーのY座標-敵のY座標)  という処理をして、VXとVYの数値を見ると、敵がプレイヤーのほうへ追っかける為の移動方向が入っています。  私も旧プチコン時代、敵がプレイヤーを追っかけるゲームはいくつか作った事があるので(具体的にはプチコンmkIIの「ピオピオ」とか)、もしプチコンmkIIを持っている、またか買える余裕がある(800円)なら、プログラムをダウンロードして、調べてみるといいでしょう。
0そうだね
プレイ済み
返信[6]
親投稿
みらぼー Mirabeau
皆様 コメントありがとうございます。 >ナツキさん アルゴリズム検索してみました。追いかける考え方はいろいろとわかりました。面白いですね。プログラムに置き換えるのが難しいです。(汗 >でんぺんさん 複数にするのはとても有効ですね。単純な動きでも、ぐっと面白くなりそう。パラメーターの管理が大変ですがいろいろといじくってみます。 >こうやまさん 現状がその状態です。壁を考慮して追いかけるロジックが課題なんです。(汗  がんばります!
0そうだね
プレイ済み
返信[7]
親投稿
こうやま kouyama1967
>現状がその状態です。壁を考慮して追いかけるロジックが課題なんです。(汗  がんばります!  ではもう少し書いてみよう。 ・今いる位置から上下左右4方向が、空間かを求める。 ・進行方向が空間かを求める。 ・4方向のうち、いくつ開いている? @4つか3つ ・新たな移動方向を決める(進行方向が空間なら、そのまま進むでもよい) @2つ ・進行方向が空間なら、そのまま進む。 ・進行方向が空間でなければ、残った1つを探して進む。 @1つ ・袋小路がないゲームなら、エラーとしてプログラム停止。
1そうだね
プレイ済み
返信[8]
親投稿
MOT motmark3
sayさんの1案+方向転換する際にプレーヤーのいる方向に向きやすくなるよう重み付けをしてはいかがでしょう。
4そうだね
プレイ済み
返信[9]
親投稿
GRS grs8001
モンスターの行動ルールを ・通路は一方通行 (途中で引き返さない) ・アカベーは近寄ってくる(XY軸で近づく:ココが各敵の思考) ・縄張り(今回は関係ないので割愛&複雑なのでよく解らん) にすれば、 『通路の分岐点で距離を詰める方向を選ぶ』が良いのでは? これなら、壁に引っ掛かって進めない現象も回避できると思います。
2そうだね
プレイ済み
返信[10]
親投稿
みらぼー Mirabeau
ありがとうございます。 具体的なイメージができてきました。 分岐までは突っ走り、選択肢のあるところでのみ接近の方向を選ぶ。なるほどです。 「一旦遠ざからないと近づけない」みたいな条件でない限り行けそうですよね。 ピンキーたちも追加して違う動きに挑戦してみます~。 どうもありがとうございました。
1そうだね
プレイ済み
返信[11]
親投稿
こうやま kouyama1967
1匹目:全処理で追っかける(壁とかで進めなければ乱数) 2匹目:X座標優先で追っかけ、または3/4の確率で追っかけか乱数 3匹目:Y座標優先で追っかけ、または2/4の確率で追っかけか乱数 4匹目:全部乱数  でいいんじゃないでしょうか。なおこれが完成した時に公開する方法ですが、ゲーム名・音楽・キャラデザインの三種類を独自のものにすれば(音楽はプリセットBGMでいい)、多分消されないと思います。
0そうだね
プレイ済み
返信[12]
親投稿
say sayer.exe
「分岐路までは前しか進めない」なら、嫌でも一旦遠ざかる挙動になりますよ 例えば自機が(1,1)にいて、敵が(上に移動してるものとして)(3,4)の位置にいるとしたなら (3,3)を経由し(7,3)まで行きます もし、Uターンを許可したら、(3,3)を経由し(3,5)でUターンし(3,3)を経由して(7,3)に戻るでしょう なので「来ていた方向には方向転換しない」としてるんです (マップ画像を見ながら想像してくれると助かります)
0そうだね
プレイ済み
返信[13]
親投稿
say sayer.exe
MOTさん案の分岐路で重みをつけるのも有効な手段ですね ただ、でんぺんさん案の複数敵が用いられたら、逆に邪魔になるでしょう(重なったら重なったまんまになる) 複数敵を見越して、敢えて重みを付けないでいたのですが、ナツキさんやたなかさん(の3案)をワンポイントとして採用すると、「重なったまんま」が解消されるでしょうね ソラコードで良ければ考えてみますよ←ソラなので動作保証はできない
0そうだね
プレイ済み
返信[14]
親投稿
ツララ LongIceSword
sayさんの2の案みたく追跡用に使う配列を作って自機の見えない足跡を残して、敵はそれを伝って来る方法にしちゃうと最後は絶対追いつめられるので、適度に撒けるようにしないとゲーム的に面白く無かったりするんですよね。 曲り角や分岐点までは一直線に動き、どん詰まりにハマった時だけ虎の巻の足跡データを参照とか1つのキャラでも複数のルーチンを組み合わせてみるといいかもですね。
1そうだね
プレイ済み
返信[15]
親投稿
say sayer.exe
ツララさんはよくわかってらっしゃる 2案はただの最短経路探索なんですよね 貼り付かれると「追いかけられゲーム」になるなと思いました 多方向から追いかけられると絶対逃げられないでしょうね 経路探索の歩数を限定すれば プァ!「敵だ!増援を頼む!」'→接近モード 「こちら守備班。敵を見失った」ザー 「ラジャー、警戒を強化する」ザー'→周囲をうろつくモード 「警戒解除、各自持ち場に戻れ」ザー'→縄張り巡回モード てことができるかも? 試してみたいがぼくのDS紛失しちゃった;_;
2そうだね
プレイ済み
返信[16]
親投稿
みらぼー Mirabeau
最初のマップだと良いですが、例えば3方向で遠くを選らばないといけない状況だと脱け出せない? 確かに、鬼ごっこは獲物が見えない時があるので成り立つのであって、常に最良ルートが判っていればすぐ捕まりますね。複数だと尚更ですね。ランダム要素も必須ですね。勉強になりました!
0そうだね
プレイ済み
返信[17]
親投稿
みらぼー Mirabeau
>試してみたいがぼくのDS紛失しちゃった;_; えぇっ!?
0そうだね
プレイ済み
返信[18]
親投稿
こうやま kouyama1967
 私が旧プチコンに移植したゲームのうち、「バグファイア!」では次の交差点まで進む処理を、「ピオピオ」では敵の種類によって追っかけの確率を変える処理を使用しています。もし旧プチコンをお持ちであれば、そちらも参考にしてみて下さい。 P.S.  ロードランナーのように、左または右回りで追っかけるという処理もあります。これについては、えぬおうさんが旧プチコンで「ランナーロード」という作品を公開しています。
0そうだね
プレイ済み
返信[19]
親投稿
ish owlis1
初めまして 宣伝ぽくてなんですが、私も一画面固定アクションを作っていた時に「敵に追いかけられるロジック」で悩みました。 事情は違うでしょうが、なにかのご参考になればと。 ドットイートの「ジリジリ追い詰められる」ではなく「ドタバタ追いかけられる」ゲームを作ろうと思いました。 ただ、追いかけらる状況はユーザの操作に依存してしまう、単純に最短経路探索すると追い詰められてしまう問題がありました そこで3つほど仕組みを作りました。 1 敵が自機発見時、警告音をだす 2 敵の接近モード中、敵の速度を段階的に早める 3 敵の接近モード中、最短経路選択で移動するが、方向変更後は一定期間は再度方向変更できないようにする(固定期間は敵の種類に依存) これで「警告状況」「早く最短で敵が寄っては来るが失敗する(こともある)」というドタバタ演出に。
1そうだね
プレイ済み
返信[20]
親投稿
抜け出せなくなるパターンは同じところを回ってしまう事が多いと思うので、ある程度の移動軌跡を記録しておいてそれと同じ場所は移動確率を減らす(過去に近いほど確率は大きいとか)するとかもアリなのかな?って思ったりもしました。
1そうだね
プレイ済み
返信[21]
親投稿
GRS grs8001
パックマンは袋小路ないので分岐点判断だけではキツイ (^^; 少しだけ複雑になるけど行動ルールを追加 ・分岐点判断時に各方向に追跡者をnコマ仮想的に進める ・進めた先がパックマンに近いルートを選択する ・但し、仮想的に進めたマス目が分岐点に達した場合、  最小値のnを元にルート判定し直す。 この2つのルール追加で少しだけよくなるかも 更に、 ・袋小路対策で一方通行で進めない場合選択除外 ON/OFF ・追跡者の性格付けで初期値nの値を変える そうすると簡単に迷子になったり用心深くなるので面白いかも
1そうだね
プレイ済み
返信[22]
親投稿
こう subwars
パックマン敵の動き方 1.追跡 シンプルに追いかける 2.逃走 自機から逃げていく 3.ランダム  (ry 4.予測 自機の先読みをしてくる 確か 1赤 2青 3黄 4桃 のはず
0そうだね
プレイ済み
返信[23]
親投稿
みらぼー Mirabeau
皆様、いろいろなアドバイスをありがとうございます。 大変参考になります。 私のスキルでは形にするのは時間がかかりそうですが頑張ってみます。 ・・というか、時間をかけて作るのが楽しい。 さっきオープニングのBGMも実装しましたw(少し変ですが) パックマンという古いゲームでも単純に見えて、いざ作ってみようとすると複雑で深いwですね。
2そうだね
プレイ済み
返信[24]
親投稿
ツララ LongIceSword
パックマンって敵の動きが自然過ぎて、いざ自分で作ってみようとすると気付かなかったその複雑さに驚くゲームの代表ですよね。 と言っても実際にプログラムを書くとそんな長いコードに成らない事にもまた驚いたり。 スーパーマリオの挙動みたく、再現するのが一種の目標になる昔のゲームって結構あるもんですね。
1そうだね
プレイ済み
返信[25]
親投稿
みらぼー Mirabeau
1そうだね
プレイ済み