本書面向數(shù)字媒體藝術專業(yè)、游戲藝術設計專業(yè)的本科生及藝術類對游戲設計感興趣的學生,旨在為其提供游戲開發(fā)相關的基礎知識與必要技能。全書以4個具有代表性的案例為切入點,前半部分以Flash為工具分析游戲程序設計的必要知識;后半部分以Unity為工具分析游戲引擎的操控要點,與專門針對程序設計的教材不同的是,本教材涉及內(nèi)容相對廣泛,也符合藝術類學生學習游戲開發(fā)的特點,重點并非掌握游戲開發(fā)的核心技術,而是通過對技術的了解掌握在工具輔助下的開發(fā)流程,進而更好地與開發(fā)人員配合完成開發(fā)項目,再進一步在工具的幫助下獨立完成開發(fā)項目。全書在上述內(nèi)容講解之余,亦投入相當篇幅分析具有前沿應用的增強現(xiàn)實與體感游戲,并就產(chǎn)業(yè)特點同樣以一章的篇幅分析跨平臺游戲開發(fā)與項目管理。
本書面向藝術類的游戲設計專業(yè)(方向)學生,以較易理解與操作的案例化教學方式,將游戲程序設計與引擎應用的知識點融入其中。在分析方法的同時,舉一反三,同時引入計算機思維的內(nèi)容。旨在讓讀者在理解游戲開發(fā)技術的同時,為游戲策劃、游戲TA(技術美工)、游戲開發(fā)技術等職位建立知識儲備,為后續(xù)更深入地理解游戲開發(fā)流程與技術打下基礎。
序《計算機藝術設計規(guī)劃教材》是在教育部高等學校文科計算機基礎教學指導分委員會組織下完成的教育部大學計算機課程改革項目·計算機藝術設計課程與教材創(chuàng)新研究的成果,涵蓋了大學計算機基礎、信息與交互設計、互動媒體藝術、數(shù)字游戲設計、計算機網(wǎng)頁設計、計算機動畫應用與開發(fā)等內(nèi)容。本套教材由清華大學美術學院牽頭,國內(nèi)多所在本領域具有廣泛影響力的綜合性院校和藝術院校的相關專業(yè)教師參與,目的是通過教材創(chuàng)新改革引導學生利用計算思維,發(fā)現(xiàn)并善于借助計算機的優(yōu)勢,科學運用計算機技術,培養(yǎng)學生基于計算思維優(yōu)化創(chuàng)新、應用設計的綜合能力,以適應當今時代的發(fā)展和需求。在計算機技術應用目的、層次、范圍不斷擴延和提升的今天,其學科滲透與產(chǎn)業(yè)滲透越來越明顯,計算機技術也正從一項或是一個系列性的技術技能,升蛻為一種思維模式,并進而深刻影響著人們分析與解決問題的角度和方式。換言之,計算思維已成為當今藝術設計領域從業(yè)人員不可或缺的素質(zhì)和能力。尤其是其與藝術思維的互補和互動,彰顯出鮮明的創(chuàng)新驅動性和廣闊的發(fā)展前景。因此,在新的趨勢下通過教材的改革創(chuàng)新將計算思維引入課程和訓練環(huán)節(jié),對推動計算機教學的改革與研究,具有積極的現(xiàn)實意義。隨著藝術設計人才培養(yǎng)改革的深入,如何構建以計算思維培養(yǎng)為導向的課程體系,探討計算思維方式培養(yǎng)與應用的教學模式,提升學生多元化思維的能力,已成為時代的重要命題。本系列教材的編寫,體現(xiàn)了各編著者多年來在此領域的努力和經(jīng)驗,反映了他們長期以來對計算機教學理論與實踐探索總結的成果,具有較強的針對性和問題意識。教材內(nèi)容力求在理論層面,從以計算思維為基礎、與藝術思維相結合的角度,形成對計算機課程和知識結構、體系的務實探討,從而有利于學生多元化思維的建立,以適應時代與社會、行業(yè)與職業(yè)的發(fā)展需求。相信通過本系列教材的出版發(fā)行,將進一步引發(fā)藝術設計領域同仁對計算思維及計算思維模式與應用技術的關注和重視,推動計算機教學改革與課程建設的深層次嘗試和探究。是為序。
清華大學美術學院何潔楊靜2016年12月
前言游戲是一門藝術,也是一門技術,正是這樣的交叉學科所具有的獨特魅力,使其不僅在商業(yè)上獲得成功,也在當代藝術中倍顯光彩。游戲及由游戲所衍生的模擬化數(shù)字互動形式,正以更快的速度進入大眾視野,可以預見在不遠的將來,以游戲形式呈現(xiàn)的娛樂、學習、社交、生活等將如同當前的電子設備一般牢牢地滲透我們的世界,并在其形態(tài)與功能上不斷推陳出新,以更貼近我們需求的方式無所不在。游戲產(chǎn)業(yè)的發(fā)展之迅速,是偶然更是必然。自2000年開始的網(wǎng)絡游戲繁榮,是互聯(lián)網(wǎng)普及與文化消費貧乏的必然; 2006年網(wǎng)頁游戲興起,是社交媒體迅速發(fā)展、網(wǎng)絡帶寬提速與瀏覽器性能提升的必然;2008年開始的手機游戲大潮是以蘋果為首的高配置智能手機普及的必然;手機游戲大有替代網(wǎng)絡游戲的趨勢也是手機的高使用頻度及其顯示、計算等性能提升的必然;而自2009年開始的網(wǎng)絡游戲衰退,則是在網(wǎng)頁游戲、手機游戲普及與文化消費觀念回歸的大環(huán)境下產(chǎn)生的必然。在上述發(fā)展過程中,國內(nèi)的產(chǎn)業(yè)形態(tài)也在發(fā)生著不斷的變化。從代理到買入再到合作研發(fā),從外包制作到自主研發(fā)以及定制開發(fā),游戲產(chǎn)業(yè)及游戲從業(yè)者在摸索中前進。從最初就已被證明這是一條寬廣的大道,在經(jīng)歷過幾次大互通后,這早已不再僅僅是一條大道,而是廣泛散開的路網(wǎng)。這個產(chǎn)業(yè)的人才向來都是缺乏的,前期外包制作的時候缺乏美術人才,當前自主研發(fā)的時候缺乏技術人才與策劃人才。本書作為游戲開發(fā)技術的入門教材,適合游戲專業(yè)二、三年級同學閱讀,或是其他專業(yè)有興趣的同學在具備基本程序基礎后閱讀。在網(wǎng)絡如此發(fā)達的今天,書作為知識與經(jīng)驗分享的陣地其存在價值仍是不容置疑的。書更多地承擔的是知識的牽引與思維的發(fā)散,正基于此,我們將內(nèi)容壓縮,教材做薄,以期在簡化閱讀背后引出更多的思考。受限于個人能力,在本教材成稿后仍存有很多遺憾,煩請各位讀者指正。本教材的編寫過程中,有幸得到我的兩名學生包洋洋與謝亞男的傾力協(xié)助,在此表示誠摯的感謝。書中使用的案例由畢時、顏亞威與崔容峰制作,在此一并表示誠摯的謝意。
嚴寶平2015年11月
嚴寶平,南京藝術學院傳媒學院游戲藝術設計教研室主任,先后畢業(yè)于南京師范大學與南京大學。中國圖象圖形學會數(shù)碼藝術專業(yè)委員會委員,主攻游戲程序設計、游戲引擎設計、數(shù)字媒體項目管理方向。出版教材《數(shù)字游戲藝術概論》,獲江蘇省高等學校精品教材。發(fā)表論文《嚴肅游戲與游戲化學習》、《游戲項目開發(fā)現(xiàn)狀分析》、《數(shù)字媒體創(chuàng)作中的軟件工程方法引入》、《基于移動終端的嚴肅游戲展望》等多篇。主持校級重點課題《游戲項目開發(fā)的資源配置》及省級課題《嚴肅游戲的社會作用機制研究》。
目錄
第1章游戲程序設計概述1
1.1游戲開發(fā)的進化1
1.1.1數(shù)字游戲產(chǎn)生前1
1.1.2數(shù)字游戲的產(chǎn)生2
1.1.3復雜的硬件促生豐富的游戲內(nèi)容3
1.2編程語言與腳本語言4
1.2.1編程語言與腳本語言的區(qū)別4
1.2.2主要的編程語言與腳本語言5
1.3游戲基本類型7
1.3.1從數(shù)字游戲的介質(zhì)中區(qū)分游戲類型7
1.3.2從數(shù)字游戲的內(nèi)容中區(qū)分游戲類型8
1.4游戲中的常見功能13
1.4.1場景的動態(tài)加載13
1.4.2角色動作系統(tǒng)管理及驅動14
1.4.3自動尋路系統(tǒng)15
1.4.4資源的回收與優(yōu)化15
1.4.5回合制戰(zhàn)斗系統(tǒng)16
1.4.6塔防系統(tǒng)中的數(shù)據(jù)管理16
小結18
第2章Flash游戲開發(fā)基礎19
2.1Flash游戲開發(fā)歷程19
2.1.1Flash的誕生與早期的發(fā)展19
2.1.2Flash在游戲設計領域的起步19
2.1.3Flash在社交網(wǎng)頁游戲中的主導地位建立20
2.2Flash基本要素21
2.2.1新版本Flash CC的特征內(nèi)容21
2.2.2Flash基本概念21
2.3ActionScript腳本25
2.4程序設計的必要概念26
2.4.1變量、常量及數(shù)據(jù)類型27
2.4.2變量作用域31
2.4.3函數(shù)、形參、實參32
2.5程序的基本結構33
2.5.1順序結構33
2.5.2選擇結構33
2.5.3循環(huán)結構35
2.6事件36
2.6.1Event事件類型37
2.6.2MouseEvent鼠標事件類型37
2.6.3KeyboardEvent鍵盤事件類型38
2.6.4TimerEvent計時器事件類型38
2.7游戲中的元素39
2.7.1美術素材39
2.7.2音頻素材40
2.7.3視頻素材40
小結41
目錄游戲程序設計與引擎第3章記憶雙消游戲實例42
3.1游戲策劃中的功能設計42
3.1.1消除類游戲簡述42
3.1.2本案例的功能計劃43
3.2場景元素的組織與動態(tài)生成44
3.2.1游戲的開始界面44
3.2.2游戲的主運行界面46
3.3游戲控制的實現(xiàn)52
3.3.1單擊的控制52
3.3.2消除的實現(xiàn)53
小結55
第4章飛行射擊類游戲實例56
4.1游戲策劃中的平衡性設計56
4.2飛行射擊游戲功能分析56
4.2.1飛行射擊游戲的參考56
4.2.2飛行射擊游戲功能分析58
4.3戰(zhàn)斗場景的控制59
4.4戰(zhàn)斗系統(tǒng)與資源回收64
4.4.1敵方飛機的不斷出現(xiàn)與攻擊64
4.4.2敵我雙方子彈的功能實現(xiàn)65
4.5動態(tài)表現(xiàn)與游戲特效68
小結69
第5章游戲引擎概述70
5.1游戲引擎的基本概念70
5.2游戲引擎的功能模塊72
5.3主流游戲引擎分析73
5.3.1Unreal虛幻引擎74
5.3.2CryEngine76
小結79
第6章Unity開發(fā)入門80
6.1Unity介紹80
6.1.1使用Unity開發(fā)的游戲80
6.1.2Unity游戲引擎的發(fā)展歷程83
6.1.3Unity 5及其技術優(yōu)勢83
6.2安裝與運行84
6.2.1Unity的安裝84
6.2.2Unity的激活87
6.2.3樣例工程分析90
6.2.4工程文件的新建與維護93
6.3Assets Store94
6.4C#腳本95
小結105
第7章打地鼠游戲實例106
7.1游戲對象與地形106
7.1.1游戲對象的類型106
7.1.2Terrain地形109
7.2游戲的視角115
7.2.1第一人稱視角游戲115
7.2.2第二人稱視角游戲116
7.2.3第三人稱視角游戲116
7.3使用2D ToolKit插件包構建游戲場景117
7.3.12D ToolKit概述117
7.3.22D ToolKit基本使用117
7.3.3打地鼠場景構建119
7.4地鼠的動態(tài)生成與受控121
小結122
第8章投射類游戲實例123
8.1Unity中的物理系統(tǒng)123
8.1.1重力與摩擦力系統(tǒng)123
8.1.2物理材質(zhì)系統(tǒng)125
8.1.3碰撞檢測128
8.2游戲功能計劃與開發(fā)周期預算130
8.2.1游戲的功能計劃131
8.2.2游戲的功能點分析及周期預算131
8.2.3開發(fā)流程控制133
8.3主體功能設計135
8.3.1飛鏢的投射及控制135
8.3.2飛鏢的擊中與稻草人控制137
小結138
第9章增強現(xiàn)實與獨立游戲139
9.1增強現(xiàn)實139
9.1.1增強現(xiàn)實的產(chǎn)生139
9.1.2增強現(xiàn)實應用的領域140
9.2基于高通Vuforia SDK的AR實現(xiàn)142
9.2.1關于高通公司及其Vuforia142
9.2.2與Unity配合的增強現(xiàn)實開發(fā)142
9.3基于微軟Kinect的體感游戲開發(fā)146
9.3.1微軟體感硬件Kinect146
9.3.2Unity和Kinect交互的環(huán)境配置147
9.3.3用于Kinect開發(fā)的包中包含的資源147
9.3.4在工程中使用KinectWrapperPackage包148
9.4獨立游戲與實驗游戲150
9.4.1獨立游戲代表作: 陳星漢《旅程》150
9.4.2獨立游戲代表作《機械迷城》151
小結153
第10章跨平臺游戲開發(fā)154
10.1跨平臺趨勢154
10.1.1跨平臺前期的障礙154
10.1.2跨平臺發(fā)展的契機154
10.2網(wǎng)頁游戲平臺及其特點156
10.3手機游戲平臺及其特點158
10.4電視游戲平臺及其特點160
小結161
參考文獻162