# 表演型遊戲 AI — 格鬥遊戲之應用 2021 TGDF 台北遊戲開發者論壇 [共筆筆記索引](/ZA0Ckn94T0yN_JM36Z3KPw) [官網連結](https://2021.tgdf.tw/speakers/9) 講者:戴文凱 # 動機 - 傳統 AI 基於規則設計 - 耗費成本歸納條件逐一處理,複雜且繁瑣 - 規則可以被預測 - 格鬥遊戲中的 AI - 陪玩:AI vs. 玩家 - 表演:AI vs. AI - 依照遊戲難度調整 AI 策略 # 系統目標 - 基於獎勵函數的風格化 AI - 改變各種因素受到的懲罰程度 - 設計動作腳本(script),使 AI 更可控 - 基於動作分類的風格化 AI - 根據遊戲中的動作特性進行分類 - 調整 AI 對不同種類的偏好程度,產生不同風格 - 基於特徵篩選的風格化 AI - 設計與遊戲風格相關的特徵指標 - 衡量 AI 在不同特徵為肚上的筆縣,分化出各式風格 # FightingICE > 詳細資訊可以參考 [這裡](http://www.ice.ci.ritsumei.ac.jp/~ftgaic/index.htm) - 簡化的格鬥遊戲環境 - 保留邏輯 - 簡化畫面呈現 - 三個角色,擇一操作 - 基本規則 - 每局三輪 - 每輪 60s - 初始血量 400 - 時間 / 血量耗盡,該輪結束 - 56 種動作,其中 40 個為玩家可控 - 移動、防禦、技能 - 移動 & 防禦無前搖後搖 - 技能分為三個階段,每個動作所需 frame 不同 - Startup - Active - Recorver - 分成空中與地面動作  - AI決定下一個要做什麼 - 40 個可操作動作組成空間 - 16 個非玩家可操作的動作 # 基於獎勵函數的風格化 AI --- 強化學習 - Agent 在環境中探索,依據反饋形成決策,達到獎勵最大化 - 設定四個與風格相關的獎勵函數 - 受到傷害 - 造成傷害 - 雙方距離 - 時間 - 對於每個獎勵函數設定權重,調整後可以形成不同風格 - e.g. 加大造成傷害的權重,會以攻擊對手為主 - 會參考過去獎勵函數產生新的獎勵函數  - 動作腳本 - 人為加入希望的行為慣性 - 若符合條件,則直接執行指定動作,跳過模型決策 - e.g. 能量足夠 + 攻擊範圍內 + 倒下狀態 -> 使用波動拳 - 防禦腳本 - 讓 AI 更狡猾:多使用後搖小的招式.....之類 > [name=Siganmorfu] ## Demo - 積極風格 - 權重 - 受到傷害: -0.2 - 造成傷害: 1 - 雙方距離: 0 - 時間: 0 - 結果 - 更傾向直接攻擊 - 不閃避敵人攻擊 - 傾向高傷害技能 - 保守風格 - 權重 - 受到傷害: -1 - 造成傷害: 0.2 - 雙方距離: 0 - 時間: 0 - 結果 - 執行跳躍的次數較高 - 盡力降低被擊中的機率 - 猛攻風格 - 權重 - 受到傷害: 1 - 造成傷害: 1 - 雙方距離: 1 - 時間: 1 - 結果 - 速戰速決 - 追著敵方猛打 - 盡可能縮短距離、加速比賽 # 基於動作分類的風格化 AI --- Monte Carlo Tree Search - 利用 MCTS 對動作進行探索 - 動作分三大類(移動、攻擊、防禦) - 每類分成兩個維度,共形成六個面向  - 風格 - 貼近攻擊  - 遠離防禦 - 多使用技能  - 進攻耗能型 - 偏好使用需要能量的技能,但不會過於浪費  - 進攻蓄能 - 喜歡放大招  # 基於特徵摘選的風格化 AI --- 演化算法 - 滾動演化算法 (Rolling Horizon Evolution Algorithm: RHEA) - 透過與環境交互並不斷優化個體,演化出最佳個體的過程 - RHEA based method - 每個世代包含四個個體,每個個體包含三個基因,對應不同動作 - 對手模型 - 讓 AI 預測對方動作 - 相較於去年 (2020) 冠軍有 58% 勝率 # 基於特徵摘選的風格化 AI --- Map-Elites - 基於演化算法的變種,定義需要優化的特徵,進行挑選 - 個體定義 - 多個動作組成的序列 - 評估方式 - 是否贏得遊戲 - hp ## Demo - 移動型 - 防禦型 - 耗能型 - etc. # 問題與討論  - MCTS / Map-Elites 比較花時間,投入實務應用還需要再優化 - 結合演化算法與強化學習 - 先透過演化算法生成權重 - 再透過強化學習訓練 # Q&A - 請問有開源或是商用版本可讓開發者去嘗試? - 請發 email 給我們 (wktai@mail.ntust.edu.tw),我們可以分享研發成果 - 人為輸入的腳本,有保證一定會比 AI 自行訓練出來的決策來得好嗎? - 人為輸入的腳本,是一種 pattern,也就是,在某種情境下的最佳反應(action) 因此,可以節省訓練的時間,也達到最好的效果。 - 這個演算法能否套用到類魂遊戲的怪物 AI,如果不能的話,未來是否有計畫設計該演算法 - 因為 不同遊戲有不同狀態(state),遊戲中的角色可用動作(action)也會有不同。所以,需要重新訓練 model - 請問此增強學習是使用 DQN 嗎 - 基於 D3QN,再加上 SAC、PPO 等技術 ###### tags: `2021TGDF` `台北遊戲開發者論壇` `共筆筆記`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up