出版時間:2008-6 出版社:人民郵電出版社 作者:巴克蘭德 (Mat Buckland) 頁數(shù):368 字數(shù):588000 譯者:羅岱
Tag標簽:無
內(nèi)容概要
本書主要講述如何使游戲中的角色具有智能的技術。書中首先介紹游戲角色的基本屬性(包括速度、質(zhì)量等物理屬性)及常用數(shù)學方法。接著,深入探討游戲智能體狀態(tài)機的實現(xiàn)。通過簡單足球游戲?qū)嵗緯o出用狀態(tài)機實現(xiàn)游戲AI的例子。在圖論部分,本書詳細介紹圖在游戲中的用途及各種不同的圖搜索算法,并用一章的篇幅討論了游戲中路徑規(guī)劃是如何完成的。此外,本書還對目標驅(qū)動的智能體的實現(xiàn)、觸發(fā)器與模糊邏輯在游戲中的運用進行了討論。為使智能體行為更加豐富、靈活、易于實現(xiàn),本書還介紹了游戲腳本語言的優(yōu)點,并以Lua腳本語言為例進行了說明。本書適合對游戲AI開發(fā)感興趣的愛好者和游戲AI開發(fā)人員閱讀和參考。
書籍目錄
第1章 數(shù)學和物理學初探 1.1 數(shù)學 1.2 物理學 1.3 總結 第2章 狀態(tài)驅(qū)動智能體設計 2.1 什么是有限狀態(tài)機 2.2 有限狀態(tài)機的實現(xiàn) 2.3 West World項目 2.4 使State基類可重用 2.5 全局狀態(tài)和狀態(tài)翻轉(zhuǎn)(State Blip) 2.6 創(chuàng)建一個StateMachine類 2.7 引入Elsa 2.8 為你的FSM增加消息功能 第3章 如何創(chuàng)建自治的可移動游戲智能體 3.1 什么是自治智能體 3.2 交通工具模型 3.3 更新交通工具物理屬性 3.4 操控行為 3.5 組行為(Group Behaviors) 3.6 組合操控行為(Combining Steering Behaviors) 3.7 確保無重疊 3.8 應對大量交通工具:空間劃分 3.9 平滑 第4章 體育模擬(簡單足球) 4.1 簡單足球的環(huán)境和規(guī)則 4.2 設計AI 4.3 使用估算和假設 4.4 總結 第5章 圖的秘密生命 5.1 圖 5.2 實現(xiàn)一個圖類 5.3 圖搜索算法 5.4 總結 第6章 用腳本,還是不用?這是一個問題 6.1 什么是腳本語言 6.2 腳本語言能為你做些什么 6.3 在Lua中編寫腳本 6.4 創(chuàng)建一個腳本化的有限狀態(tài)自動機 6.5 有用的鏈接 6.6 并不是一切都這么美妙 6.7 總結 第7章 概覽《掠奪者》游戲 7.1 關于這個游戲 7.2 游戲體系結構概述 7.3 觸發(fā)器 7.4 AI設計的考慮 7.5 實現(xiàn)AI 7.6 總結 第8章 實用路徑規(guī)劃 8.1 構建導航圖 8.2 《掠奪者》游戲?qū)Ш綀D 8.3 創(chuàng)建路徑規(guī)劃類 8.4 節(jié)點式路徑或邊式路徑 8.5 走出困境狀態(tài) 8.6 總結 第9章 目標驅(qū)動智能體行為 9.1 勇士埃里克的歸來 9.2 實現(xiàn) 9.3 《掠奪者》角色所使用的目標例子 9.4 目標仲裁 9.5 擴展 9.6 總結 第10章 模糊邏輯 10.1 普通集合 10.2 模糊集合 10.3 模糊語言變量 10.4 模糊規(guī)則 10.5 從理論到應用:給一個模糊邏輯模塊編碼 10.6 《掠奪者》中是如何使用模糊邏輯類的 10.7 庫博方法 10.8 總結 拔 附錄A C++模板 函數(shù)模板 類模板 連接器的困惑 附錄B UML類圖 類名、屬性和操作 屬性和操作的可見性 關系 批注 總結 附錄C 設置你的開發(fā)環(huán)境 下載演示的可執(zhí)行程序 下載并安裝源代碼 參考文獻
章節(jié)摘錄
第1章 數(shù)學和物理學初探 1.1 數(shù)學 們將從數(shù)學開始,因為沒有數(shù)學知識就學習物理學就如同沒有翅膀卻要學習飛翔一樣?! ?.1.1 笛卡爾坐標系 你可能對笛卡爾坐標系統(tǒng)已經(jīng)非常熟悉了。如果你曾經(jīng)寫過可以在屏幕上畫圖像的程序,那么你肯定必然使用過笛卡爾坐標系統(tǒng)來描述構成圖像的點、線、位圖的位置?! ≡诙S空間中,笛卡爾坐標系被定義成兩個坐標軸成直角相交并且用單位長度標出。水平軸稱為X軸,而垂直軸稱為Y軸,兩個軸的交點稱為原點,如圖1.1所示?! ∪鐖D1.1所示,每個坐標軸端點的箭頭表示它們在每個方向上無限延伸。假想有一張無限大的紙,上面有X軸和Y軸,紙就表示xy平面,所有二維的笛卡爾坐標系中的點都可以繪制在這個平面上。在2D空間中的一個點可以用一對坐標(xy)表示。x和Y的值代表沿著各自的軸上的距離。如今,繪制在笛卡爾坐標系中的一系列的點或線常常作為一個圖形,這樣肯定會節(jié)省很多鍵入的工作量?! ?.1.2 函數(shù)和方程 函數(shù)的概念是數(shù)學的基礎。函數(shù)表達了兩個(或更多個)稱為變量的項之間的關系,并且典型的寫法是方程的形式(一個代數(shù)表達式等于另一個代數(shù)表達式)。正如名字所示,之所以稱為變量是因為它們的值是可以變化的。變量常常用字母表中的字母表達。你將看到數(shù)學公式中應用最普通的兩個變量是X和Y(雖然任何字母或符號也是可以的)?! ∪绻鸛的每個值都可以與Y的一個值相關聯(lián),那么Y就是一個關于x的函數(shù)。Y稱作因變量因為它的值依賴于X的值。
媒體關注與評論
“本書不僅是一本適合游戲編程初學者的入門教材,對于高級程序員或?qū)<乙彩且粋€不錯的選擇(復習一下學過的知識,沒有什么壞處,不是么?)。本書簡潔明了,內(nèi)容幾乎覆蓋AI方面所有重要學科,從基礎數(shù)學和物理到圖論年和Lua腳本編寫,再到為程序員們創(chuàng)建一些極為精妙的代理行為所需的工具,等等。本書在軟件工程方面的內(nèi)容同樣也值得借鑒。演示游戲在代碼實例中使用了我們極為熟悉的設計模式。我要將此書推薦給所有游戲程序員。這是一本很值得一讀的書,它傳播著奇思妙想!” ——Chris Keegan 英國Climax Studios公司技術總監(jiān),《惡靈騎士》開發(fā)者之一 “本書的問世,為許多難題提供了權威的專業(yè)解決方案,比如移動和朝向問題。Mat引導讀者為真實的游戲構建堅實的基石。本書對于初涉AI領域的人來說是必備之選,對于經(jīng)驗豐富的專家,書中也提供了很多技巧。我要是在8年前就能讀到這本書就好了。” ——Jeff Orkin 英國Monolith Productions公司AI架構師,《無人永生2》、《恐懼》開發(fā)者之一 “……將許多真正有用的信息以一種讓我不感到頭昏的方式美妙地組合在了一起?!薄 狦areth Lewis 英國Lionhead Studios公司項目主管,《黑與自2》開發(fā)者之一 “本書的每個章節(jié)都是由淺入深地介紹一項游戲人工智能技術,并圍繞該技術給出太量的代碼和文字實例。本書通俗易懂,通過將理論知識應用于自己的系統(tǒng)開發(fā),或者通過擴展并理解某環(huán)境下的代碼實例,你可以加深對游戲人工智能編程的理解。本書把每個獨立的技術點組合在一起,形成各種各樣的完整游戲環(huán)境。在這些環(huán)境下,你可以很好地理解一個龐大的游戲架構下的各個互動系統(tǒng)之間的關系?!薄 狹ike Ducker 英國Lionhead Studios公司AI架構師,《神鬼寓言》開發(fā)者之一 “通過一些容易模仿且描述得很好的實例,Mat向我們展示了如何使用大部分只有專業(yè)AI程序員才會使用的技術。對于初學者來說,這正是一本很棒的導論;而如果你是經(jīng)驗豐富的程序員,它同樣也是一本極佳的參考手冊。 ——Eric Martel 法國育碧游戲公司AI程序師,《孤島驚魂》(XBox)開發(fā)者之一
編輯推薦
《游戲人工智能編程案例精粹》適合對游戲AI開發(fā)感興趣的愛好者和游戲AI開發(fā)人員閱讀和參考。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載