遊戲核心算法編程內幕

遊戲核心算法編程內幕

《遊戲核心算法編程內幕》是2004年中國環境科學出版社,北京希望電子出版社出版的圖書,由北京希望電子出版社編著。

基本介紹

  • 書名:遊戲核心算法編程內幕
  • 作者:北京希望電子出版社
  • ISBN:7801638891
  • 定價:58
  • 出版社:中國環境科學出版社,北京希望電子出版社
  • 出版時間:2004-12
  • 開本:16
本書特點,適用範圍,內容簡介,作品目錄,

本書特點

*經過時間測試的編碼技術與算法,而不是趨勢性的方法或對單個API的介紹。 *C++完整代碼樣本,用於OpenGL與DirectX APIs中。 *代碼設計與布局方法。數據結構、算法和遊戲特定設計模式。 *人工智慧技術,包括面向動作AI、戰術AI以及腳本引擎,都用Java和Lua編寫腳本。 *網路編程,從簡單遊戲到大量用戶多方遊戲。 *二維編程,分析Maria Bras與Zelda等經典遊戲的算法,研究經典二維特效。 *三維管道,包括分析幾何處理、選取、剪取、遮擋探測和細節量技術。

適用範圍

遊戲工程中的研發人員 遊戲編程的業餘愛好者 僅想更好地理解所玩遊戲信息的人,喜歡玩遊戲的人,對編程感興趣的人,對遊戲熱愛的人,在校大學生,計算機研發人員等等。

內容簡介

本書主要介紹市面上大多數計算機與視頻遊戲編程的基本核心算法與技術,以及遊戲編程理論和許多PC與控制台上的AAA級產品的實現細節,使之成為遊戲編程導論課程教材。
書中大多數相關方法都有全面解釋、框圖和必要的代碼樣本,使讀者可以了解幕後工作原理、工作方法和工作本質。

作品目錄

全書由三部分組成。其中第一部分主要介紹遊戲編程的基本概念;第二部分詳細介紹遊戲編程中的各種技術和算法;第三部分是附錄,介紹遊戲編程中相關技術和知識以及其他相關讀物。
第1章 遊戲編程時間表
1.1 第一階段:“星球大戰”之前
1.2 第二階段:從“星球大戰”到Atari
1.3 第三階段:遊戲控制台與個人計算機
1.3.1 遊戲控制台與遊戲開發人員
1.3.2 個人計算機
1.4 第四階段:調整與匯總
1.5 第五階段:遊戲引擎的出現
1.6 第六階段:手指式革命
1.7 第七階段:移動現象
1.8 第八階段:多方遊戲
1.9 結束語
第2章 遊戲體系結構
2.1 實時軟體
2.2 遊戲邏輯段
2.2.1 玩家更新
2.2.2 世界更新
2.3 顯示段
2.3.1 世界繪製
2.3.2 NPC繪製
2.3.3 玩家
2.3.4 問題:網路遊戲
2.4 編程過程關卡
2.5 結束語
第3章 數據結構與算法
3.1 類型、結構和類
3.2 數據結構
3.2.1 靜態數組
3.2.2 鍊表
3.2.3 雙向鍊表
3.2.4 佇列
3.2.5 堆疊
3.2.6 雙頭佇列
3.2.7 表
3.2.8 樹
3.2.9 優先佇列
3.2.10 圖
3.3 標準模板庫
3.3.1 容器
3.3.2 疊代器
3.4 結束語
第四章到第六章
第4章 設計模式
4.1 設計模式定義
4.2 一些重要編程模式
4.2.1 單體模式
4.2.2 策略模式
4.2.3 工廠模式
4.2.4 空間索引
4.2.5 複合模式
4.2.6 輕量級模式
4.3 可用性模式
4.3.1 禁止模式
4.3.2 狀態模式
4.3.3 自動方式取消
4.3.4 磁化
4.3.5 焦點模式
4.3.6 進程模式
4.4 結束語
第5章 用戶輸入
5.1 鍵盤
5.2 滑鼠
5.3 遊戲桿
5.4 硬體抽象
5.5 力量反饋
5.6 結束語
第6章 基本人工智慧技術
6.1 情境
6.2 人工智慧系統結構
6.2.1 感知世界
6.2.2 記憶
6.2.3 分析/推理核心
6.2.4 動作/輸出系統
6.3 特定技術
6.3.1 有限狀態機
6.3.2 規則系統
6.3.3 規劃與解題
6.3.4 生物靈感人工智慧
6.4 結束語
第七章到第九章
第7章 面向動作的人工智慧
7.1 動作遊戲
7.2 動作設計人工智慧
7.3 對象跟蹤
7.3.1 眼睛接觸:二維半平面測試
7.3.2 三維版本:半球
7.4 追趕
7.4.1 二維追趕:固定速度
7.4.2 預測性追趕
7.5 逃避
7.6 巡邏
7.7 隱藏與遮蓋
7.8 射擊
7.8.1 無限速度瞄準
7.8.2 實際瞄準
7.8.3 機關槍
7.9 綜合起來
7.9.1 並行自動化
7.9.2 AI同步
7.10 結束語
7.10.1 平台遊戲
7.10.2 射擊遊戲
7.10.3 格鬥遊戲
7.10.4 賽車遊戲
第8章 戰術性人工智慧
8.1 戰術性思維
8.1.1 路徑尋找
8.1.2 團隊活動
8.2 軍事分析:影響圖
8.2.1 數據結構
8.2.2 一些重要測試
8.3 表示戰術
8.4 結束語
第9章 腳本
9.1 建立腳本語言
9.1.1 簡單分析語言
9.1.2 分析結構化語言
9.2 嵌入語言
9.2.1 學習Lua
9.2.2 Java腳本
9.3 基於套接的腳本
9.4 結束語
第十章
第10章 網路編程
10.1 Internet的實際工作
10.2 從編程人員角度看套接
10.3 客戶機
10.3.1 簡單TCP客戶機
10.3.2 簡單UDP客戶機
10.4 簡單TCP伺服器
10.5 多客戶機伺服器
10.5.1 並發的面向連線伺服器
10.5.2 疊代的面向連線伺服器
10.6 UDP伺服器
10.7 防止套接受阻
10.8 設計客戶機/伺服器遊戲
10.9 大量用戶的多方遊戲
10.9.1 數據外推
10.9.2 層次訊息
10.9.3 空間分割
10.9.4 只傳送狀態改變
10.9.5 使用伺服器群集
10.9.6 動態伺服器與勇士綜合症
10.10 結束語
第二部分 引擎編程
第11章 二維遊戲編程
11.1 舊式硬體
11.2 二維遊戲的數據結構
11.3 貼圖矩陣地磚表
11.4 二維遊戲算法
11.4.1 螢幕遊戲
11.4.2 雙向與四向捲軸
11.4.3 多方引擎
11.4.4 視差捲軸
11.4.5 各向異性引擎
11.4.6 翻頁捲軸
11.5 特殊效果
11.5.1 調色板效果
11.5.2 點刻效果
11.5.3 灰貼
11.5.4 火
11.6 結束語
第12章 三維管道概述
12.1 簡介
12.2 基本數據類型
12.2.1 頂點
12.2.2 索引圖元
12.2.3 顏色
12.2.4 紋理貼圖
12.3 幾何格式
12.4 一般性圖形管道
12.4.1 剪取
12.4.2 挑選
12.4.3 閉合測試
12.4.4 確定解析度
12.4.5 變換與燈光
12.4.6 光柵化
12.5 結束語
第13章 室內繪製
13.1 一般分析
13.2 基於閉合的算法
13.3 二叉空間劃分算法
13.3.1 構造
13.3.2 視圖相關排序
13.3.3 層次式剪取
13.3.4 閉合探測
13.3.5 繪製
13.4 門戶繪製
13.5 層次式閉合圖
13.6 混合方法
13.6.1 門戶/八叉樹混合
13.6.2 四叉樹/BSP混合
13.7 硬體輔助閉合測試
13.8 結束語
第14章 戶外算法
14.1 概述
14.2 戶外繪製的數據結構
14.2.1 高度域
14.2.2 四叉樹
14.2.3 二叉三角形樹
14.3 幾何貼圖
14.4 ROAM
14.4.1 第一遍:構造變差樹
14.4.2 第二遍:格線重構
14.4.3 最佳化
14.5 塊LOD
14.6 以GPU為中心的方法
14.7 戶外視景圖
14.8 結束語
第15章 角色動畫
15.1 分析
15.2 顯式與隱式方法
15.3 顯式動畫技術
15.3.1 幀動畫
15.3.2 關鍵幀動畫
15.3.3 標記插值
15.4 隱式動畫概述
15.4.1 正向動力學
15.4.2 框架動畫的數學
15.4.3 硬體輔助框架動畫
15.5 道具處理
15.6 關於機車
15.7 四肢分解
15.8 面部動畫
15.9 逆向動力學
15.9.1 分析逆向動力學
15.9.2 循環坐標派生
15.10 混合正向與逆向動力學
15.11 結束語
第16章 製片術
16.1 第一人稱視角射擊遊戲
16.2 處理慣性
16.3 飛行模擬器與四元數
16.4 第三人稱視角鏡頭
16.5 製片鏡頭:鏡頭樣式
16.6 製片鏡頭:位置算法
16.6.1 選擇鏡頭目標
16.6.2 選擇相關信息
16.6.3 選擇視圖角度
16.7 基於agent的方法
16.8 結束語
第17章 色檔
17.1 實際照明
17.1.1 簡單繪製方程
17.1.2 按頂點與按像素照明
17.2 燈光貼圖
17.2.1 擴散貼圖
17.2.2 鏡面貼圖
17.2.3 使用燈光圖的全局照明
17.2.4 實現光貼圖:DirectX
17.2.5 用DirectX實現燈光貼圖
17.2.6 生成燈光貼圖
17.3 BRDF
17.3.1 平均向量
17.3.2 陰影
17.4 非照片真實繪製
17.4.1 鉛筆繪製
17.4.2 外形線繪製
17.4.3 劃線外形
17.4.4 單幀色檔
17.4.5 油畫繪製
17.5 結束語
第18章 紋理貼圖
18.1 紋理類型
18.1.1 紋理貼圖
18.1.2 XYZ貼圖
18.1.3 圓柱貼圖
18.1.4 球形貼圖
18.1.5 三角形紋理貼圖
18.2 平鋪與貼花
18.3 過濾
18.4 Mip貼圖
18.5 紋理最佳化
18.5.1 紋理壓縮
18.5.2 紋理快取與分頁
18.6 多遍方法
18.7 多紋理
18.8 紋理運算與組合
18.9 細節紋理
18.10 環境貼圖
18.11 鼓包貼圖
18.11.1 浮雕鼓包貼圖
18.11.2 Dot3鼓包貼圖
18.12 上光貼圖
18.13 結束語
第19章 微粒系統
19.1 微粒系統剖析
19.2 微粒數據結束
19.2.1 一般性微粒系統
19.2.2 派生微粒
19.2.3 微粒行為
19.2.4 微粒消除
19.2.5 繪製微粒
19.3 關於體系結構
19.4 加速技術
19.4.1 避免記憶體分配與釋放
19.4.2 空間索引
19.4.3 LOD微粒系統
19.4.4 基於色檔的微粒系統
19.5 結束語
第20章 有機構繪製
20.1 自然與細節
20.2 樹
20.2.1 告示牌
20.2.2 基於圖像方法
20.2.3 平行IBR方法
20.2.4 正交IBR方法
20.3 草
20.3.1 分層草
20.3.2 統計分布算法
20.4 雲
20.4.1 天框與園頂
20.4.2 招貼板雲
20.4.3 容積雲
20.5 海洋
20.5.1 逼真海洋幾何
20.5.2 海洋外觀
20.5.3 焦散性
20.6 結束語
第21章 過程性技術
21.1 過程性列表
21.2 Renderman
21.3 實時色檔語言
21.3.1 當前語言
21.3.2 Cg
21.3.3 HLSL
21.3.4 GL2色檔語言
21.4 色檔程式類型
21.4.1 色檔程式集合
21.4.2 幾何效果
21.4.3 燈光
21.5 紋理貼圖
21.6 微粒系統
21.7 動畫
21.8 特殊效果
21.9 結束語
第22章 幾何算法
22.1 點包括測試
22.1.1 球上的點
22.1.2 AABB中的點
22.1.3 凸多邊形的點
22.1.4 多邊形的點(凹與凸):約當法
22.1.5 曲線定理
22.1.6 凸實體的點
22.1.7 實體的點(約當曲線定理)
22.2 光束相交測試
22.2.1 光束平面
22.2.2 光三角形
22.2.3 光AABB測試
22.2.4 光球測試
22.2.5 光凸形外殼
22.2.6 光一般實體(三維DDA)
22.3 運動測試
22.4 點與三角形集合碰撞(基於BSP)
22.5 格線與格線(清掃與修剪方法)
22.6 計算凸形外殼
22.6.1 二維方案
22.6.2 三維方案
22.7 三角形簡化
22.7.1 頂點重合
22.7.2 邊重合
22.7.3 遞進格線
22.7.4 非保守式三角形簡化
22.8 結束語
第三部分 附錄
附錄A 性能調整
附錄B OpenGL
附錄C Direct3D
附錄D 數學知識
附錄E 更多讀物

相關詞條

熱門詞條

聯絡我們