12.07.2015 Views

指導教授蔡清欉教授專題學生邱為義廖啟瑞黃歆雅 - 東海大學‧資訊 ...

指導教授蔡清欉教授專題學生邱為義廖啟瑞黃歆雅 - 東海大學‧資訊 ...

指導教授蔡清欉教授專題學生邱為義廖啟瑞黃歆雅 - 東海大學‧資訊 ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

991私 立 東 海 大 學 資 訊 工 程 學 系專 題 實 驗 聯 合 評 審 報 告 書日 期 :99 年 12 月 18 日[ 雷 神 之 鎚 3 – 人 工 智 慧 之 優 化 ]THE OPTIMIZATION OF ARTIFICIAL INTELLIGENCE ON QUAKE3指 導 教 授蔡 清 欉 教 授專 題 學 生963915 邱 為 義963832 廖 啟 瑞963938 黃 歆 雅


摘 要玩 遊 戲 已 經 成 為 現 代 人 們 在 不 景 氣 之 下 重 要 的 一 項 休 閒 娛 樂 活 動 , 電腦 遊 戲 擁 有 高 度 的 互 動 性 以 及 整 合 各 式 媒 體 的 能 力 。 特 別 是 在 網 路 環境 普 及 後 , 多 人 連 線 的 玩 家 互 動 式 線 上 遊 戲 更 是 引 發 了 一 股 新 的 熱潮 。 現 今 角 色 行 為 設 計 普 遍 存 在 有 角 色 行 為 規 則 訂 定 、 調 整 耗 時 、 行為 不 具 學 習 性 的 缺 點 , 比 起 以 往 面 對 著 單 調 死 板 的 電 腦 AI, 現 在 的 電腦 玩 家 更 渴 望 的 是 擁 有 豐 富 多 樣 化 的 非 玩 家 控 制 的 角 色 (non-playercharacter)。本 文 是 針 對 遊 戲 角 色 之 行 為 設 計 來 做 探 討 , 希 望 能 針 對 不 同 場 合 、 不同 的 NPC, 有 著 不 一 樣 的 行 為 模 式 使 其 能 達 到 殺 人 與 被 殺 之 間 的 平衡 , 並 且 利 用 粒 子 群 演 算 法 最 佳 化 技 術 調 整 影 響 角 色 行 為 參 數 , 讓 我們 所 設 計 的 人 物 具 有 因 應 不 同 狀 況 下 的 能 力 。 訓 練 的 過 程 中 不 需 要 大量 的 訓 練 資 料 以 及 費 時 的 運 算 , 可 以 更 適 合 遊 戲 環 境 的 應 用 , 並 且 可以 輔 助 遊 戲 的 人 工 智 慧 設 計 師 調 整 行 為 策 略 時 , 策 略 參 數 的 組 合 並 且節 省 測 試 參 數 組 合 的 時 間 , 增 加 遊 戲 開 發 的 效 率 。最 後 我 們 將 所 提 出 的 演 算 法 套 入 雷 神 之 鎚 3 ( Quake III ) 遊 戲 中 的 死 鬥競 技 場 模 式 分 別 與 原 始 的 人 工 智 慧 做 比 較 , 來 證 明 我 們 的 方 法 在 遊 戲的 結 果 中 表 現 的 確 比 較 出 色 。


4.4 QUAKE III 之 BOT 行 為 最 佳 化 ··············································144.4.1 QUAKE III 之 BOT 設 計 ························································144.4.2 BOT 行 為 之 調 整 ····································································154.4.3 最 佳 化 相 關 參 數 與 適 應 函 數 之 設 定 ····································164.4.4 實 驗 設 計 與 過 程 ····································································18第 五 章 結 論 ····················································································21第 六 章 參 考 文 獻 ············································································22


敘 論1.1 動 機我 們 觀 察 目 前 的 遊 戲 類 型 後 發 現 , 目 前 市 場 上 具 有 團 隊 合 作 的 電 腦 遊戲 通 常 受 到 很 大 的 歡 迎 , 例 如 :「 雷 神 之 鎚 3」 裡 玩 家 組 對 搶 奪 對 手的 旗 幟 或 防 守 己 方 堡 壘 ; 以 及 「 百 變 恰 吉 」 中 玩 家 組 成 2 人 、3 人 、5 人 隊 伍 去 競 技 場 中 挑 戰 國 內 玩 家 所 組 成 的 隊 伍 , 雖 然 遊 戲 中 角 色 的技 能 都 固 定 , 但 我 們 必 須 考 量 到 角 色 內 行 為 的 參 數 與 玩 家 的 素 質 來 應付 不 同 的 狀 況 。 所 以 人 類 玩 家 在 團 隊 遊 戲 的 合 作 上 會 依 據 當 時 的 狀 況取 用 個 人 最 佳 的 策 略 , 若 電 腦 角 色 所 構 成 的 行 為 毫 無 挑 戰 性 可 言 ,則 遊 戲 的 趣 味 以 及 互 動 性 也 會 大 打 折 扣 , 進 而 縮 短 遊 戲 的 生 命 , 因 此我 們 提 出 一 種 方 法 , 將 電 腦 行 為 訓 練 為 有 效 率 的 角 色 , 讓 角 色 中 的 行為 兼 具 備 高 度 殺 人 數 及 少 量 被 殺 數 的 功 用 , 在 不 同 的 狀 態 下 都 能 採 取對 應 的 最 佳 策 略 , 將 會 是 我 們 要 探 討 的 主 要 課 題 。1.2 目 標現 今 的 遊 戲 普 遍 存 在 以 下 缺 點 :• 相 同 的 遊 戲 角 色 均 僅 具 有 相 同 的 動 作• 遊 戲 角 色 的 行 為 不 具 有 學 習 性


“ 相 同 的 遊 戲 角 色 均 僅 具 有 相 同 的 動 作 ” 指 的 是 , 隨 著 遊 戲 的 進 行 ,玩 家 會 遇 到 許 多 各 式 各 樣 的 非 玩 家 控 制 角 色 (NPC), 尤 其 是 阻 礙 玩 家進 行 遊 戲 的 敵 人 , 依 據 遊 戲 腳 本 的 設 定 , 同 類 型 的 敵 人 通 常 會 在 一 特定 的 區 域 重 複 出 現 , 甚 至 是 成 群 結 隊 的 出 現 , 這 相 較 於 現 實 生 活 中 的情 況 是 有 些 不 合 理 的 與 不 真 實 的 。 而 “ 遊 戲 角 色 的 行 為 不 具 有 學 習性 ”, 也 就 是 說 遊 戲 角 色 無 法 藉 由 與 玩 家 或 是 與 虛 擬 環 境 的 互 動 而 改變 既 有 動 作 , 這 是 與 由 玩 家 所 控 制 的 角 色 之 最 大 不 同 點 , 也 是 一 般 玩家 更 喜 好 與 真 實 玩 家 互 動 的 主 要 原 因 之 一 。 因 此 我 們 希 望 利 用 演 算 法最 佳 化 技 術 創 造 電 腦 遊 戲 中 的 角 色 , 包 括 了 有 :• 讓 遊 戲 動 畫 設 計 師 能 夠 更 快 速 的 創 造 出 多 樣 化 的 角 色 動 作• 讓 遊 戲 人 工 智 慧 設 計 師 能 夠 更 方 便 的 創 造 智 慧 、 擬 真 與 具 有 學 習能 力 的 角 色 行 為• 讓 遊 戲 玩 家 藉 由 參 與 角 色 最 佳 化 的 過 程 , 感 受 到 角 色 行 為 的 不 可預 測 性 。1.3 大 綱本 文 以 粒 子 群 最 佳 化 基 礎 , 訓 練 角 色 行 為 的 策 略 並 同 時 讓 團 隊 兼 具 殺人 及 被 殺 的 功 能 。 而 我 們 則 是 以 雷 神 之 鎚 3 死 鬥 競 技 場 (Quake III:


Team Arena) 作 為 實 驗 平 台 , 使 用 我 們 的 方 法 來 訓 練 出 一 個 人 物 與 電腦 內 建 人 物 在 死 鬥 競 技 場 中 對 戰 並 且 比 較 其 結 果 。相 關 研 究2.1 遊 戲 之 人 工 智 慧在 網 路 環 境 普 及 後 , 玩 家 互 動 式 的 線 上 多 人 遊 戲 ( Multy playerson-line game ) 逐 漸 形 成 一 個 大 宗 , 比 起 單 人 遊 戲 中 的 電 腦 AI 角 色 ,在 連 線 遊 戲 中 所 面 對 的 , 是 真 正 的 玩 家 , 可 以 進 行 具 有 人 性 化 的 行 為及 互 動 , 不 但 讓 遊 戲 進 行 的 過 程 更 加 有 趣 , 還 可 成 為 玩 家 之 間 交 流 的平 台 。 然 而 儘 管 網 路 遊 戲 的 出 現 , 非 玩 家 控 制 的 角 色 (none-playercharacter, NPC ) 仍 有 其 持 續 存 在 的 需 求 與 不 可 替 代 性 。NPC 電 腦 遊 戲角 色 設 計 指 的 是 對 其 角 色 進 行 造 型 (model)、 動 作 ( motion) 與 行 為( behavior) 的 設 計 , 而 NPC 就 是 由 電 腦 人 工 智 慧 (AI) 所 控 制 的 角 色 。現 今 大 部 份 的 遊 戲 , 因 為 基 於 簡 單 、 容 易 實 作 , 仍 是 使 用 規 則 為 基 礎的 傳 統 設 計 方 法 , 但 以 規 則 為 基 礎 的 方 法 最 大 的 缺 點 就 是 , 一 但 讓 玩家 找 到 其 中 的 弱 點 , 就 無 法 阻 止 玩 家 利 用 這 個 弱 點 不 斷 的 擊 敗 電 腦 角色 , 如 果 可 以 讓 電 腦 角 色 具 有 從 錯 誤 中 學 習 的 能 力 , 並 且 嘗 試 著 解 決


這 個 問 題 , 所 以 將 具 有 學 習 能 力 的 學 習 與 適 應 系 統 以 及 演 算 法 導 入 遊戲 人 工 智 慧 , 將 是 未 來 遊 戲 角 色 設 計 的 方 向 。2.2 非 玩 家 控 制 角 色提 到 電 腦 遊 戲 就 不 得 不 聯 想 到 「 非 玩 家 控 制 角 色 」(Non-PlayerCharacter-NPC),NPC 通 常 扮 演 七 種 角 色 , 分 別 是 : 一 、 玩 家 角 色協 助 者 。 二 、 玩 家 角 色 敵 對 者 。 三 、 玩 家 角 色 夥 伴 。 四 、 玩 家 角 色 暴行 的 受 害 者 ( 不 論 陣 營 )。 五 、 引 導 玩 家 角 色 發 生 事 件 的 關 鍵 虛 擬 角色 。 六 、 提 供 事 件 背 景 的 資 訊 。 七 提 供 玩 家 任 務 並 使 玩 家 獲 得 獎 勵 。角 色 經 由 遊 戲 設 計 師 賦 予 適 當 的 人 工 智 慧 , 讓 這 些 NPC 能 夠 表 現 出不 同 的 特 質 , 並 且 透 過 特 有 的 情 緒 、 脾 氣 、 音 樂 、 台 詞 , 讓 玩 家 更 能融 入 遊 戲 的 劇 情 當 中 , 所 以 一 款 遊 戲 要 令 玩 家 回 味 無 窮 , 除 了 豐 富 的劇 情 、 感 官 的 刺 激 、 華 麗 特 效 外 , 靈 活 的 人 工 智 慧 更 能 讓 玩 家 每 次 進入 遊 戲 都 有 不 同 的 體 驗 。粒 子 群 演 算 法 之 探 討3.1 粒 子 群 演 算 法 (PSO)在 PSO 中 , 一 個 最 佳 化 問 題 的 解 就 像 是 一 隻 在 空 間 中 飛 行 的 鳥 一


樣 , 他 們 稱 作 “ 粒 子 (particle)”, 在 空 間 中 移 動 的 所 有 粒 子 都 有 一 個由 適 應 函 式 所 決 定 的 適 應 值 , 另 外 每 個 粒 子 還 有 一 個 速 度 來 決 定 他 們移 動 的 方 向 與 距 離 , 一 群 粒 子 靠 著 追 隨 個 人 的 成 功 經 驗 與 目 前 最 佳 粒子 的 腳 步 在 解 空 間 中 飛 行 。 在 初 始 階 段 ,PSO 會 隨 機 產 生 一 組 粒 子( 位 置 與 速 度 ), 然 後 透 過 一 次 次 的 疊 代 找 尋 最 佳 解 , 在 每 次 的 疊 代過 程 中 每 個 粒 子 利 用 二 個 最 佳 值 ” 來 更 新 自 己 的 速 度 , 一 個 是 粒 子 本身 所 找 到 的 最 佳 解 , 稱 為 ” 個 體 最 佳 值 ( pbest )”, 另 一 個 最 佳 值 是 由PSO 所 記 錄 與 更 新 , 為 全 體 粒 子 所 找 到 的 最 佳 解 , 稱 為 ” 全 體 最 佳值 ( gbest )”, 若 一 個 粒 子 所 能 受 影 響 的 範 圍 是 區 域 性 的 , 則 這 裡 的 最佳 解 就 要 改 稱 為 ” 區 域 最 佳 值 ( lbest )”。 當 粒 子 找 到 這 二 個 最 佳 值 之後 , 便 利 用 下 面 這 個 式 子 來 更 新 粒 子 的 速 度 :k在 這 個 式 子 中 ,vi 代 表 粒 子 i 在 第 k 次 疊 代 中 的 速 度 ;w 是 權 重函 式 ;c1 與 c2 是 學 習 因 子 , 通 常 ,c1=c2;rand 是 一 個 介 於 0~1 之k間 的 隨 機 值 ;si 代 表 粒 子 i 在 第 k 次 疊 代 中 的 位 置 ;pbesti 是 粒 子 i的 最 佳 值 ;gbest 是 全 體 的 最 佳 值 。以 下 是 上 述 式 子 所 用 到 的 權 重 函 式 :


在 這 個 式 子 中 ,wmax 代 表 初 始 權 重 ,wmin 代 表 最 終 權 重 ,itermax 是 最大 的 疊 代 數 目 ,iter 則 代 表 目 前 的 疊 代 次 數 ,w 的 值 將 會 隨 疊 代 次 數的 增 加 越 來 越 小 , 這 表 示 PSO 希 望 在 最 佳 化 過 程 中 的 開 始 傾 向 讓 粒子 更 積 極 地 搜 尋 更 佳 的 問 題 解 , 也 就 是 “ 探 索 (exploration)”, 而 隨 著 疊代 次 數 的 增 加 , 粒 子 則 會 傾 向 滿 足 現 有 的 最 佳 解 , 也 就 是 ” 利 用(exploitation) ”。每 個 粒 子 在 第 k+1 次 疊 代 中 的 位 置 ( 解 空 間 中 的 搜 尋 點 ), 可 以簡 單 的 利 用 下 面 的 式 子 來 更 新 :以 下 為 粒 子 在 解 空 間 中 移 動 之 示 意 圖 :


以 下 則 為 整 個 粒 子 群 搜 尋 最 佳 解 過 程 之 示 意 圖 , 粒 子 群 透 過 不 停的 疊 代 程 序 逐 漸 收 斂 並 找 到 問 題 的 近 似 最 佳 解 , 此 時 大 部 分 的 粒 子 會處 在 一 個 相 似 的 狀 態 , 也 就 是 提 出 類 似 的 問 題 解 。3.2 適 應 函 式 與 參 數 控 制應 用 PSO 解 決 最 佳 化 問 題 的 過 程 中 有 二 個 重 要 的 步 驟 : 問 題 解 的 編碼 與 適 應 函 式 的 制 定 , 編 碼 的 維 度 與 長 度 將 影 響 求 解 的 速 度 而 適 應 函式 將 直 接 影 響 粒 子 搜 尋 的 方 向 。PSO 的 一 個 優 勢 就 是 採 用 實 數 編碼 , 不 需 要 像 基 因 演 算 法 一 樣 利 用 二 進 制 編 碼 ( 或 者 採 用 針 對 實 數 的


基 因 操 作 ), 舉 個 例 子 : 如 果 我 們 希 望 求 得 f(x)=x1 2 +x2 2 +x3 2 這 個 式子 的 最 佳 解 , 則 可 以 直 接 將 解 編 碼 為 (x1, x2, x3), 而 適 應 函 式 就 是f(x), 之 後 就 可 以 利 用 標 準 的 PSO 程 序 直 到 達 到 終 止 條 件 , 終 止 條 件 可以 為 到 達 最 大 的 疊 代 數 或 是 達 到 最 小 的 錯 誤 。 在 PSO 中 一 般 並 沒 有什 麼 參 數 需 要 調 整 , 一 些 關 於 參 數 上 的 經 驗 設 定 :• 粒 子 數 : 一 般 取 20-40, 其 實 大 部 份 的 問 題 10 個 粒 子 已 經 足 夠 可以 取 得 不 錯 的 結 果 , 不 過 關 於 比 較 難 的 問 題 或 者 特 定 類 別 的 問 題粒 子 數 可 以 取 到 100 或 200。• 粒 子 的 最 大 速 度 : 決 定 粒 子 在 一 次 的 疊 代 中 最 大 的 移 動 距 離 , 通常 設 為 粒 子 的 範 圍 寬 度 。• 學 習 因 子 :c1 和 c2 通 常 等 於 2, 不 過 在 其 它 的 文 獻 中 也 有 其 它 的設 定 , 但 一 般 c1 等 於 c2 且 範 圍 在 0~4 之 間 。• 全 體 最 佳 值 或 區 域 最 佳 值 : 前 者 速 度 較 快 , 不 過 有 時 會 陷 入 局 部最 佳 解 的 情 形 。 後 者 速 度 較 慢 , 不 過 不 容 易 陷 入 局 部 最 佳 解 , 在實 際 的 應 用 中 可 以 先 用 全 體 最 佳 值 找 到 大 致 上 的 結 果 , 再 利 用 區域 最 佳 值 進 行 搜 索 。


電 腦 射 擊 遊 戲 之 策 略4.1 雷 神 之 鎚 3( Quake III ) 介 紹4.1.1 故 事 背 景玩 家 是 一 名 士 兵 , 被 政 府 派 往 傳 送門 去 阻 止 名 為 "Quake" 的 敵 人 。 這 個入 口 使 用 政 府 的 新 技 術 傳 送 各 種可 怕 的 魔 鬼 , 傳 送 門 可 以 即 時 傳 送各 種 物 品 。 一 旦 透 過 這 扇 傳 送 門 ,你 就 必 須 同 成 群 的 魔 鬼 作 戰 並 阻 止 它 們 。 雷 神 之 錘 中 的 無 名 英 雄 在雷 神 之 錘 III 競 技 場 中 再 一 次 出 現 , 此 次 是 作 為 可 選 的 角 色 之 一 , 名 為"Ranger"。4.1.2 遊 戲 簡 介id Software 的 雷 神 之 鎚 3( Quake ) 是 我 們 所 選 擇 的 開 放 程 式 碼 與 角 色展 現 行 為 的 平 台 ,id Software 所 創 造 的 動 作 射 擊 遊 戲 與 遊 戲 引 擎 一 向是 業 界 的 標 竿 , 遊 戲 引 擎 開 放 授 權 與 鼓 勵 玩 家 修 改 遊 戲 程 式 ( MOD )的 概 念 也 是 id Software 所 首 先 提 出 。 雷 神 之 鎚 3 是 一 款 第 一 人 稱 動 作


射 擊 遊 戲 , 遊 戲 中 玩 家 在 不 同 的 場 地 , 使 用 不 同 的 武 器 、 道 具 與 對 戰策 略 擊 倒 AI 對 手 ( 稱 作 bot ) 或 網 路 上 的 玩 家 以 獲 得 射 擊 的 樂 趣 。 雷 神之 鎚 3 程 式 中 的 遊 戲 引 擎 ( 繪 圖 與 網 路 之 核 心 程 式 碼 ) 是 屬 於 需 要 授權 才 能 取 得 的 部 份 , 而 遊 戲 邏 輯 ( 與 遊 戲 邏 輯 相 關 的 程 式 碼 ) 則 是 開放 讓 玩 家 修 改 , 並 且 鼓 勵 玩 家 修 改 , 這 樣 的 作 法 除 了 增 加 遊 戲 玩 法 的多 元 性 之 外 , 更 增 加 了 遊 戲 商 品 的 壽 命 。在 Quake III 裡 利 用 人 類 高 手 的 行 為 模 式 做 為 訓 練 資 料 , 讓 電 腦 學 習 高手 的 行 為 模 式 遊 戲 中 玩 家 在 不 同 場 地 , 使 用 不 同 武 器 、 道 具 與 策 略 擊倒 NPC 對 手 ( 稱 作 bot ) 或 網 路 玩 家 以 獲 得 射 擊 的 樂 趣 。bot 一 詞 源自 robot, 通 常 指 的 是 第 一 人 稱 動 作 射 擊 遊 戲 中 由 電 腦 所 控 制 的 AINPC 角 色 。 而 我 們 所 要 設 計 的 即 是 Quake 的 bot。4.2 遊 戲 角 色 之 行 為在 遊 戲 模 式 中 , 個 人 行 為 扮 演 了 十 分 重 要 的 角 色 , 而 本 身 的 決 策 也 就是 「 行 為 的 策 略 」, 更 是 決 定 自 己 是 否 可 以 贏 得 比 賽 的 關 鍵 。遊 戲 提 供 了 玩 家 九 種 不 同 的 行 為 , 可 以 分 別 代 表 隊 員 不 同 的 特 徵 。• 蹲 伏 (Crouch): 隊 員 會 有 著 類 似 現 實 生 活 中 蹲 伏 射 擊 對 手 的 行為 。• 跳 躍 (Jump): 隊 員 會 利 用 地 形 來 進 行 跳 躍 以 便 攻 擊 或 是 躲 避 對


手 。• 武 器 切 換 (Weapon Jump): 當 此 種 武 器 彈 藥 消 耗 完 畢 , 並 且 在 此時 遇 到 對 手 時 馬 上 切 換 其 他 種 類 武 器 來 迎 擊 對 方 。• 警 覺 (Alerthness): 隊 員 會 在 指 定 地 點 來 回 巡 邏 , 避 免 遇 到 敵 方的 NPC。• 復 仇 心 (Vengeful): 被 同 一 目 標 擊 殺 過 多 時 , 下 一 次 會 以 此 目 標為 第 一 擊 殺 為 優 先 考 量 。• 侵 略 (Aggression): 當 遇 到 一 群 對 手 在 相 互 對 打 時 會 積 極 的 進 攻對 方 。• 自 我 保 護 (Self preservation): 當 本 身 條 件 屬 於 不 利 的 情 況 , 例 如 :裝 甲 值 過 低 、 血 量 太 少 … 時 , 盡 量 避 免 與 對 方 戰 鬥 或 是 衡 量 是 否直 接 放 棄 目 前 戰 鬥 直 接 等 待 復 活 , 以 便 快 速 進 行 下 一 次 的 戰 鬥 。• 躲 藏 (Capm): 配 合 其 他 行 為 再 搭 配 自 身 的 地 形 、 條 件 , 去 評 估是 否 躲 藏 起 來 偷 襲 對 手 。• 擊 火 目 標 (Frag easy target): 若 看 到 某 個 或 多 數 個 NPC 同 時 攻 擊同 一 目 標 , 此 時 會 判 斷 是 否 參 予 一 同 對 付 弱 勢 的 一 方 。


我 們 針 對 這 九 種 行 為 以 及 死 鬥 競 技 場 模 式 去 進 行 歸 類 , 並 且 我 們 的PSO 演 算 法 套 入 , 其 中 我 們 以 「 殺 人 」 以 及 「 死 亡 」 來 代 表 我 們 演 算法 中 的 兩 個 目 標 , 我 們 的 bot 會 在 遊 戲 的 進 行 中 根 據 當 時 自 身 的 狀 況採 取 不 同 的 策 略 , 因 此 , 我 們 研 究 目 標 便 是 讓 我 們 的 隊 員 不 論 是 在 處於 有 利 或 是 不 利 的 狀 態 下 , 都 能 夠 達 到 盡 量 少 死 亡 多 殺 人 這 兩 方 兼 具特 性 , 讓 我 們 獲 勝 ; 或 是 比 較 不 同 操 作 點 對 於 競 賽 有 何 不 同 處 的 特性 , 例 如 : 當 我 們 選 擇 的 操 作 點 為 死 亡 數 的 值 較 高 而 殺 人 數 的 值 較 少時 與 電 腦 NPC 比 賽 有 何 成 效 , 或 是 死 亡 數 的 值 較 少 而 殺 人 數 的 值 較 高時 , 又 有 怎 樣 的 結 果 。4.3 競 技 場 模 式Quake III 本 身 提 供 的 遊 戲 模 式 有 四 種 , 分 別 是 :「Free for all」、「 TeamDeathmatch」、「Tournament(Duel)」、「Capture the flag」。下 列 為 這 四 種 模 式 的 主 要 說 明 :


• 「Free for all」: 競 技 場 模 式 , 同 時 給 多 個 玩 家 同 時 進 行 遊 戲 , 已殺 死 其 他 玩 家 來 獲 取 分 數 , 殺 死 一 個 其 他 玩 家 就 得 一 分 , 自 殺 或者 從 高 處 掉 下 等 並 非 被 對 方 玩 家 殺 死 而 死 亡 的 情 況 則 扣 一 分 。• 「Team Deathmatch」: 簡 稱 「TDM」, 將 遊 戲 中 玩 家 分 為 紅 藍 兩隊 的 遊 戲 模 式 。 玩 家 以 殺 死 對 方 隊 伍 中 玩 家 為 目 標 , 由 於 TDM 模式 的 玩 家 數 目 相 對 較 多 , 因 此 在 此 模 式 下 地 圖 中 的 武 器 與 盔 甲 等資 源 便 得 尤 其 重 要 , 所 以 玩 家 在 射 殺 對 方 玩 家 的 同 時 還 需 要 與 本隊 的 玩 家 進 行 配 合 。• 「Tournament(Duel)」: 一 對 一 的 單 挑 模 式 , 在 此 模 式 中 考 量 著玩 家 與 對 手 間 的 各 項 素 質 , 例 如 : 武 器 的 選 擇 、 盔 甲 值 的 多 寡 、地 形 的 認 知 … 等• 「Capture the flag」: 簡 稱 「CTF」, 將 隊 伍 分 成 紅 藍 兩 邊 在 一 個對 稱 的 地 圖 中 競 賽 , 競 賽 的 目 的 是 將 對 方 的 旗 子 帶 回 來 並 且 碰 觸未 被 移 動 過 的 我 方 棋 子 , 我 對 就 得 一 分 , 此 模 式 一 般 會 由 時 間 的設 定 來 結 束 , 避 免 雙 方 勢 均 力 敵 而 難 以 得 分 。而 在 這 四 種 模 式 中 , 我 們 選 擇 「Free for all」, 競 技 場 模 式 來 作 為 我們 實 驗 的 平 台 。 此 外 , 我 們 將 殺 人 數 設 定 在 15 人 , 也 就 是 說 , 只 要 有一 個 NPC 在 殺 人 數 上 達 到 15 人 則 就 停 止 這 回 合 的 戰 鬥 。 遊 戲 每 「 回


合 」 的 過 程 , 會 記 錄 著 我 們 的 隊 員 與 其 他 NPC 的 對 戰 紀 錄 , 因 此 讓我 方 的 隊 員 存 活 的 時 間 越 長 越 好 , 反 之 , 我 方 被 對 手 擊 殺 的 次 數 越 少越 好 , 這 樣 才 能 讓 我 方 時 常 保 持 在 有 利 的 狀 態 , 進 而 快 速 結 束 此 回 合的 戰 鬥 。4.4 QUAKE III 之 BOT 行 為 最 佳 化4.4.1 QUAKE III 之 BOT 設 計id Software 的 雷 神 之 鎚 3(Quake III: Arena) 是 我 們 所 選 擇 的 開 放 程 式 碼與 角 色 展 現 行 為 的 平 台 , 遊 戲 中 玩 家 在 不 同 的 場 地 , 使 用 不 同 的 武器 、 道 具 與 對 戰 策 略 擊 倒 AI 對 手 ( bot ) 或 網 路 上 的 玩 家 以 獲 得 射 擊的 樂 趣 。而 bot AI 運 作 的 方 式 為 , 由 bot AI 開 放 程 式 碼 ( bot AI open Source ) 與bot AI 函 式 庫 ( bot AI library ) 經 由 編 譯 與 連 結 形 成 動 態 連 結 函 式 庫( DLL ) 並 由 遊 戲 主 程 式 於 遊 戲 期 間 呼 叫 , 而 外 部 bot 檔 案 ( external botfiles) 則 會 在 每 個 bot 加 入 遊 戲 之 前 由 bot AI 函 式 庫 中 的 程 式 所 負 責 載入 。bot AI 函 式 庫 所 負 責 的 是 較 低 階 的 AI 工 作 , 包 括 外 部 bot 檔 案 的 載入 、bot 的 感 知 與 動 作 展 現 以 及 部 份 的 行 為 控 制 。bot AI 開 放 程 式 碼則 負 責 大 部 份 的 bot 行 為 控 制 、 長 期 與 短 期 目 標 的 決 定 、 行 為 規 則 的


定 訂 等 , 使 用 到 了 模 糊 狀 態 機 的 概 念 , 在 長 期 與 短 期 目 標 的 決 定 上 ,模 糊 狀 態 機 會 根 據 遊 戲 狀 態 以 決 定 目 標 與 行 為 是 否 符 合 執 行 的 條件 , 並 且 根 據 外 部 bot 檔 案 中 關 於 bot 行 為 特 色 的 權 重 與 一 個 隨 機 值來 決 定 是 否 訂 出 目 標 與 做 出 行 動 。 在 武 器 與 物 品 的 選 擇 與 取 用 上 , 模糊 狀 態 機 會 根 據 狀 態 與 經 驗 法 則 動 態 決 定 一 組 權 重 , 並 且 與 外 部 bot檔 案 中 關 於 bot 行 為 特 色 的 權 重 決 定 來 決 定 角 色 的 行 為 。4.4.2 BOT 行 為 之 調 整外 部 bot 以 四 個 檔 案 為 一 組 描 述 一 個 bot 的 各 項 能 力 、 行 為 徧 好 之 權重 、 武 器 與 物 品 取 用 之 權 重 、bot 之 對 話 能 力 等 , 這 樣 的 設 計 最 主 要是 要 方 便 AI 設 計 人 員 調 整 與 測 試 角 色 的 行 為 , 一 般 的 玩 家 幾 乎 都 是透 過 修 改 這 些 外 部 檔 案 來 產 生 新 的 bot, 不 過 接 近 無 限 的 行 為 權 重 排列 組 合 是 需 要 長 時 間 嘗 試 、 測 試 與 調 整 的 。 此 外 在 外 部 bot 檔 案 中 包含 了 有 bot 的 各 項 能 力 描 述 例 如 射 擊 準 確 度 、 移 動 速 度 、 反 應 時 間等 。 我 們 將 會 在 bot AI 開 放 程 式 碼 中 加 入 適 當 的 模 組 來 評 估 角 色 在 遊戲 中 的 行 為 結 果 , 並 且 利 用 粒 子 群 最 佳 化 演 算 法 產 生 新 的 權 重 來 修 改外 部 檔 案 中 關 於 bot 行 為 描 述 的 部 份 。[botName]_c.c 這 個 外 部 檔 案 主 要 是 用 來 描 述 一 個 bot 之 各 項 能 力 值與 行 為 徧 好 之 權 重 , 然 而 對 我 們 來 說 , 能 力 並 不 是 我 們 希 望 調 整 的


值 , 策 略 與 行 為 選 擇 之 偏 好 才 是 應 調 整 的 權 重 , 在 這 個 檔 案 中 與 行 為相 關 的 權 重 包 括 了 有 , 對 戰 時 該 採 蹲 伏 或 跳 躍 、 該 積 極 進 攻 或 採 取 防守 、 是 否 埋 伏 來 狙 擊 對 手 、 是 否 恃 強 凌 弱 、 是 否 採 取 報 復 行 為 、 武 器切 換 的 頻 率 等 等 , 因 此 問 題 解 的 表 示 則 為 :( Croucher, Jumper, Weapon jumper, Aggression, Selfpreservation, Camper,Vengefulness, Frag easy target, ...... )4.4.3 最 佳 化 相 關 參 數 與 適 應 函 數 之 設 定這 些 影 響 行 為 的 權 重 可 以 由 0 到 1 之 間 的 實 數 來 表 示 。 在 這 裡 我 們 所 要解 決 的 問 題 是 粒 子 的 表 現 無 法 由 個 人 的 主 觀 感 受 來 判 斷 , 而 是 必 需 要有 更 嚴 謹 的 適 應 函 數 來 決 定 , 此 外 除 了 適 應 值 能 夠 客 觀 決 定 之 外 ,bot在 遊 戲 中 的 表 現 還 會 受 到 能 力 與 運 氣 等 不 確 定 因 子 的 影 響 , 適 當 的 參數 設 定 也 相 對 來 說 更 加 的 重 要 。


以 下 為 參 數 與 適 應 函 數 之 設 定 :• 粒 子 數 : 該 使 用 多 少 粒 子 數 將 與 解 空 間 的 大 小 有 直 接 的 關 係 , 解空 間 越 大 需 要 越 多 的 粒 子 , 也 需 要 更 多 的 運 算 資 源 , 因 此 我 們 建議 儘 量 採 用 較 關 鍵 的 行 為 權 重 進 行 編 碼 來 減 少 解 空 間 的 維 度 。此 外 , 我 們 實 驗 的 方 式 是 將 修 改 之 後 的 bot 放 入 遊 戲 競 技 場 中 與QUAKE 本 身 的 bot 對 戰 並 評 估 結 果 , 為 了 讓 遊 戲 中 不 確 定 因 子 的 影響 減 低 , 一 個 粒 子 必 需 經 過 多 次 的 對 戰 , 由 於 我 們 無 法 對 QUAKE 的遊 戲 速 度 進 行 調 整 , 因 此 這 是 花 時 間 的 一 項 程 序 , 在 以 一 粒 子 群 代 表一 個 bot 行 為 的 實 驗 上 , 我 們 取 10 左 右 之 粒 子 數 , 如 有 能 力 加 速 遊 戲進 行 的 速 度 或 不 在 意 這 項 程 序 所 需 的 時 間 , 可 以 取 更 多 一 點 的 粒 子 數來 求 得 更 好 的 結 果 。• 粒 子 的 移 動 範 圍 與 最 大 速 度 : 粒 子 的 移 動 範 圍 設 定 為 行 為 權 重 之大 小 , 在 0 ~1 之 間 , 而 粒 子 的 最 大 速 度 則 設 定 為 在 0.2~0.5 之 間 ,不 設 定 為 粒 子 的 最 大 移 動 範 圍 是 為 了 要 讓 粒 子 更 具 有 穩 定 學 習的 能 力 。• 學 習 因 子 : 依 據 一 般 文 獻 的 建 議 , 將 c1 與 c2 設 為 2。• 在 全 體 最 佳 值 ( gbest ) 或 區 域 最 佳 值 ( lbest ) 的 選 擇 上 , 混 合 的 作 法仍 然 是 個 不 錯 的 選 擇 , 也 就 是 一 開 始 採 用 區 域 最 佳 值 進 行 較 廣 域的 搜 尋 , 後 期 採 用 全 體 最 佳 值 來 讓 結 果 較 能 收 斂 , 不 過 由 於 效 率


問 題 本 實 驗 所 取 的 粒 子 數 並 不 多 , 僅 採 用 全 體 最 佳 值 來 進 行 搜尋 。在 適 應 函 數 的 決 定 上 我 們 採 用 下 列 的 公 式 :FitnessValue = 2.0 x num_kills - 1.0 x num_deaths也 就 是 希 望 我 們 的 bot 能 夠 擊 倒 越 多 的 敵 人 , 並 且 盡 量 讓 自 己 不 被 敵人 擊 倒 。 適 應 函 數 會 直 接 引 響 bot 的 行 為 表 現 , 而 適 應 函 數 的 選 擇 則要 考 慮 到 遊 戲 性 的 設 計 , 我 們 可 以 藉 由 不 同 的 適 應 函 數 來 設 計 出 具 有各 種 不 同 特 色 之 電 腦 對 手 , 例 如 聰 明 、 勇 猛 、 膽 小 與 難 纏 之 電 腦 對 手 。4.4.4 實 驗 設 計 與 過 程在 本 QUAKE III 之 BOT 行 為 最 佳 化 的 研 究 我 們 利 用 一 個 粒 子 群 來代 表 一 個 bot 之 行 為 。 以 一 個 粒 子 代 表 此 bot 的 一 次 嘗 試 , 將 此 bot 放入 競 技 場 中 與 其 它 QUAKE 內 建 的 bot 進 行 對 戰 , 也 就 是 說 每 一 代 的bot 會 選 擇 n 次 不 同 的 方 法 來 嘗 試 擊 倒 對 手 , 每 一 次 的 嘗 試 會 得 到一 個 適 應 值 , 最 好 的 嘗 試 結 果 會 成 為 下 一 代 中 各 個 嘗 試 的 參 考 , 每 一次 的 嘗 試 也 會 受 到 之 前 幾 代 中 相 對 應 嘗 試 中 最 好 一 次 的 引 響 , 過 了 幾代 之 後 bot 將 會 找 到 擊 倒 對 手 之 較 好 策 略 , 這 與 PSO 的 概 念 是 間 接 的對 應 。


從 本 實 驗 的 結 果 可 以 發 現 , 我 們 所 產 生 之 bot 確 實 具 有 因 學 習 而 成 長之 能 力 , 在 三 人 自 由 對 戰 模 式 (free for all) 以 及 地 形 稍 微 複 雜 的 場 景(q3dm13: lost world) 中 經 過 二 十 代 左 右 的 演 進 , 我 們 所 產 生 之 bot 行 為普 遍 與 上 個 實 驗 的 結 果 相 同 , 不 同 的 是 此 實 驗 所 產 生 的 bot 在 對 戰 時僅 量 採 蹲 伏 的 姿 勢 以 增 加 射 擊 穩 定 度 、 不 積 極 進 攻 並 且 僅 可 能 採 取 防守 以 自 我 保 護 武 器 切 換 的 頻 率 高 等 。此 外 成 長 曲 線 方 面 , 此 次 的 實 驗 結 果 比 起 上 個 實 驗 bot 的 學 習 能 力 較


為 穩 定 , 雖 然 仍 然 具 有 一 些 運 氣 因 素 影 響 適 應 值 的 評 定 , 不 過 少 了 同時 具 有 學 習 能 力 之 bot 一 同 對 戰 可 讓 適 應 值 的 評 定 更 加 準 確 , 以 一 個粒 子 群 代 表 一 個 bot 之 方 式 會 更 適 合 在 測 試 階 段 輔 助 AI 設 計 師 找 到bot 較 佳 之 行 為 權 重 。結 論隨 著 科 技 的 進 步 , 遊 戲 設 計 也 越 貼 近 現 實 , 相 對 的 考 慮 到 的 因 素 也 就相 當 多 樣 化 , 取 得 勝 利 是 我 們 的 目 標 , 伴 隨 這 目 標 讓 我 們 想 要 繼 續 遊玩 下 去 的 動 力 就 是 多 樣 化 的 互 動 , 感 受 著 與 NPC 之 間 互 動 不 再 是 像 以往 單 調 死 板 而 是 充 滿 著 趣 味 以 及 挑 戰 性 。 第 一 人 稱 射 擊 遊 戲 考 慮 的 因素 越 來 越 多 , 但 不 管 如 何 最 終 一 定 存 在 著 「 殺 人 」 與 「 被 殺 」 的 基 本元 素 , 本 文 把 問 題 回 歸 到 最 基 本 排 除 其 他 外 在 條 件 , 單 純 考 慮 「 殺 人 」與 「 被 殺 」 兩 者 間 對 整 體 遊 戲 生 態 的 影 響 , 並 且 利 用 粒 子 群 演 算 法 最佳 化 技 術 動 態 調 整 人 物 腳 色 的 行 為 參 數 的 值 , 讓 人 物 腳 色 面 對 這 兩 問題 時 具 有 決 策 的 能 力 , 最 後 將 我 們 選 取 的 操 作 點 分 別 與 電 腦 NPC 對 戰20 場 、30 場 、40 場 並 且 觀 察 他 們 的 結 果 。 經 由 適 當 的 應 用 探 討 射 擊 遊戲 領 域 中 關 於 角 色 行 為 設 計 上 的 部 分 問 題 , 並 有 良 好 的 成 果 。


我 們 期 望 這 樣 的 方 法 可 以 在 遊 戲 開 發 期 間 輔 助 遊 戲 人 工 智 慧 設 計 師在 調 整 角 色 行 為 之 間 相 互 平 衡 的 問 題 , 節 省 測 試 不 同 參 數 組 合 的 時間 , 增 進 遊 戲 開 發 的 效 率 , 並 在 遊 戲 進 行 時 讓 玩 家 感 受 角 色 具 有 調 整行 為 之 學 習 能 力 與 多 樣 化 的 行 為 能 力 , 並 且 豐 富 玩 家 在 面 對 這 款 遊 戲的 挑 戰 度 與 互 動 性 。參 考 文 獻Quake III: Arena, id Software, www.idsoftware.comS. Cass, “Mind Games: To beat the competition, video games are gettingsmarter,”IEEE SPECTRUM,http://www.spectrum.ieee.org/WEBONLY/publicfeature/dec02/mind.htmlS. Rabin, “AI Game Programming Wisdom: Preface,” AI GameProgramming Wisdom, Charles River Media Press, pp. xi-xivR. Adobbati et al., “GameBots: A 3D Virtual World Test-Bed forMulti-Agent Research“First-person shooter engine”http://zh.wikipedia.org/zh-tw/%E7%AC%AC%E4%B8%80%E4%BA%BA%E7%A8%B1%E5%B0%84%E6%93%8A%E9%81%8A%E6%88%B2%E5%BC%95%E6%93%8Ehttp://zh.wikipedia.org/zh-tw/%E9%9B%B7%E7%A5%9E%E4%B9%8B%E9%94%A43

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!