ゲームAI概論
ゲームAI概論
AIの課題(5月12日)
見張りモンスターAIを設計せよねらい敵は何を見ているのか? ↓ それをどんなフラグにするのか? ↓ フラグによってどの行動を選ぶのか? ↓ それをif文にするとどうなるのか?課題タイ...
AI モンスターの知能
モンスターに視覚を与えるisFindPlayer は誰が決めているのか?1. 前回までの確認前回、モンスターの行動を if文 で切り替える考え方を学びました。例えば、次のような処理です。if (...
状態遷移でモンスターを管理
ゲームAI課題:状態遷移でモンスターの行動を管理しよう 「今、モンスターは何をしているのか?」を設計する 1. 今日のテーマ 前回は、モンスターに「視覚」を与える考え方を学びました。 isFi...
状態遷移ふたたび
ゲームAI課題 センサー・視界・状態遷移表・状態遷移図を書いてみよう 1. 今日の課題 今回の課題では、モンスターAIの行動を センサー 視界 状態遷移表 状態遷移図 として整理します。 プ...
ステートパターン関連(コンストラクタ、デストラクタ、など:6/23日)
C++授業資料 AI・Stateパターンにつなげる仮想関数、純粋仮想関数、コンストラクタ、デストラクタ 学生用:解説+ワーク 1. 今日のテーマ ゲームAIでStateパターンを使うと、次のよ...
ステートパターン(オブジェクト指向的)
C++ Stateパターン入門 センサー・状態遷移表・状態遷移図をクラス設計に変換しよう 今日のテーマ 前回は、モンスターAIを次の流れで整理しました。 センサーで状況を調べる ↓ フラグに...
Stateパターンワーク
C++ Stateパターン入門 信号機のStateクラスで考える 1. 今日の目的 この資料では、Stateパターンを信号機の例で学びます。 難しいゲームAIではなく、次の3つの状態だけを扱い...
ビヘイビアツリー
C++で作る超簡単ビヘイビアツリー ゲームエンジニア科向け・段階実装ワーク 1. この資料で学ぶこと この資料では、敵AIをビヘイビアツリーで動かすための最小構造を、C++で段階的に作ります。...
ビヘイビアベースAIのワーク資料
AI設計ワーク ビヘイビアツリー入門 優先順位つきの木構造で敵AIを考える 1. この資料で学ぶこと この資料では、敵AIの行動を「木構造」で整理する方法を学びます。 前回までに、AIを状態で...
木構造のトラバース
親番号配列からDFSとBFSを考える 1. 今日学ぶこと 木構造では、節点同士が親子関係でつながっています。 今日は、木を図ではなく、次のような配列で表します。 i 1 2 3 ...
ゲームAI概論試験対策ワーク
試験対策ワーク
01.キャラクターAI・FSM
これまでの授業で扱ったゲームAIの考え方・状態管理・探索を、ゲーム内での使い方と結び付けながら振り返ろう! このワークでは、長いプログラムを暗記することよりも、何を判断したいのか → どの仕組み...
02.Stateパターン・Behavior Tree
3.Stateパターンで状態ごとの処理を分けよう FSMを switch だけで作ると、状態が増えるほど1つのクラスに処理が集まりやすくなります。Stateパターンでは、状態ごとの処理を別クラ...
03.グラフ・木・BFS・DFS
5.ゲームAIで使う探索の考え方 ゲームAIには、ルール、状態、Behavior Tree、ゴール、効用など、さまざまな考え方があります。また、移動経路を求めるAIでは、グラフ探索が重要になり...
04.二分木・巡回・経路探索
8.二分木と二分探索木 二分木(Binary Tree)は、各Nodeが最大2つの子を持つ木です。二分探索木(Binary Search Tree: BST)では、値の大小関係を使って探索しや...
05.板書まとめ
板書まとめ これまでの授業で使った板書を、日付順にまとめています。 各日の板書を撮影順に並べているので、授業の流れを思い出しながら振り返ってみましょう。 日付 主な内容 5/26 ...