本書的內容既適合對游戲開發感興趣的入門人士,也適合游戲開發的專業人員,書中講的不一定都是真理,但閱讀完本書一定會有所收獲。
由書名“游戲開發原則”可以看出本書是一本理論書。任何關于游戲開發的書都有可能是理論書!袄碚摗敝冈谥谱麟娔X游戲時所采用的一系列跨學科想法、概念、工作流實踐、提示和技巧,以及廣泛的知識。本書思考的話題涵蓋一系列學科,例如數學中的向量與矩陣,設計中的規劃要素與分鏡頭腳本設計,圖形與渲染中的頂點、網格與光照,等等?傊,本書希望簡潔廣泛的論述大多數游戲開發者需要知道的那些極其重要的核心理論知識。這種理論知識是開發者進行所有游戲開發工作的基礎。不管開發者采用什么特殊工具,例如3dsMax、C++、UDK、Unity、Photoshop或者其他工具,這些理論都能全面適用。游戲開發新手如何“專業”地上手開發,本書將他們所必須了解的基本知識與要點幾乎都涵蓋其中。基本上,它代表了開始學習游戲開發時,希望有人能告訴我的一切知識,如果能早點有這本書,當初筆者就不用學的如此艱難。
思考這本書主要是關于什么時,同樣值得討論的還有這本書絕不是什么的問題。
這不是一本教如何利用特殊工具或軟件快速生成電子游戲的全能手冊,也不是一本實踐教程來詳細介紹如何使用某個程序的每一步,例如UDK。也不包含需遵循或熟記的具體操作說明,例如“單擊此按鈕,完成X”或“單擊另一按鈕,完成Y”。開發軟件及特性隨著其版本的不同而會有增減變化,這本書則關注更抽象的概念,論述在過去十年里基本都保持不變的原則。這些概念隨時隨地扎根于開發者們大腦中,每天都能運用到每一個工具中。
當然,我們不能完全將實踐與理論割裂開,只干巴巴獨立地思考理論問題。當今游戲行業,通過利用特殊工具的具體實踐實例能不斷豐富完善理論概念。本書中用到的工具絕不是唯一的工具; 使用這些工具也只是為了說明正不斷被行業所討論的核心理論。因此,閱讀某個具體工具或者開發實例的時候,不應該完全只當它們是工具使用指南或新手指南。學習實例的關鍵在于,多思考如何將討論過的抽象概念更廣泛地運用于其他地方甚至所有地方。
在《游戲開發原理》這本書里,艾倫?索恩清晰地列出了大多數成功游戲開發者所倚賴的核心理論知識。這些知識包括相關理論概念、實際開發流程、經驗與技巧,以及開發優秀游戲的一般細節。本書各章都系統地介紹了游戲開發的重要概念與理論,包括游戲算法、紋理及材質、幾何學、拓撲學、聲、光、特效,等等。此外,本書還以圖解、實例分析和舉例說明的方式解答了讀者關于游戲開發的諸多基礎問題,所有解答都簡單明了,易于理解。讀完這本書,讀者將會深度理解和掌握游戲開發的核心理論和基本法則。
我國游戲行業細分產業中,網絡游戲和移動手機游戲市場增長迅速,移動手機游戲經歷了近兩年的集體爆發。根據IT行業投資銀行和分析機構DigiCapital預計,2017年全球移動游戲市場規模將達到330億美元,產業融合趨勢越發明顯,越來越多的電影、電視劇和電視綜藝節目被改編成游戲來獲取更大的市場價值。
從游戲類型來講,休閑游戲、卡牌游戲、動作游戲及策略游戲等各種類型產品都有相當不錯的數據表現。
從產品的開發技術來講,絕大多數重度游戲采用3D模式進行開發,但2D的游戲產品仍然會是市場主流。不論2D還是3D,其實游戲的核心不僅僅是技術,技術只是實現游戲的基礎,一名好的游戲開發者應該了解技術、美術、策劃和市場運營等游戲產品的各個環節。
無論何種游戲類型、何種技術實現,都離不開游戲開發的一些基本原理。本書正是闡述關于游戲開發的核心技術,包括游戲本身、游戲技術、游戲的運營和推廣等,這對于正在從事游戲開發和希望進入游戲開發行業的讀者來講都有實際的指導價值。通過本書的學習,可能會為一個項目的開發縮短周期。本書的知識內容也適用于電視游戲、PC游戲和移動游戲的開發。
本書的內容既適合對游戲開發感興趣的入門人士,也適合游戲開發的專業人員,書中講的不一定都是真理,但閱讀完本書一定會有所收獲。
本書書稿由李海濤、胡粵、王玉潔、吳詩夢和沈大海通過社交網絡朋友圈共同組建了翻譯小組,經過幾個月的努力將書稿翻譯完成,再次感謝大家,同時也要感謝清華大學出版社盛東亮編輯對翻譯小組的大力支持,以及于彬老師對書稿排版校對工作的支持。
由于譯者水平有限,書中翻譯難免有不妥之處,敬請讀者諒解。
譯者
2016年1月
艾倫·索恩(Alan Thorn) 作家,數學家,獨立的電子游戲開發者。他是Wax Lyrical Games游戲開發工作室的創始人,也是PC獲獎游戲Baron Wittard的締造者。艾倫·索恩曾受邀為很多大型的國際游戲公司工作,經常在歐洲各地的重要機構做游戲開發方向的演講。艾倫·索恩先后撰寫了七部圖書,代表作包括《自學游戲開發》(Teach Yourself Games Programming ) 、《游戲引擎:設計與執行》(Game Engine: Design and Implementation)和《UDK游戲開發》(UDK Game Development)。
第1章游戲與游戲設計
1.1游戲類型與平臺
1.1.1類型和子類型
1.1.2出品類型
1.1.3平臺
1.1.4圖形類型
1.1.5交付方式
1.1.6視角
1.2視頻游戲剖析
1.2.1引擎
1.2.2資產
1.2.3規則
1.3游戲開發階段
1.3.1基本設計與頭腦風暴
1.3.2原型設計
1.3.3完善設計
1.3.4引擎開發
1.3.5資產創建
1.3.6腳本制作
1.3.7測試與調試
1.3.8營銷與分銷
1.4游戲設計
1.4.1游戲設計目的
1.4.2游戲設計文檔
1.4.3游戲名稱、平臺和受眾
1.4.4總結與故事
1.4.5人物、設備和地點
1.5總結
第2章游戲軟件開發
2.1項目管理及其依據
2.2通過RAMS創建一個計劃
2.2.1可復用性
2.2.2抽象性
2.2.3模塊化
2.2.4簡單性
2.3開發方法
2.3.1瀑布模型: 線性開發
2.3.2瀑布模型: 優點和缺點
2.3.3敏捷模型: 迭代開發
2.3.4敏捷模型: 優點和缺點
2.3.5敏捷對比瀑布: 如何進行
2.4發布周期
2.4.1技術預覽版本
2.4.2預覽版本
2.4.3用戶測試版本
2.4.4候選發布版本
2.4.5最終版本
2.5總結
第3章游戲編程
3.1深度型程序開發
3.1.1編碼
3.1.2腳本
3.1.3可視化腳本
3.2開發游戲用不用引擎
3.3游戲開發范例
3.3.1面向對象
3.3.2深入了解面向對象
3.3.3面向部分設計方法論
3.3.4OO與CBD
3.4時間、事件和動作
3.4.1時間
3.4.2事件和動作
3.5錯誤、測試和調試
3.6總結
第4章游戲數學
4.1數字的語言
4.2坐標系
4.3坐標系基礎
4.4全局與局部坐標系
4.5位置、方位和尺寸
4.6變換
4.6.1位移
4.6.2旋轉
4.6.3縮放
4.6.4矩陣變換
4.7向量: 方向和位移
4.7.1維克多,什么是向量
4.7.2向量加法和乘法
4.7.3向量歸一化
4.7.4向量點積
4.8解決速度、距離和時間的問題
4.9總結
第5章圖形、像素和色彩
5.1像素: 圖形的最小單位
5.1.1分辨率
5.1.2屏幕寬高比
5.1.3分辨率與寬高比帶來的難題
5.1.4分辨率的差異
5.1.5寬高比的差異
5.1.6關于游戲像素的總結
5.2色彩: 圖片的品質
5.2.1RGB:顏色根本不存在
5.2.2色相、飽和度和色彩值: 色溫調節、陰影調節和色調調節
5.2.3位深度
5.2.4Alpha通道與遮罩
5.2.5圖片格式: 無損與有損
5.2.6伽馬與伽馬校正
5.2.7顏色混合: 顏色運算
5.2.8圖片重采樣
5.3矢量圖片: 矢量與柵格圖
5.4圖片紋理: 紋理與UV映射
5.5總結
第6章網格、操縱和動畫
6.1網格: 四個信息通道
6.2幾何通道
6.3UV映射通道
6.4操控通道
6.5動畫通道
6.6使用網格: 性能優化
6.6.1盡量少用多邊形
6.6.2優化拓撲
6.6.3減少UV映射接縫
6.6.4回收紋理空間
6.6.5特克塞爾密度
6.6.6一致的像素密度
6.6.7校準像素密度
6.6.8優化模型選擇和遮擋
6.6.9模塊化創建網格
6.6.10優化模塊化構建
6.6.11易擴展的模塊化構建
6.6.12減少動畫關鍵幀
6.7總結
第7章照明與補光
7.1陰影的組件
7.1.1形式:形狀、輪廓和結構
7.1.2材質與紋理
7.1.3照明
7.2照明: 直接與間接照明
7.2.1直接照明
7.2.2間接照明
7.2.3照明規則
7.3光源
7.4計算直接照明與間接照明強度
7.5光照繪圖: 通過紋理照明
7.6實時照明: 基于頂點與基于像素
7.7法向映射
7.8渲染方法: 正向與延遲
7.8.1正向渲染
7.8.2延遲渲染
7.9學習照明和渲染
7.10總結
第8章聲音與音樂
8.1聲音、音樂和音頻
8.1.1聲音
8.1.2音樂
8.1.3音頻
8.2文件格式及音頻工作流
8.3加載和碼流
8.3.1加載
8.3.2碼流
8.42D音頻對應3D音頻
8.4.12D聲音
8.4.23D聲音
8.5音頻技巧和訣竅
8.5.1謹防過度混合
8.5.2圖畫的替代品
8.5.3侵入的音樂
8.5.4語音和定位
8.6總結
第9章特殊效果和后期處理
9.1在游戲中創造特殊效果
9.2粒子系統
9.2.1粒子
9.2.2發射器
9.2.3行為
9.3粒子性質
9.3.1粒子規模
9.3.2粒子透明度
9.3.3粒子顏色
9.4粒子系統摘要
9.4.1最小化粒子系統
9.4.2所看非所得
9.4.3廢除不可見粒子
9.5手翻書紋理方法
9.6程序的幾何學
9.7帶狀軌跡
9.8后處理
9.8.1模糊
9.8.2景深
9.8.3泛光
9.8.4漸淡與漸暈
9.8.5染色效果
9.8.6動畫單幀陰影
9.8.7鏡頭閃光
9.9總結
第10章分銷、發布和營銷
10.1營銷
10.1.1新聞稿
10.1.2網站與博客
10.1.3試玩版游戲
10.1.4視頻與“病毒式傳播”
10.1.5Twitter、Facebook和微博
10.1.6定向橫幅廣告
10.1.7續作與系列
10.2營銷概述
10.3發布與分銷
10.3.1零售市場與數字市場
10.3.2DIY與發行商
10.3.3DIY數字分銷
10.3.4游戲門戶網站
10.3.5圍墻花園
10.3.6盜版與數字版權管理(DRM)
10.4總結
附錄A拓展內容