【相談?雑談?質問?】格闘ゲームについて

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

【相談?雑談?質問?】格闘ゲームについて

#1

投稿記事 by きらりん » 16年前

今作っているゲームもほぼ完成に近づいてきていて、次は何作ろうーっと思ってた所で、格ゲーってどうなってるんだろーと思いましてちょっと書き込んでみました。

当たり判定やモーション操作とかダメージとかはなんとなく想像つくんですが、AIだけがまったく想像つかないんですよね><

あれってやっぱりまだまだ僕みたいな初心者じゃできないですかね・・・。

何故いきなり格ゲーかというと東方緋想天やっててこんなん作ってみたいなーっ思ったのがきっかけだったり・・・w

ぐぐってもそれらしいページはでてこなくて、本は二冊ほどAIについて書かれてる本があったんですけど目次みた感じちんぷんかんぷんでした\(^o^)/


ゲーム開発者のためのAI入門
実践で学ぶ ゲームAIプログラミング

バグ

Re:【相談?雑談?質問?】格闘ゲームについて

#2

投稿記事 by バグ » 16年前

一番手っ取り早いのは、プレイヤーの行動に完璧に対応する(こちらがジャンプしたら、確実に対空技で迎撃してくる…みたいな)最強のCPUを作成しておいて、強さのレベルに応じて迎撃率やガード率、ダメージ量を変更する方法でしょうか?

Mist

Re:【相談?雑談?質問?】格闘ゲームについて

#3

投稿記事 by Mist » 16年前

最初からすごいものを作ろうとせず少しずつ作っていけばいいと思います。
格ゲーの場合は簡単なほうで、パターンごとにどういった対応を取るかを列挙していくだけでもそれらしい動きになります。
例えばCOMがリュウのようなキャラの場合

1.PCとの距離がある程度離れている
  1-1.攻撃されていない(PCが波動拳のような遠隔攻撃していない)
    1-1-1.50%の確率で波動拳
    1-1-2.20%の確率で前に進む
    1-1-3.20%の確率で竜巻旋風脚
    1-1-4.10%の確率でなにもしない
  1-2.攻撃されている
    1-2-1.60%の確率でガード
    1-2-2.30%の確率で何もしない(攻撃を受ける)
    1-2-3.10%の確率で波動拳を出して打ち消す

てな感じで、こういう状況ではこういったことをするというのを考えていけば良いと思います。
それぞれの確率を変動させることでCOMの強さを変化しているように見せることもできます。

バグ

Re:【相談?雑談?質問?】格闘ゲームについて

#4

投稿記事 by バグ » 16年前

絶対的に強い、もしくは弱いってのは、割と簡単なんですよね。
「適度に強い」ってのを実現するのはなかなか骨が折れますよね(^_^;)

Dixq (管理人)

Re:【相談?雑談?質問?】格闘ゲームについて

#5

投稿記事 by Dixq (管理人) » 16年前

もう言いたい事が言われている・・w

「試行錯誤してみる」これって結構重要なことなんですよね。
既存の方法論を勉強する事はもちろん素晴らしいことなんですが、
まず自分でどうにかならないか試行錯誤してみるんです。

自分ではこれ以上考えられない!って位までみっちりAIを作り上げて、
それから本を読んだりしたら更にスキルアップすると思います。

やっぱプログラムの面白さって自分で考えたアルゴリズムで実装して、
実際に敵が思い通りに動いてくれたりした時、感じるものだと思うんですよね。

何を面白いと感じるかは人それぞれだと思うのですが、
私なんかは、どうやったらAIがうまく動くか、ずっと考え続けるのも楽しみです。

それに、試行錯誤で導き出した方法って完全に自分のものとして習得できるんですよね。
一方で、人から聞いた方法や本で読んだアルゴリズムはすぐに忘れてしまいがちです。

その上、試行錯誤で導き出した方法は、自分なりに更なる応用が容易ですが、聞いた方法を応用するのは結構難しいです。
もし試行錯誤しているうちに一般的に最適だと言われているアルゴリズムを思いつくことが出来れば、これ以上素晴らしい事は無いですし、
その思いついた方法が少々非効率だったとしても、自分なりに修正を加えていって、自分なりの方法として確立するのもいいと思います。
やっぱ自分で考えた方法で実装したいですもんね。
責任ある立場やプロの現場ではそんなこと言っていられないかもしれませんが、趣味ならそれでいい気がします。

・・ということでMistさんが仰っているような試行錯誤でAIをまず作っていってみてもいいのではないかな?と思います。
敵の難易度についてはバグさんが仰っているように、「最強」を作ってから、最強となるパターンが発動する確率を下げていけばいいだけだと思います。

例えば、空中飛び道具が無い状態で飛び込んできた時に必ずショウリュウケンが発動すれば最強だと思いますが、これが発動する確率を下げていけば段々COMとして弱くなりますよね。

きらりん

Re:【相談?雑談?質問?】格闘ゲームについて

#6

投稿記事 by きらりん » 16年前

>>バグ様
最初よくわからなかったんですが、Mist様のを読んでからバグ様のレスを読んですごく参考になりましたw
有難うございます
   >>最強のCPUを作成
これはできる気がしませんがとりあえず弱いのなら作れる気がしますw

>>Mist様
参考になりました!
いままで何からやりはじめたらいいのかわからなかったのが、頭の中で色々とやりたいことが山のようにでてきました・・・w(こーいう時が一番楽しいです・・・w)
有難うございました


>>Dixq (管理人)様  
そうですね・・・。最近ちょっと先を急ぎ過ぎて基本のことを忘れていた気がします;
ただ、まだ初心者過ぎるせいなのか、色んなプログラムが魔法のように感じるですよね・・・w
今回のAIに関しても言われてみれば「あぁそうか!」って感じでわかったんですが、自分で考えてるうちは「あれは中で何が起こっているんだ・・・」リバーシのアルゴリズムみたいに変な計算が!?みたいなふうに変な方向に考えてしまってました;
もうちょっと想像力を養う必要があるのかもしれません;
このまま足がかりがないままだと格ゲーはあきらめかけてたので;w;

閉鎖

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