游戲人工智能編程案例精粹

出版時間:2012-9  出版社:人民郵電出版社  作者:Mat Buckland  頁數(shù):362  字數(shù):702000  譯者:羅岱  
Tag標簽:無  

內(nèi)容概要

  《游戲人工智能編程案例精粹(修訂版)》是游戲人工智能方面的經(jīng)典之作,暢銷多年。它展示了如何在游戲中利用專業(yè)人工智能技術(shù),并針對實際困難問題,給出了強有力的解決方法?!  队螒蛉斯ぶ悄芫幊贪咐?修訂版)》主要講述如何使游戲中的角色具有智能的技術(shù)。本書首先介紹游戲角色的基本屬性(包括速度、質(zhì)量等物理屬性)及常用數(shù)學(xué)方法。接著,深入探討游戲智能體狀態(tài)機的實現(xiàn)。通過簡單足球游戲?qū)嵗?,本書給出用狀態(tài)機實現(xiàn)游戲AI的例子。在圖論部分,本書詳細介紹圖在游戲中的用途及各種不同的圖搜索算法,并用一章的篇幅討論了游戲中路徑規(guī)劃是如何完成的。此外,本書還對目標驅(qū)動的智能體的實現(xiàn)、觸發(fā)器與模糊邏輯在游戲中的運用進行了討論。為使智能體行為更加豐富、靈活、易于實現(xiàn),本書還介紹了游戲腳本語言的優(yōu)點,并以Lua腳本語言為例進行了說明?!  队螒蛉斯ぶ悄芫幊贪咐?修訂版)》適合對游戲AI開發(fā)感興趣的愛好者和游戲AI開發(fā)人員閱讀和參考。

作者簡介

Mat Buckland是一位自由職業(yè)程序員和技術(shù)作家。他在20世紀80年代為ZX Spectrum編寫Waddington’s
Monopoly的時候,對AI產(chǎn)生了興趣,多年以來,他對于讓計算機“思考”的熱情絲毫沒有減退。他是AI Techniques for
Game Programming一書的作者,也是專注于AI教程的知名網(wǎng)站ai-junkie.com的創(chuàng)始人。他是AI
Interface Standards Committee的成員,還是European Game Developers
Conference圓桌會議的主持人。

書籍目錄

第1章 數(shù)學(xué)和物理學(xué)初探 
1.1 數(shù)學(xué) 
1.1.1 笛卡爾坐標系 
1.1.2 函數(shù)和方程 
1.1.3 三角學(xué) 
1.1.4 矢量 
1.1.5 局部空間和世界空間 
1.2 物理學(xué) 
1.2.1 時間 
1.2.2 距離 
1.2.3 質(zhì)量 
1.2.4 位置 
1.2.5 速度 
1.2.6 加速度 
1.2.7 力 
1.3 總結(jié) 
第2章 狀態(tài)驅(qū)動智能體設(shè)計 
2.1 什么是有限狀態(tài)機 
2.2 有限狀態(tài)機的實現(xiàn) 
2.2.1 狀態(tài)變換表 
2.2.2 內(nèi)置的規(guī)則 
2.3 West World項目 
2.3.1 BaseGameEntity類 
2.3.2 Miner類 
2.3.3 Miner狀態(tài) 
2.3.4 重訪問的狀態(tài)設(shè)計模式 
2.4 使State基類可重用 
2.5 全局狀態(tài)和狀態(tài)翻轉(zhuǎn)(State Blip) 
2.6 創(chuàng)建一個StateMachine類 
2.7 引入Elsa 
2.8 為你的FSM增加消息功能 
2.8.1 Telegram的結(jié)構(gòu) 
2.8.2 礦工Bob和Elsa交流 
2.8.3 消息發(fā)送和管理 
2.8.4 消息處理 
2.8.5 Elsa做晚飯 
2.8.6 總結(jié) 
第3章 如何創(chuàng)建自治的可移動游戲智能體 
3.1 什么是自治智能體 
3.2 交通工具模型 
3.3 更新交通工具物理屬性 
3.4 操控行為 
3.4.1 Seek(靠近) 
3.4.2 Flee(離開) 
3.4.3 Arrive(抵達) 
3.4.4 Pursuit(追逐) 
3.4.5 Evade(逃避) 
3.4.6 Wander(徘徊) 
3.4.7 Obstacle Avoidance(避開障礙) 
3.4.8 Wall Avoidance(避開墻) 
3.4.9 Interpose(插入) 
3.4.10 Hide(隱藏) 
3.4.11 Path Following(路徑跟隨) 
3.4.12 Offset Pursuit(保持一定偏移的追逐) 
3.5 組行為(Group Behaviors) 
3.5.1 Separation(分離) 
3.5.2 Alignment(隊列) 
3.5.3 Cohesion(聚集) 
3.5.4 Flocking(群集) 
3.6 組合操控行為(Combining Steering Behaviors) 
3.6.1 加權(quán)截斷總和(Weighted Truncated Sum) 
3.6.2 帶優(yōu)先級的加權(quán)截斷累計(Weighted Truncated Running Sum with
Prioritization) 
3.6.3 帶優(yōu)先級的抖動(Prioritized Dithering) 
3.7 確保無重疊 
3.8 應(yīng)對大量交通工具:空間劃分 
3.9 平滑 
第4章 體育模擬(簡單足球) 
4.1 簡單足球的環(huán)境和規(guī)則 
4.1.1 足球場 
4.1.2 球門 
4.1.3 足球 
4.2 設(shè)計AI 
4.2.1 SoccerTeam類 
4.2.2 場上隊員 
4.2.3 守門員 
4.2.4 AI使用到的關(guān)鍵方法 
4.3 使用估算和假設(shè) 
4.4 總結(jié) 
第5章 圖的秘密生命 
5.1 圖 
5.1.1 一個更規(guī)范化的描述 
5.1.2 樹 
5.1.3 圖密度 
5.1.4 有向圖(Digraph) 
5.1.5 游戲AI中的圖 
5.2 實現(xiàn)一個圖類 
5.2.1 圖節(jié)點類(GraphNode Class) 
5.2.2 圖邊類(GraphEdge Class) 
5.2.3 稀疏圖類(SparseGraph Class) 
5.3 圖搜索算法 
5.3.1 盲目搜索(Uninformed Graph Searches) 
5.3.2 基于開銷的圖搜索(cost-based graph searchs) 
5.4 總結(jié) 
第6章 用腳本,還是不用?這是一個問題 
6.1 什么是腳本語言 
6.2 腳本語言能為你做些什么 
6.2.1 對話流 
6.2.2 舞臺指示(Stage Direction) 
6.2.3 AI邏輯 
6.3 在Lua中編寫腳本 
6.3.1 為使用Lua設(shè)置編譯器 
6.3.2 起步 
6.3.3 Lua中的石頭剪子布 
6.3.4 與C/C++接口 
6.3.5 Luabind來救援了! 
6.4 創(chuàng)建一個腳本化的有限狀態(tài)自動機 
6.4.1 它如何工作? 
6.4.2 狀態(tài)(State) 
6.5 有用的鏈接 
6.6 并不是一切都這么美妙 
6.7 總結(jié) 
第7章 概覽《掠奪者》游戲 
7.1 關(guān)于這個游戲 
7.2 游戲體系結(jié)構(gòu)概述 
7.2.1 Raven_Game類 
7.2.2 掠奪者地圖 
7.2.3 掠奪者武器 
7.2.4 彈藥(Projectile) 
7.3 觸發(fā)器 
7.3.1 觸發(fā)器范圍類(TriggerRegion) 
7.3.2 觸發(fā)器類(Trigger) 
7.3.3 再生觸發(fā)器(Respawning Trigger) 
7.3.4 供給觸發(fā)器(Giver-Trigger) 
7.3.5 武器供給器(Weapon Givers) 
7.3.6 健康值供給器(Health Giver) 
7.3.7 限制生命期觸發(fā)器(Limited Lifetime Trigger) 
7.3.8 聲音通告觸發(fā)器(Sound Notification Trigger) 
7.3.9 管理觸發(fā)器:觸發(fā)器系統(tǒng)(TriggerSystem)類 
7.4 AI設(shè)計的考慮 
7.5 實現(xiàn)AI 
7.5.1 制定決策(Decision Making) 
7.5.2 移動(Movement) 
7.5.3 路徑規(guī)劃(Path Planning) 
7.5.4 感知(Perception) 
7.5.5 目標選擇(Target Selection) 
7.5.6 武器控制(Weapon Handling) 
7.5.7 把所有東西整合起來 
7.5.8 更新AI組件 
7.6 總結(jié) 
第8章 實用路徑規(guī)劃 
8.1 構(gòu)建導(dǎo)航圖 
8.1.1 基于單元 
8.1.2 可視點 
8.1.3 擴展圖形 
8.1.4 導(dǎo)航網(wǎng) 
8.2 《掠奪者》游戲?qū)Ш綀D 
8.2.1 粗顆粒狀的圖 
8.2.2 細粒狀的圖 
8.2.3 為《掠奪者》導(dǎo)航圖添加物件 
8.2.4 為加速就近查詢而使用空間分割 
8.3 創(chuàng)建路徑規(guī)劃類 
8.3.1 規(guī)劃到達一個位置的一條路徑 
8.3.2 規(guī)劃路徑到達一個物件類型 
8.4 節(jié)點式路徑或邊式路徑 
8.4.1 注釋邊類示例 
8.4.2 修改路徑規(guī)劃器類以容納注釋邊 
8.4.3 路徑平滑 
8.4.4 降低CPU資源消耗的方法 
8.5 走出困境狀態(tài) 
8.6 總結(jié) 
第9章 目標驅(qū)動智能體行為 
9.1 勇士埃里克的歸來 
9.2 實現(xiàn) 
9.2.1 Goal_Composite::Process Subgoals 
9.2.2 Goal_Composite::Remove AllSubgoals 
9.3 《掠奪者》角色所使用的目標例子 
9.3.1 Goal_Wander 
9.3.2 Goal_TraverseEdge 
9.3.3 Goal_FollowPath 
9.3.4 Goal_MoveToPosition 
9.3.5 Goal_AttackTarget 
9.4 目標仲裁 
9.4.1 計算尋找一個健康物件的期望值 
9.4.2 計算尋找一種特殊武器的期望值 
9.4.3 計算攻擊目標的期望值 
9.4.4 計算尋找地圖的期望值 
9.4.5 把它們都放在一起 
9.5 擴展 
9.5.1 個性 
9.5.2 狀態(tài)存儲 
9.5.3 命令排隊 
9.5.4 用隊列編寫腳本行為 
9.6 總結(jié) 
第10章 模糊邏輯 
10.1 普通集合 
集合運算符 
10.2 模糊集合 
10.2.1 用隸屬函數(shù)來定義模糊的邊界 
10.2.2 模糊集合運算符 
10.2.3 限制詞 
10.3 模糊語言變量 
10.4 模糊規(guī)則 
10.4.1 為武器的選擇設(shè)計模糊語言變量 
10.4.2 為武器的選擇設(shè)計規(guī)則集 
10.4.3 模糊推理 
10.5 從理論到應(yīng)用:給一個模糊邏輯模塊編碼 
10.5.1 模糊模塊類(FuzzyModule) 
10.5.2 模糊集合基類(FuzzySet) 
10.5.3 三角形的模糊集合類 
10.5.4 右肩模糊集合類 
10.5.5 創(chuàng)建一個模糊語言變量類 
10.5.6 為建立模糊規(guī)則而設(shè)計類 
10.6 《掠奪者》中是如何使用模糊邏輯類的 
10.7 庫博方法 
10.7.1 模糊推理和庫博方法 
10.7.2 實現(xiàn) 
10.8 總結(jié) 
附錄A C++模板 
附錄B UML類圖 
附錄C 設(shè)置你的開發(fā)環(huán)境 
跋 
參考文獻 

編輯推薦

亞馬遜連續(xù)多年游戲開發(fā)暢銷圖書游戲開發(fā)圖書的經(jīng)典之作AI技術(shù)在游戲中應(yīng)用的經(jīng)典案例合集針對實際難題提供權(quán)威的專業(yè)解決方案引導(dǎo)讀者學(xué)習(xí)使用C++變成語言設(shè)計、編程和實現(xiàn)游戲人工智能的過程讀者可以從http://www.jblearning.com/catalog/9781556220784/下載本書的配套示例代碼。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    游戲人工智能編程案例精粹 PDF格式下載


用戶評論 (總計56條)

 
 

  •   這是游戲AI開發(fā)的入門書
  •   這本書還是值得看的,迅速改變你對游戲ai的理解
  •   本來要買一本《游戲中的AI》可是沒買到,先買這本看看吧,翻了翻還不錯
  •   內(nèi)容很豐富
    只是專講了人工智能,自己一個人還是不能做什么,適合進階人群
  •   志向是走人工智靈至于大環(huán)境影響準備以游戲隱蔽開發(fā)就是這樣你懂的
  •   我是先看了100多頁的pdf才決定買這本書的,很適合入門級別的游戲程序員學(xué)習(xí),贊一個
  •   編輯寫的人工智能,是我夢寐以求的,我喜歡
  •   看PDF看了幾章受益匪淺早就想買了這不一出修訂版的就立刻下單了
  •   這本書很好, 里面的狀態(tài)轉(zhuǎn)換邏輯講的很詳細
  •   案例都蠻不錯的,不過不太適合初學(xué)者。
  •   經(jīng)典好書,值得學(xué)習(xí)
  •   我是看到作者那句:它必須使玩家從椅子上跳起來喊:“拿起它來,你這個笨蛋”立刻笑噴了,覺得作者用心,果斷買了。書不錯。不過書籍裝卸過程有油印,這個不太滿意。當(dāng)當(dāng)以后發(fā)貨要注意了。
  •   通常評價很好的書,買回來未必是好的。但這本書確實很不錯,拜讀了其中兩章,講解得很好~很值~
  •   這本書很好,例子很經(jīng)典,風(fēng)趣幽默,就是書中代碼有寫錯誤,修版沒有改過來
  •   很實用的一本書,里面的知識點可以在工作中立馬用到。
  •   唔!~沒有讓我失望,質(zhì)量不錯,好書。
  •   書是買給兒子的。還行,比較滿意。
  •   在公交、地鐵上看。看起來還不錯,比較基礎(chǔ)。唯獨不好的就是沒有人機博弈的內(nèi)容。比看理論書輕松一些。
  •   書不錯,送貨挺快的,下次買書還來這里
  •   給力的書哦給力的書哦
  •   慢慢體驗,體會。很好的書。
  •   書挺好,看了下目錄就會令人振奮
  •   內(nèi)容具體 詳實
  •   翻譯的還算過得去,堅持學(xué)下去
  •   值得認真讀一讀。
  •   收到了,書面臟,內(nèi)容還可以
  •   作為AI沒有以前看的那本好 也沒那么厲害 不過作為一般程度挺不錯的
  •   書里的內(nèi)容很有智慧
  •   慢慢讀,認真做
  •   第一版看過了一半,才決定要買的。哈哈
  •   這本書不咋的,感覺對不起書名
  •   書比較內(nèi)容適當(dāng),方便學(xué)習(xí)
  •   一般,部分有點難懂,比較空洞,可能內(nèi)功不夠
  •   靠 包裹書臟死了 書面上全是土 還讓我自提 要不是等著看 必須拒收
  •   感覺內(nèi)容很不錯,是用c++寫的。
  •   第一版想買結(jié)果絕版了,看過code,嚴重推薦!
  •   內(nèi)容很充實,值得擁有
  •   內(nèi)容還是挺有幫助的,不錯
  •   看完了 還感覺一邊還是不大懂的需要慢慢琢磨,游戲開發(fā)不錯
  •   書本的色調(diào)有點暗,紙張的厚度較薄,字體還算清晰,紙張有點軟,并且有點潮(可以放時間久了的緣故),還沒發(fā)現(xiàn)缺頁的現(xiàn)象,應(yīng)該是正版,就是包裝不怎么樣,關(guān)鍵是內(nèi)容好,包裝方面就忍了吧,就5星吧.
  •   書的內(nèi)容是很好的,但是翻譯的人語文水平很一般哦,翻譯出來的比較生硬,有空多看看書,煉煉筆
  •   書本印刷質(zhì)量還不錯,內(nèi)容也很好,就是有些小錯誤,例如46頁中間一句的“這樣”寫成了“怎樣”
  •   前面的基礎(chǔ)有點太基礎(chǔ)了,但后面很有意思的樣子
  •   我有一定的機器學(xué)習(xí)基礎(chǔ),讀過之后 才感受到游戲AI和一般的機器學(xué)習(xí)的不同,這本書通過分析案例讓讀者領(lǐng)會到游戲設(shè)計的巧妙之處。書中沒有冗長的算法,即使沒有AI基礎(chǔ)也適合閱讀。
  •   1:本書中講解的內(nèi)容非常好,是游戲前端程序員了解智能編程的居家旅游必備良藥,在很多領(lǐng)域如狀態(tài)機、群落等方面均給出了精簡優(yōu)雅的解釋,內(nèi)容方面絕對滿分。2:美中不足的是翻譯略顯生硬,一些口語化的翻譯不是很恰當(dāng),比如“有許多實現(xiàn)一個singleton的方法”,如果修改成“實現(xiàn)singleton的方法有很多種”應(yīng)該更容易讓讀者理解吧。... 閱讀更多
  •   首先書本內(nèi)容很啟發(fā)人,其次,發(fā)現(xiàn)翻譯者的功力也深厚,不然呈現(xiàn)不了原作的味道。
  •   內(nèi)容不錯,推薦。程序員必讀
  •   挺不錯的,很好,很喜歡
  •   這本還算不錯吧,但是對于邏輯的講解部分,沒有獨特的見解
  •   面向有一定基礎(chǔ)的開發(fā)人員
  •   很好的AI入門書
  •   很適合作為參考
  •   沒來急看
  •   挺好.值得推薦
  •   游戲人工智能編程案例精粹(修訂版)
  •   研究人工智能編程
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7