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