TOP
0
0
【23號簡體館日】限時三天領券享優惠!!
遊戲開發:世嘉新人培訓教材(簡體書)
滿額折

遊戲開發:世嘉新人培訓教材(簡體書)

人民幣定價:198 元
定  價:NT$ 1188 元
優惠價:871034
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:31 點
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

《遊戲開發:世嘉新人培訓教材》全面介紹了遊戲開發人員需要掌握的相關技術知識。內容由淺入深,從命令行遊戲開發講起,然後介紹如何開發簡單的2D遊戲,最後介紹如何開發出一個包含模型和動畫的3D遊戲,涵蓋了計算機圖形學(3DCG、2DCG、字體、光照、動畫)、計算機運算(碰撞處理、計算誤差)、編程(模塊化、bug預防、性能優化)、遊戲處理(狀態遷移、實時處理、加載)和聲音處理等知識。

作者簡介

平山尚,(作者)
1977年生於日本北海道,曾在京都大學研究生院工學研究科進行基因研究,畢業後進入世嘉株式會社,參與了《電腦戰機》(PS2)、《超級網球大獎賽3》(AC、PS3)的開發。著有《我的第一本編程書》。

羅水東,(譯者)
遊戲開發工程師,15年軟件和遊戲開發經驗。熱愛技術,樂於分享心得。目前主要關注的領域為3D休閒遊戲開發和底層引擎技術。

名人/編輯推薦

1.專業經典
本書由世嘉一線開發者執筆,並被選為世嘉新人培訓教材,榮獲遊戲開發者奧斯卡CEDEC AWARDS 2009著作獎。
2.系統全面
全方位介紹遊戲開發者必須掌握的基礎技術,包括遊戲編程、數學和物理等,內容充實,幫助讀者建立起一套扎實的知識體系。
3.實踐導向
不借助任何引擎,從簡單的命令行遊戲開發講起,到2D遊戲開發,*終帶領讀者開發出一個3D遊戲,並在此過程中介紹遊戲開發中會遇到的各種問題及解決方案,實踐性強。讀者可下載隨書附帶的源碼,邊做邊學。
4.拒絕枯燥
採用口語化的行文方式,以設計思路為切入點進行講解,每一步都有明確的邏輯依據,讓讀者在知道“怎麼做”的同時,明白“為什麼”這麼做。
這本書的名字雖然寫的是新人培訓教材,但我覺得它已經遠遠超過新人培訓,甚至適合工作多年的老手。現在市面上有很多好用的商業遊戲引擎,它們將大量原理部分的知識隱藏起來,暴露給程序員的都是簡單易用的接口。時間久了很多程序員雖然能開發遊戲,但是已經渾然不知背後的原理知識了。如果對原理不瞭解,就意味著無法更好地和硬件打交道,無法更好地優化自己的遊戲。這本書從無到有一點點揭秘遊戲開發的原理,由淺入深,很容易理解,確實是一本不可不讀的好書。――Unity User Group意見領袖、UVP價值專家 宣雨松MO

目次

第 1章 第 一個遊戲2
1.1 開發一個益智遊戲 .3
1.2 示例代碼解說 7
1.3 添加讀取場景數據的功能 16
1.4 C++ 課堂 21
1.5 補充內容:標誌位和位運算26
1.6 補充內容:指針和內存 34
1.7 補充內容:引用 41
1.8 本章小結 46
第 2章 從像素開始學習2D 圖形處理 .47
2.1 什麼是2D 圖形處理 48
2.2 準備工作 50
2.3 打印一個點 54
2.4 移植《箱子搬運工》 .55
2.5 補充內容:結束處理 .58
2.6 本章小結 60
第3章 使用圖片素材 61
3.1 讀取圖片文件 .62
3.2 帶圖片的《箱子搬運工》的示例代碼72
3.3 使用透明通道 .75
3.4 頭文件包含關係的組織策略 .82
3.5 補充內容:透明混合的性能優化 86
3.6 補充內容:加法混合 .88
3.7 本章小結 90
第4章 實時遊戲 91
4.1 什麼是實時遊戲 92
4.2 運行動畫 95
4.3 帶動畫的《箱子搬運工》.96
4.4 獲得遊戲的幀率 .101
4.5 解決幀率差異 103
4.6 補充內容:根據幀率變化動態改變遊戲運行速度 105
4.7 補充內容:影像撕裂現象 110
4.8 本章小結 .111
第5章 簡單的狀態遷移 113
5.1 往類庫追加功能 .114
5.2 相對直接的做法 .117
5.3 試著增加狀態 119
5.4 代碼審查 .122
5.5 示例代碼解說 128
5.6 本章小結 .136
第6章 文本繪製方法 .137
6.1 字體圖片 .138
6.2 文本繪製函數 138
6.3 一些改進 .140
6.4 成果驗證 .142
6.5 示例代碼解說 143
6.6 注意著作權 147
6.7 示例類庫的功能 .147
6.8 本章小結 .148
第7章 動作遊戲初體驗 149
7.1 用到的類庫 150
7.2 開發《炸彈人》 .151
7.3 示例代碼解說 152
7.4 添加背景顯示 157
7.5 配置移動的對象 .164
7.6 遊戲的改進方向 .169
7.7 本章小結 .170
第8章 2D 平面內的碰撞處理 171
8.1 碰撞檢測 .172
8.2 碰撞響應 .174
8.3 發生多個碰撞時的問題 .179
8.4 碰撞響應與操作性 180
8.5 移動的物體相互碰撞 184
8.6 《炸彈人》的碰撞處理 .184
8.7 本章小結 .186
第9章 各種輸入設備 .187
9.1 獲取輸入設備實例 188
9.2 鍵盤 189
9.3 鼠標 189
9.4 手柄 190
9.5 在《炸彈人》遊戲中使用手柄 .191
9.6 本章小結 .193
第 10章 狀態遷移詳解 194
10.1 問題定位 195
10.2 使用繼承 195
10.3 實際運用 198
10.4 補充內容:簡化狀態遷移的代碼 .201
10.5 補充內容:跨層級的狀態遷移處理的改進 204
10.6 補充內容:繼承的原理 208
10.7 本章小結 213
第 11章 播放聲音 .215
11.1 關於音頻類庫 216
11.2 補充內容:計算機如何播放聲音 .218
11.3 補充內容:音高和音量 219
11.4 補充內容:音色 220
11.5 補充內容:聲音的疊加 221
11.6 補充內容:do、re、mi 的原理 222
11.7 補充內容:演奏樂譜 223
11.8 補充內容:讀取WAV 音頻文件 225
11.9 補充內容:使用Sound 模塊來合成聲波 .226
11.10 本章小結 226
第 12章 旋轉、縮放與平移 227
12.1 旋轉 .228
12.2 引入向量和矩陣 241
12.3 利用頂點來實現 246
12.4 縮放 .253
12.5 在縮放的同時進行旋轉.255
12.6 矩陣的力量 .256
12.7 補充內容:旋轉公式的由來 263
12.8 補充內容:更為實用的旋轉處理方法 266
12.9 補充內容:數學中的矩陣 .267
12.10 本章小結 271
第 13章 顯卡的力量 272
13.1 關於使用的類庫 273
13.2 使用顯卡繪製三角形 273
13.3 將圖像貼到三角形中 275
13.4 混合模式 278
13.5 旋轉、縮放和移動 .278
13.6 移植《炸彈人》 281
13.7 本章小結 284
第 2部分 3D 遊戲285
第 14章 繪製立體物體 286
14.1 關於類庫 287
14.2 開始製作3D 動作遊戲《機甲大戰》 .287
14.3 繪製三角形 .289
14.4 按位置前後繪製物體 290
14.5 將遠處的物體繪製得小一些 294
14.6 坐標變換 303
14.7 用矩陣表示透視變換 316
14.8 開始製作《機甲大戰》 322
14.9 補充內容:Z 緩存的精度問題 335
14.10 本章小結 338
第 15章 類庫的封裝方法 .340
15.1 整體設計 341
15.2 資源的詳細內容 342
15.3 試運行 350
15.4 從文件載入 .352
15.5 補充內容:將類庫從遊戲中分離 .354
15.6 本章小結 363
第 16章 偽XML 文件的讀取 364
16.1 確定文件格式 365
16.2 創建前的準備 366
16.3 處理流程 368
16.4 字符串解析 .371
16.5 編寫代碼 373
16.6 運用 .375
16.7 示例代碼解說 378
16.8 補充內容:生成數據文件382
16.9 本章小結 385
第 17章 編寫高性能的代碼 386
17.1 算法與時間複雜度 .387
17.2 數據結構基礎 390
17.3 吞吐量與延遲 402
17.4 並行處理 404
17.5 內存問題 404
17.6 STL 和數據結構 411
17.7 性能瓶頸分析 416
17.8 補充內容:函數調用的開銷 417
17.9 補充內容:高效運算與低效運算 .420
17.10 本章小結 422
第 18章 3D 碰撞處理 .423
18.1 長方體的碰撞處理 .424
18.2 使用浮點數的碰撞檢測 427
18.3 三角形和線段的相交檢測 .436
18.4 實用性 445
18.5 其他問題 447
18.6 本章小結 448
第 19章 《機甲大戰》的設計 450
19.1 狀態遷移 451
19.2 操作 .451
19.3 發射導彈 454
19.4 將功能整合到一起 .457
19.5 前端展現 461
19.6 不足之處 463
19.7 本章小結 464
第 20章 光照 465
20.1 看見物體的過程 466
20.2 光的衰減過程 469
20.3 嘗試計算 473
20.4 整合到《機甲大戰》中.479
20.5 補充內容:性能優化 480
20.6 補充內容:更好的繪製效果 483
20.7 本章小結 484
第 21章 角色動畫 .485
21.1 相對運動 486
21.2 層級Model 類 492
21.3 自動構建樹結構 495
21.4 將動畫數據化 500
21.5 補間方法 506
21.6 引入到《機甲大戰》中.518
21.7 補充內容:聯立方程組vs 斜率指定法 519
21.8 補充內容:不足之處 520
21.9 本章小結 523
第3部分 通往商業遊戲之路525
第 22章 高效的碰撞檢測 .526
22.1 低效的循環判斷方法 527
22.2 性能改善的基本思路 528
22.3 基於排序的方法 531
22.4 依靠分割實現的方法 539
22.5 補充內容:改進等分切割法545
22.6 補充內容:空間分割的高級技巧 .548
22.7 本章小結 552
第 23章 數據加載 .554
23.1 為何加載時間越來越長.555
23.2 文件加載類 .556
23.3 通過合併文件提升性能.562
23.4 通過壓縮提升性能 .571
23.5 補充內容:多線程異步處理579
23.6 補充內容:編碼技術 590
23.7 補充內容:用於加密的合併與壓縮 591
23.8 本章小結 592
第 24章 float 的用法 593
24.1 位數限制 594
24.2 float 的實現 594
24.3 位數截斷帶來的誤差 596
24.4 誤差程度 597
24.5 減小誤差的方法 600
24.6 特別的數 606
24.7 本章小結 608
第 25章 隨書類庫概要 609
25.1 類庫中的類 .610
25.2 啟動設定 611
25.3 Framework 模塊 613
25.4 WindowCreator 模塊 614
25.5 FileIO 模塊 614
25.6 Base 模塊 615
25.7 Math 模塊 616
25.8 Threading 模塊 618
25.9 Input 模塊 .620
25.10 Sound 模塊 620
25.11 PseudoXml 模塊 621
25.12 Graphics 模塊 621
25.13 Scene 模塊 628
25.14 抗鋸齒處理 630
25.15 將《機甲大戰》改用最終版類庫實現 631
25.16 X 文件 .633
25.17 本章小結 634
第 26章 bug 的應對方法 .635
26.1 防火與滅火 .636
26.2 bug 的種類 .636
26.3 bug 的預防 .641
26.4 bug 的處理 .654
26.5 《機甲大戰》的處理 656
26.6 補充內容:如何檢測內存溢出 657
26.7 本章小結 660
第 27章 進階方向 .662
27.1 應該學習什麼 663
27.2 工具開發 664
27.3 AI 667
27.4 網絡 .667
27.5 shader 668
27.6 參考文獻 669
27.7 一些期待的書 672
後記 .675
致謝 .676

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 1034
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區