內容簡介
智能和多樣化是一個成功遊戲的重要元素。本書將通過不同遊戲類型的人工智能示例幫助讀者進入遊戲AI編程,通過C#語言實現新、前沿的算法,終使遊戲通過有趣的人工智能設計增加更好的玩傢體驗。同時,本書將帶領讀者以不同的方式思考人工智能。
目錄
目 錄?Contents
譯者序
前言
關於作者
第1章 不同的問題需要不同的解決方案 1
1.1 遊戲AI解決方案的曆史簡述 1
1.2 電子遊戲中的敵人AI 2
1.3 從簡單到聰明的類人AI 3
1.4 視覺和聲音的感知 4
1.5 總結 5
第2章 可能性圖與概率圖 6
2.1 遊戲狀態 6
2.2 可能性圖 7
2.2.1 怎樣使用可能性圖 7
2.2.2 準備一個可能性圖(FPS遊戲) 8
2.2.3 創建一個可能性圖(FPS遊戲) 9
2.3 定義狀態 10
2.3.1 防守狀態 12
2.3.2 進攻狀態 13
2.3.3 可能性圖小結 16
2.4 概率圖 16
2.4.1 怎樣使用概率圖 17
2.4.2 接下來做什麼 19
2.5 總結 19
第3章 産生式係統 20
3.1 自動有限狀態機 22
3.2 基於效用的函數 26
3.3 遊戲AI的動態平衡 36
3.4 總結 37
第4章 環境與人工智能 38
4.1 視覺交互 39
4.2 基本環境交互 40
4.2.1 移動環境中的物體 40
4.2.2 環境中的障礙物 48
4.2.3 用區域阻斷環境 52
4.3 高級環境交互 54
4.3.1 適應不穩定的地形 55
4.3.2 使用射綫檢測評估決策 56
4.4 總結 58
第5章 動畫行為 59
5.1 2D動畫與3D動畫的對比 59
5.1.1 2D動畫-精靈 59
5.1.2 3D動畫-骨骼結構 61
5.2 動畫狀態機 62
5.3 平滑過渡 78
5.4 總結 79
第6章 導航行為和尋路 80
6.1 導航行為 80
6.1.1 選擇新的方嚮 80
6.1.2 點到點的移動 90
6.2 總結 123
第7章 高級尋路 124
7.1 簡單尋路與高級尋路 124
7.2 A*搜索算法 126
7.3 總結 149
第8章 群體交互 150
8.1 什麼是群體交互 150
8.2 電子遊戲與群體交互 151
8.2.1 《刺客信條》 151
8.2.2 《俠盜獵車》(GTA) 152
8.2.3 《模擬人生》 152
8.2.4 FIFA/實況足球 153
8.3 規劃群體交互 154
8.3.1 小組戰鬥 154
8.3.2 通信(警告區域) 157
8.3.3 通信(與其他AI角色交談) 160
8.3.4 團隊競技 161
8.4 群體碰撞避免 169
8.5 總結 171
第9章 AI規劃與碰撞避免 172
9.1 搜索 172
9.2 總結 189
第10章 感知 190
10.1 潛入類遊戲 190
10.2 關於戰術 190
10.3 關於感知 191
10.4 實現視覺感知 191
10.5 總結 225
前言/序言
Preface?前 言遊戲開發對有些人來說充滿瞭激情,我相信這是因為,我們可以創造一個完全由我們想象齣來的世界。這有點像開創一個新的世界,我們放置的AI角色就像是這個世界的居民,他們生活在我們創造的這個世界裏。我們可以自由地想象他們的行為,基於想象創造一個社會體係,創造一個甜美又溫柔的角色,也可以創造一個前所未有的惡魔——這種可能性是無限的,這也是為什麼我們總是冒齣新的遊戲創意來。無論我們打算做什麼類型的遊戲,這個世界和這些角色都是我們將會看到的基本要素,我們的遊戲也因此獨一無二。理想情況下,我們應當能夠將腦海中所有的東西都原封不動地創造齣來。本書就是想達到這個目的——讓所有人都能夠實現自己的想法,而不應當約束我們的想象力,因此本書將會涵蓋創造人工智能角色的基礎。當你讀完以後,我們可以繼續深入探索這些你學過的主題,創造齣完全符閤我們想象的AI角色。
本書內容第1章是對電子遊戲産業與遊戲AI的綜述。
第2章重點介紹如何創建和使用AI的可能性圖和概率圖。
第3章描述瞭怎樣對AI角色創建一係列必要的規則以實現其目標。
第4章聚焦於遊戲中的角色與他們所處環境之間的交互。
第5章展示瞭在遊戲中實現動畫的最佳實踐。
第6章主要討論實現實時計算的AI移動方案的最佳實踐。
第7章主要介紹使用A*算法尋找最短路徑。
第8章主要講述在當同一場景中有大量角色時,AI應該如何錶現。
第9章探討AI的預期,事先知道當到達某個位置或麵對某個問題它們將會做什麼。
第10章主要討論創建潛入類遊戲的技術:感知係統。
讀前準備推薦安裝一個使用C#語言的遊戲引擎(Unity3D有免費版本,本書的例子中也使用瞭它)。
讀者對象本書麵嚮的讀者是這些開發者:他們已經用C#創作瞭一個遊戲並且在探索用AI擴展遊戲內容,從而創建具有自主行為的群體、敵人或是盟友。
下載示例代碼你可以從http://www.packtpub.com通過個人賬號下載你所購買書籍的樣例源碼。如果你在其他地方購買瞭本書,你可以訪問http://www.packtpub.com/support並注冊賬戶,相關文檔就會直接發送到您的郵箱中。
你也可以訪問華章圖書官網http://www.hzbook.com,通過注冊並登錄個人賬號,下載本書的源代碼。
下載本書彩圖我們還提供瞭一份具有彩色插圖的PDF文件,包含瞭書中的屏幕截圖和圖錶的彩色版。這些彩圖會幫助你更好地理解程序輸齣的變化。可以從以下網址下載:https://www.packtpub.com/sites/default/files/downloads/PracticalGameAIProgramming_ColorImages.pdf。
About the Author?關?於?作?者Micael DaGra?a 是一位遊戲設計師以及AR開發者,現居葡萄牙波爾圖市。他曾為多個遊戲工作室工作,緻力於創建與眾不同的獨立遊戲和交互式應用程序。
Micael 的童年伴隨電子遊戲一起長大,對遊戲的熱情也從未消去過。因此,在他後來的生活中,他決定學習如何製作遊戲。一開始,他沒有任何編程或3D動畫方麵的知識,他便從製作一些簡單的遊戲開始,在這個過程中每次都學到瞭更多的遊戲製作經驗。當遊戲可以正常運行並且變得有趣時,他開始計劃與一個老朋友閤作發布一款遊戲。Micael負責遊戲的技術方麵,確保遊戲可以按照預期進行開發,而他的朋友則負責遊戲的所有美術工作。最終,遊戲成功發布,並獲得瞭其他獨立遊戲開發者的一些積極反饋。由於遊戲産生瞭一些收入,成為遊戲設計師的夢想也隨之變成瞭現實。
現在,Micael為其他工作室工作,幫助他人實現他們的遊戲創意,並整閤瞭一傢專注於製作遊戲以及開發健康類App的公司。盡管他沒有時間繼續從事個人項目,但他還有一些在朋友的幫助下仍在開發中的遊戲項目。
“我要感謝父母多年來給予我無條件的支持,因為沒有他們,我不可能成為一個遊戲設計師;非常感謝我的妹妹Alexandrina,感謝她在我最需要幫助的時候幫助我,讓我在她的辦公室製作遊戲,從而使我可以開始做遊戲設計師。感謝我的老朋友兼老對手Vicente,逼著我不斷突破自己的極限,使我成為一個更好的專業人士。感謝我的女朋友Marta,她的微笑總是讓我很開心,她處理好瞭生活中的每件事,讓我可以專注於我的工作。最後,我想把本書獻給我的爺爺,是他激勵我成為今天的自己。”
遊戲AI開發實用指南 下載 mobi epub pdf txt 電子書