ゲーム用AI(CPU)構想まとめ - 2025SpringHewGameJam/info GitHub Wiki
テキストとかに残しとくとそのpcしか見れないので後学も兼ねてwikiにまとめます
前提となるルール
- 場には7枚までカードが置けるフィールドが2つある。数字は詰めて置かれるため記号+数字のペアを3回まで1つのフィールドに出せるということ。
また奇数なので最短でおいた場合は先においた側の影響度が高くなる(2回置けるため) - カードには数字と記号が上下にそれぞれ書いてある。向きを変えることで数字としても記号としても利用可能。 ここがCPU作るにあたって結構鬼門かもしれない。
- パッシブ/アクティブスキル 最大値を求めるだけならまあ、、
- ショップの購入
初期に関して
初手は手札の記号の割合と場の状態から攻撃と防御どっちがいいかを判断すれば良い というかよくよく考えたら全部の記号を等しく持っていればそれを記号として使って数値が減らない限り敵側の数値を減らすか自分の数字を増やすかの単純なCPUだ 後は敵の攻撃に脅威度とか持たせたらあえて食らうとか、相手の攻撃を優先して下げるとかも実装できそう
スキルがある程度揃ってきたタイミング
敵からの攻撃を脅威度として参照して一定なら軽減しに行くし、そうでないなら自分の火力を積み重ねる。ただ極端に値が相手の数値を減らすことに長けてる場合はそっちを優先等。 また、相手に置かれないように攻撃を先に完成させたりする。
アルゴリズム
特になにもない時: 各四則演算で作れる最大値を計算(スキル効果込み)->相手と自分のフィールドを比較し、相手の攻撃の脅威度が一定値以上なら相手の場の数値を下げる。そうでないなら自分の場の数値を増加。相手の値を減らす時に余裕があるときはなるべく低い数字で攻撃するなど(最後に出すなら)