當 Photon Quantum 遇見 AI

超強的 Bot SDK 模組及簡單的範例介紹

Steven Hu
Photon Taiwan
11 min readNov 21, 2023

--

Photon Quantum SDK 是一個專為多人遊戲和即時連線遊戲設計的框架,它提供了強大的工具和功能,可以幫助開發者建立非常高效、可靠並且一致的連線遊戲體驗。Photon Quantum 的 Bot SDK 是遊戲開發者的一個強大助手,不論是要寫敵人的 AI、模擬真實玩家的行為和進行遊戲內容的各種測試方面,著實是為開發者提供了一個好用便利又強力的工具,這次我們來聊聊 Bot SDK 提供了哪些工具及應用範例吧 !

Photon Quantum SDK 與 Bot SDK 的關係

在當今快速發展的遊戲行業中,我們面臨著一個關鍵問題:如何構建一個無縫、高效且可擴展的多人遊戲體驗? 答案可能就在Photon Quantum SDK中。其核心特點在於 Quantum SDK 的對於其確定性和低延遲特性,使得遊戲在不同設備和網路條件下都能提供一致的玩家體驗。這對於構建公平競爭的多人遊戲非常重要。

Bot SDK 的角色: 而在Quantum SDK的基礎上,Bot SDK作為其擴展,特別強化了AI 和自動化測試方面的功能。這為遊戲開發帶來了新的可能性。

AI 開發的價值: AI在遊戲開發中扮演著越來越重要的角色,尤其是在多人遊戲和戰略遊戲中。使用Bot SDK,我們可以創建出能夠自行應對不同遊戲場景、自我學習和自適應的遊戲 AI。

自動化和遊戲測試: 此外,Bot SDK 在自動化遊戲測試領域的應用也不容忽視。它可以模擬玩家行為,幫助開發者測試遊戲的平衡性和網路效能,從而加速開發週期並提高遊戲質量。

Bot SDK 下載連結
https://doc.photonengine.com/zh-tw/quantum/current/addons/bot-sdk/overview

接下來,我們將深入探討 Bot SDK 的功能和應用,並通過具體的案例來展示它如何改變連線遊戲開發的遊戲規則 !

Bot SDK 概覽

Bot SDK 的核心概念和功能

在 Photon Quantum 的生態系統中,Bot SDK是一個關鍵組件,它使開發者能夠輕鬆地實現複雜的AI行為。這個工具包提供了一系列強大的功能,使AI開發變得更加直觀和高效。這些功能如下:

  1. AI 狀態機制:Bot SDK 使用狀態機制(如HFSM)來管理AI的各種狀態和行為,從而建立能夠根據遊戲環境做出自行反應的 AI 代理。

2. 行為樹:此外,它還可以使用行為樹 (BT) ,用於較複雜的行為決策。

3. GOAP: Bot SDK 裡面的目標導向行動規劃(GOAP)模組,是種進階的AI 模式,可用於動態及策略性的行為決策。
(提醒: 這是 Circle Member 專有的模式)

4. 實用理論(Utility Theory):Bot SDK 還整合了實用理論,這是一種基於效用最大化的決策方法,適用於多條件和多選項的情境。
(提醒: 這是 Circle Member 專有的模式)

5. 視覺化編輯器:從上面的幾個圖中, 可看到 Bot SDK 提供了一個完整的視覺化編輯器,使開發者能夠直觀地建立和編輯各種的 AI 模組。這使得設計和實現AI 行為更加直覺和有效率。

6. 靈活性和擴展性:各種節點的自定義提供了高度的靈活性和擴展性。開發者可以自定義節點,以符合特定遊戲的需求,建立複雜且多樣化的AI行為。

7. 黑板系統 (Blackboard):重要資料可藉由黑板系統的搭配使用,這是一種用於儲存和共享數據的機制。這讓 Bot 能夠根據遊戲環境及其它 Bot AI 系統的變化做出對反應。

Bot SDK 在多人遊戲開發中的應用

在多人遊戲中,Bot SDK 使開發者能夠輕鬆地實現AI對手,能夠模擬真實玩家的行為,提供具有挑戰性的遊戲體驗,並且還可開發如下的各種面向:

  1. 模擬玩家參與:Bot SDK允許開發者在Quantum遊戲中創建和管理模擬玩家(Bots)。這些 Bots 可以模擬真實玩家的行為,從而用於遊戲測試、平衡調整或提供在線玩家人數不足時的應對方案。
  2. 自定義AI行為:開發者可以為Bots 寫些自定義的AI行為。也就是 Bots 可以根據遊戲設計者的需求進行各種複雜的任務和行為,從簡單的移動和互動到進行複雜的戰術和策略決策。
  3. 集成到遊戲邏輯:Bot SDK的功能緊密集成到Quantum的遊戲邏輯和模擬中。這確保了Bots的行為和玩家的行為在遊戲世界中有一致性和可預測性。
  4. 網路同步和確定性:由於Quantum強調網路確定性和同步,Bot SDK中的Bots也遵循相同的原則。這意味著它們的行為在所有客戶端間是同步的,保持了遊戲的一致性和公平性。
  5. 測試和評估工具:Bot SDK可以作為一個強大的工具,幫助開發者測試和評估他們的遊戲。通過模擬不同的遊戲情境和玩家行為,開發者可以更有效地對遊戲進行調整和優化。
  6. 遊戲測試和平衡:它也是遊戲測試的重要工具。開發者可以利用Bot SDK來模擬不同的遊戲場景,進行壓力測試和性能優化。此外,Bot SDK有助於遊戲平衡的調整,通過模擬各種遊戲策略和條件,確保遊戲在不同情況下都能保持公平和有趣。

透過 Bot SDK,開發者不僅能夠創造出聰明的AI,還能提高遊戲開發的效率和質量。接下來,我們將深入探討Bot SDK中的具體功能和應用案例。

Bot SDK 提供的 AI 模組

1. HFSM(階層式 - 有限狀態機)

HFSM,或階層式 — 有限狀態機,是一種AI行為建模工具,它允許開發者創建具有層次結構的狀態機。這種結構使AI能夠在不同層級上做出決策,從而更有效地管理複雜行為。

HFSM的應用:在Bot SDK中,HFSM用於管理AI代理的狀態轉換,例如從巡邏轉換到追逐或攻擊狀態。這種方法提供了靈活性和可控性,使AI能夠根據遊戲環境和內部條件做出適應性強的反應。

2. Behaviour Tree(BT 行為樹)

行為樹,或簡稱 BT,是一種更動態的 AI 行為模型,它通過樹狀結構來表示決策過程。這種結構使開發者能夠以視覺化方式構建複雜的決策樹。

BT 的實現:在Bot SDK中,BT被用於創建能夠根據多種條件評估和選擇不同行動的AI代理。例如,AI可以使用BT來決定是否追逐敵人、尋找資源或進行防守。

3. GOAP(Goal Oriented Action Planning, 目標導向行動規劃)

目標導向行動規劃 GOAP,是一種進階的 AI 規劃技術,它基於目標來規劃行動序列。這種方法允許AI代理從一系列可能的行動中選擇最佳路徑以達成其目標。

GOAP的應用:在Bot SDK中,GOAP被用於創建更具策略性和預測性的AI行為,如自動尋找最佳路徑或解決複雜問題。

4. Utility Theory(效用理論)

效用理論是一種基於效用最大化(當前最有利)為基準來做出決策的方法,它在 Bot SDK 中常用於評估多個行動的相對應價值。

實現和應用:UT 這種方法, 使 AI Bot Agent 能夠在多種可能的行動中選擇最有利的一個,基於特定情境下的效用評估。例如,AI 可以使用效用理論來決定是否進攻、撤退、觀察、治療或進行其他戰術行動。

小結:

通過結合以上這些先進的 AI 建構工具,Bot SDK 能夠幫助開發者創造出能夠智能應對各種遊戲挑戰的AI代理。接下來,我們將透過具體的範例介紹,深入了解這些工具在實際遊戲開發中的應用。

實際範例介紹

Bot SDK Sample 範例, 下載位置:
https://doc.photonengine.com/zh-tw/quantum/current/technical-samples/bot-sdk-sample

A. The Little Guys Sample 介紹

首先,讓我們來看看 ‘The Little Guys Sample’。這裡展示了如何使用Bot SDK中的 HFSM、BT、GOAP 來建立一個基於目標的 AI Agent。

在這個範例中,AI Agent 的目標是收集寶石並將它們放入指定的位置。透過 HFSM、BT、GOAP 等的設計,AI Agent可以動態規劃如何有效地達成這個目標,並根據遊戲環境的變化做出相應的調整,像是 “最靠近的地方哪裡還有寶石? “,”寶石是否還是當前的目標?” 等等的即時反應。

Bot SDK的運用:這個範例展示了 Bot SDK 在建立靈活且自適應AI方面的強大功能,能夠讓 AI Agent 根據遊戲中的即時情況做出一些決策。玩家替換:如果玩家在比賽中斷線,如何用Bot替換該玩家。填充房間:如果配隊的玩家不足,如何用 Bot 替代真實玩家讓房間達到足夠的人數。

提醒: GOAP 是 Circle Member 專有的模式

B. The Spellcaster Sample 介紹

接下來,我們來看看 ‘The Spellcaster Sample’。這裡展示了如何使用實用理論來實現一個基於效用(UT) 的 AI Agent 角色。

在這個範例中,AI Agent (Mage 魔法師) 會保護他的城堡免受玩家指派的角色的侵襲,並且使用不同的法術來對付各種不同的情況。
(玩家控制的是滑鼠, 玩家 click 時, 會產生要攻佔城堡的角色) ^^.

透過實用理論,AI Agent 會根據多種因素決定施放哪些法術,評估基於特定標準的行動的”效用或價值”,這些因素包括當前的敵人的威脅程度、法術的影響範圍和資源的可用性。

Bot SDK的運用:此範例突顯了Bot SDK在創建能夠根據多變條件做出複雜決策的 AI 方面的能力,尤其是在需要考慮多個行動選項和其相應成本時​​,該如何利用這些工具來創建戰術和策略性強的AI代理。

(提醒: Utility Theory 是 Circle Member 專有的模式)

小結

通過這些實際案例,我們可以看到Bot SDK在創造具有策略深度和靈活性的AI方面的潛力。無論是處理具體的遊戲任務,還是進行複雜的戰術規劃,Bot SDK 都提供了開發者所需的工具和框架。

總結

Bot SDK 的重要性🎯

通過今天的討論,我們看到了Bot SDK在遊戲開發中的重要性,特別是在AI設計和實現方面。它不僅使開發者能夠創造出能夠智能反應和適應不同遊戲情境的AI,還提供了一個高效的方式來測試和優化遊戲。最特別的地方是在模擬真實玩家行為和進行遊戲測試方面,為開發者提供了一個強大的工具。這不僅有助於加快開發週期,還能提高遊戲的品質和玩家的遊戲體驗。

Bot SDK 的未來發展🚀

未來,我們可以期待 Bot SDK 會繼續在技術創新和進步方面發揮作用。隨著人工智能和機器學習的進步,Bot SDK 可能會整合更先進的 AI 模型和演算法。同時,我們也可以預見到 Bot SDK 在遊戲開發之外的應用,比如虛擬現實 VR、增強現實 AR 以及對話式的 Chat 及大語言模型 GPT 之類的互動領域。這些應用將進一步擴展 Bot SDK 的潛力,並為創建更沉浸式和引人入勝的體驗打開新的可能性。

總之,Photon Quantum 的 Bot SDK 是遊戲開發者的一個強大助手,我們期待看到這個工具如何繼續推動遊戲開發的邊界,並為玩家帶來更豐富和互動的遊戲體驗。👏

有 Quantum SDK / Bot SDK 開發上的疑問嗎? 可到粉絲團直接發私訊討論 !!
https://www.facebook.com/photoncloudtw/

Stay Tuned!

--

--