關(guān)于我們
書單推薦
新書推薦
|
游戲設(shè)計、原型與開發(fā)
游戲設(shè)計、原型制作、開發(fā),這三方面的技術(shù)整合到一本書中,是很多專業(yè)游戲開發(fā)者的福音。這本書完全集成了游戲設(shè)計和計算機編程方面有價值的關(guān)鍵內(nèi)容。作為跨平臺的游戲開發(fā)的頂級游戲引擎,Unity可用于開發(fā)一個支持Windows,OS X和Linux的應(yīng)用程序,適用于網(wǎng)頁和所有最流行的移動平臺。而C則是一個優(yōu)秀的編程環(huán)境,是專業(yè)游戲開發(fā)者強大的工具。如果你想掌握有關(guān)游戲開發(fā)與制作的高端技能,你需要具備很強的開發(fā)技能和豐富的實踐經(jīng)驗,沒有捷徑,但是,這本書可以幫助你實現(xiàn)愿望。
歡迎閱讀本書。筆者有多年游戲設(shè)計方面的經(jīng)驗,并在多所大學(xué)擔(dān)任過游戲設(shè)計課程的教授,其中包括南加州大學(xué)的互動媒體和游戲?qū)I(yè)、密歇根大學(xué)安娜堡分校的電氣工程與計算機科學(xué)專業(yè)等,本書便是基于本人多年的專業(yè)經(jīng)驗編寫而成的。
本前言主要介紹本書寫作的目的、內(nèi)容以及本書的使用方法。 本書的寫作目的 本書的寫作目的非常明確:提供讀者成為成功游戲設(shè)計師和原型設(shè)計師所需要的工具和知識,我盡可能地將所有的相關(guān)技能和知識都納入了本書。與其他教程類的書籍不同的是,本書結(jié)合了游戲設(shè)計的原則與數(shù)字開發(fā)(也就是計算機編程)內(nèi)容,并將兩者融入互動原型中。隨著性能先進(jìn)同時又簡便易用的游戲開發(fā)引擎的出現(xiàn)(比如Unity),原型構(gòu)建正變得前所未有的簡單。而且,學(xué)會原型開發(fā)也有助于你成為一名更優(yōu)秀的游戲設(shè)計師。 第Ⅰ部分:游戲設(shè)計和紙面原型 本書的第Ⅰ部分介紹了游戲設(shè)計的不同理論和分析框架,這些內(nèi)容在早年出版的一些書籍里均有涉及。本部分介紹了一種將這些理論結(jié)合并拓展延伸的方法——四元分層法。四元分層法探究了與互動體驗設(shè)計相關(guān)的決策內(nèi)容。本部分同時含納了不同游戲設(shè)計原則的挑戰(zhàn)難度,闡述了紙面原型的設(shè)計過程、游戲測試和迭代設(shè)計。這些具體的信息和知識將有助于讀者成為合格的設(shè)計師。 第Ⅱ部分:數(shù)字原型 本書的第Ⅱ部分介紹了編程的內(nèi)容。該部分的編寫基于我作為教授多年為零基礎(chǔ)的學(xué)生授課的經(jīng)驗,我在課堂上也使用這些內(nèi)容教導(dǎo)學(xué)生如何利用數(shù)字編程表達(dá)自己游戲設(shè)計的理念。如果你此前沒有學(xué)過任何編程或開發(fā)的相關(guān)知識,也沒有任何經(jīng)驗的話,那么本書第Ⅱ部分的內(nèi)容就是為你量身定做的。如果你此前有過一定的編程經(jīng)驗的話,那么你也可以學(xué)到幾個編程的小竅門,了解到一些不同的編程方法。 第Ⅲ部分:游戲原型實例和教程 本書的第Ⅲ部分圍繞多種迥異的原型教程展開,你能學(xué)習(xí)到不同類型游戲的開發(fā)方法。該部分內(nèi)容的主要目的是:通過展示不同類型游戲的開發(fā)方式,借此展現(xiàn)開發(fā)游戲原型的最佳辦法,并且這些知識將為你將來的工作打下良好的基礎(chǔ)。市場上其他圖書的教程多數(shù)只介紹一種類型的教程,篇幅長達(dá)上百頁。相比之下,本書的教程種類繁多,短小精悍。雖然沒有那些書籍的單個教程內(nèi)容詳盡,但是我認(rèn)為學(xué)習(xí)不同類型的教程更有助于讀者將來自己準(zhǔn)備項目開發(fā)。 第Ⅳ部分:附錄 本書包含了一些很重要的附錄內(nèi)容,值得在這里提一下。我將書中多次提及的信息,以及我認(rèn)為讀者閱讀后有可能想要再次查閱的內(nèi)容放在了附錄內(nèi),因此本書的附錄并不是通篇重復(fù)的內(nèi)容,也不需要讀者翻閱不同章節(jié)尋找。附錄A是運用Unity創(chuàng)建游戲項目的步驟。附錄B“有用的概念”是篇幅最長的附錄,雖然該附錄的名字十分平庸,但是我認(rèn)為你以后會經(jīng)常來查閱這部分的知識!坝杏玫母拍睢崩锛狭宋覀人在游戲原型開發(fā)上經(jīng)常使用的技術(shù)和策略。附錄C囊括了所有有用的網(wǎng)站參考鏈接。在互聯(lián)網(wǎng)上想要找到自己需要的信息總是很難,本附錄列出的網(wǎng)站則是我經(jīng)常使用的。 數(shù)字原型:Unity 本書提到的所有數(shù)字游戲?qū)嵗谟螒蛞鎁nity和C#語言。我在講授數(shù)字游戲開發(fā)和互動體驗課程上有十多年的經(jīng)驗,在我看來,目前為止Unity是學(xué)習(xí)游戲開發(fā)的最佳工具,C#語言則最適合原型設(shè)計師學(xué)習(xí)。雖然現(xiàn)在也有一些開發(fā)工具不需要使用者具備任何編程技術(shù)(比如GameMaker和GameSalad),但是Unity的資源包更靈活多變,并且基本上都是免費的(Unity的免費版本包含付費版本的大多數(shù)內(nèi)容,本書通篇用到的Unity也都是免費版本的)。如果你真的想學(xué)習(xí)游戲編程,那么Unity是你的最佳選擇。 同樣,有一些編程語言要比C#語言更容易使用。過去我教過學(xué)生ActionScript和JavaScript,但這么長時間以來C#的靈活性和強大的功能一直讓我印象深刻。學(xué)習(xí)C#不僅是學(xué)習(xí)簡單的編程,更是學(xué)習(xí)編程的方法。JavaScript對使用者在編程時的嚴(yán)謹(jǐn)性要求不高,可我發(fā)現(xiàn)這實際上會減慢開發(fā)的速度。C#在這方面則要嚴(yán)格得多(通過強類型變量等內(nèi)容),這不僅有助于使用者成為更出色的程序員,同時也會提升編程速度(比如強類型提供代碼自動完成的提示,讓使用者更快速、準(zhǔn)確的編程)。 本書面向的受眾群體 市面上有很多關(guān)于游戲設(shè)計書籍,也有很多關(guān)于編程的圖書。本書的宗旨就是填補游戲設(shè)計和編程之間的缺口,將兩者聯(lián)系起來。隨著像Unity的游戲開發(fā)技術(shù)趨于成熟,游戲設(shè)計師把自己的想法轉(zhuǎn)換為數(shù)字原型就變得極為重要。本書能幫助你: 如果你有興趣致力于游戲設(shè)計領(lǐng)域,但是從未學(xué)過編程,那么本書是你的最佳選擇。第Ⅰ部分介紹了幾種不同的游戲設(shè)計理論,以及探索設(shè)計理念的辦法。第Ⅱ部分教授零基礎(chǔ)讀者學(xué)習(xí)編程,了解面向?qū)ο蟮念愺w系。自從我擔(dān)任大學(xué)教授以來,我的課程主要都是教授沒有編程學(xué)習(xí)背景的學(xué)生學(xué)習(xí)游戲編程。我將自己的所有教學(xué)經(jīng)驗提煉濃縮至第Ⅱ部分內(nèi)容中。第Ⅲ部分闡述了不同游戲類型的八種游戲原型開發(fā)方法。每一種方法都能快速地把概念轉(zhuǎn)變成數(shù)字原型。第Ⅳ部分的附錄列舉了游戲開發(fā)和編程的概念,提供了擴(kuò)展學(xué)習(xí)的資源。附錄B“有用的概念”里有很多深入探究的內(nèi)容,接下來的很多年里你也會經(jīng)常用到這部分內(nèi)容。 如果你有過編程經(jīng)驗,同時對游戲設(shè)計感興趣,那么本書的第Ⅰ部分和第Ⅲ部分對你最有用。第Ⅰ部分介紹了不同的游戲設(shè)計理論和探索設(shè)計理念的辦法。第二部分介紹了C#語言,以及如何在Unity環(huán)境中運用C#,你可以跳過這部分內(nèi)容。如果你熟悉其他編程語言,那么你就會發(fā)現(xiàn)C#和C++很相似,同時帶有Java的一些高級功能。第Ⅲ部分闡述了不同游戲類型的八種游戲原型開發(fā)方法。用Unity開發(fā)游戲和用其他游戲引擎開發(fā)截然不同,因為許多元素都是在編程外進(jìn)行設(shè)計的。本書中舉出的每一種原型實例都最適合用在Unity上,并且開發(fā)速度都很快。你也應(yīng)該仔細(xì)閱讀附錄B,該附錄含納了不同開發(fā)概念的詳細(xì)信息和內(nèi)容,值得你翻閱查看。
Jeremy Gibson在密歇根大學(xué)安娜堡分校的電氣工程與計算機科學(xué)專業(yè)任教,講授計算機游戲設(shè)計課程,同時也是 ExNinja Interactive有限責(zé)任公司的創(chuàng)始人之一。 2009年至 2013年間,擔(dān)任南加州大學(xué)電影藝術(shù)學(xué)院的互動媒體及游戲?qū)I(yè)的助理教授,講授游戲設(shè)計和原型開發(fā)課程。在他任職期間,該學(xué)院的游戲設(shè)計課程在北美地區(qū)首屈一指。Jeremy同時擔(dān)任 IndieCade獨立游戲展會的教育和發(fā)展主席,負(fù)責(zé) IndieX-change和 GameU峰會。自 2009年開始,每年在游戲開發(fā)者大會上發(fā)表演講。
Jeremy于 1999年取得了得克薩斯大學(xué)奧斯汀分校的廣播、電視、電影專業(yè)的理學(xué)學(xué)士學(xué)位,于 2007年取得了卡內(nèi)基梅隆大學(xué)娛樂技術(shù)專業(yè)的碩士學(xué)位。 Jeremy曾在 Human Code和 frog design公司擔(dān)任程序員和原型設(shè)計師,曾在 Great Northern Way Campus(溫哥華,BC)、得克薩斯州立大學(xué)、匹茲堡藝術(shù)學(xué)院、奧斯汀社區(qū)學(xué)院、得克薩斯大學(xué)奧斯汀分校任教,并曾在迪士尼、Maxis、Electronic Arts和 Pogo.com等公司任職。在攻讀研究生期間,Jeremy的團(tuán)隊開發(fā)了游戲產(chǎn)品 Skyrates,榮獲 2008年獨立游戲峰會的 Silver Gleemax獎項。同時 Jeremy也是*一位在哥斯達(dá)黎加講授游戲設(shè)計課程的教授。
第I部分 游戲設(shè)計和紙質(zhì)原型
第1章 像設(shè)計師一樣思考 2 1.1 你是一名游戲設(shè)計師 2 1.2 Bartok:游戲練習(xí) 2 1.3 游戲的定義 7 1.4 小結(jié) 12 第2章 游戲分析框架 14 2.1 游戲?qū)W的常用框架 14 2.2 MDA:機制,動態(tài)和美學(xué) 14 2.3 規(guī)則,戲劇和動態(tài)元素 17 2.4 四元法 19 2.5 小結(jié) 21 第3章 分層四元法 22 3.1 內(nèi)嵌層 22 3.2 動態(tài)層 23 3.3 文化層 24 3.4 設(shè)計師的責(zé)任 25 3.5 小結(jié) 25 第4章 內(nèi)嵌層 27 4.1 內(nèi)嵌機制 27 4.2 美學(xué)內(nèi)嵌 31 4.3 敘事內(nèi)嵌 33 4.4 技術(shù)內(nèi)嵌 39 4.5 小結(jié) 40 第5章 動態(tài)層 41 5.1 玩家的角色 41 5.2 涌現(xiàn) 42 5.3 動態(tài)機制 42 5.4 動態(tài)美學(xué) 46 5.5 動態(tài)敘事 50 5.6 涌現(xiàn)敘事 51 5.7 動態(tài)技術(shù) 52 5.8 小結(jié) 52 第6章 文化層 53 6.1 游戲之外 53 6.2 文化機制 54 6.3 美學(xué)文化 55 6.4 敘事文化 55 6.5 技術(shù)文化 56 6.6 授權(quán)的跨媒體不屬于文化層 57 6.7 游戲的文化影響 57 6.8 小結(jié) 58 第7章 像一個設(shè)計師一樣工作 59 7.1 迭代設(shè)計 59 7.2 創(chuàng)新 65 7.3 頭腦風(fēng)暴與構(gòu)思 66 7.4 改變你的想法 68 7.5 規(guī)劃作品的范圍大小 70 7.6 小結(jié) 71 第8章 設(shè)計目標(biāo) 72 8.1 設(shè)計目標(biāo):一個不完整的清單 72 8.2 以設(shè)計為中心的目標(biāo) 73 8.3 以玩家為中心的目標(biāo) 75 8.4 小結(jié) 87 第9章 紙面原型 88 9.1 紙面原型的優(yōu)勢 88 9.2 紙面原型工具 89 9.3 一個紙面原型的例子 90 9.4 紙面原型的優(yōu)點 97 9.5 紙面原型的缺點 98 9.6 小結(jié) 98 第10章 游戲測試 100 10.1 為什么要測試游戲 100 10.2 成為出色的試玩者 101 10.3 試玩者圈子 101 10.4 測試方法 103 10.5 其他重要的測試辦法 108 10.6 小結(jié) 109 第11章 數(shù)學(xué)和游戲平衡 110 11.1 游戲平衡的意義 110 11.2 安裝Apache OpenOffice Calc 110 11.3 用Calc檢查骰子 111 11.4 概率 118 11.5 桌游中的亂數(shù)產(chǎn)生技術(shù) 121 11.6 加權(quán)分布 123 11.7 排列 125 11.8 正負(fù)反饋 126 11.9 使用Calc調(diào)整武器平衡 127 11.10 小結(jié) 132 第12章 謎題設(shè)計 133 12.1 謎題無處不在 133 12.2 Scott Kim與謎題設(shè)計 133 12.3 動作解謎游戲的幾種類型 139 12.4 小結(jié) 140 第13章 引導(dǎo)玩家 142 13.1 直接指引 142 13.2 間接指引 144 13.3 介紹新技能和新概念 149 13.4 小結(jié) 151 第14章 數(shù)字游戲產(chǎn)業(yè) 152 14.1 關(guān)于游戲產(chǎn)業(yè) 152 14.2 游戲教育 155 14.3 走進(jìn)行業(yè)中去 157 14.4 等不及開始做游戲了 160 14.5 小結(jié) 161 第II部分 數(shù)字原型 第15章 數(shù)字化系統(tǒng)中的思維 164 15.1 棋類游戲中的系統(tǒng)思維 164 15.2 簡單命令練習(xí) 165 15.3 游戲分析:《拾蘋果》(Apple Picker) 167 15.4 小結(jié) 171 第16章 Unity開發(fā)環(huán)境簡介 172 16.1 下載Unity軟件 172 16.2 開發(fā)環(huán)境簡介 173 16.3 首次運行Unity軟件 176 16.4 設(shè)置Unity的窗口布局 181 16.5 熟悉Unity界面 184 16.6 小結(jié) 185 第17章 C#編程語言簡介 186 17.1 理解C#的特性 186 17.2 閱讀和理解C#語法 190 17.3 小結(jié) 193 第18章 HELLO WORLD:你的首個程序 194 18.1 創(chuàng)建新項目 194 18.2 新建C#腳本 196 18.3 讓事情更有趣 200 18.4 小結(jié) 208 第19章 變量和組件 209 19.1 變量 209 19.2 C#中的強類型變量 209 19.3 重要的C#變量類型 210 19.4 變量的作用域 213 19.5 命名慣例 213 19.6 Unity中的重要變量類型 215 19.7 Unity游戲?qū)ο蠛徒M件 220 19.8 小結(jié) 222 第20章 布爾運算和比較運算符 223 20.1 布爾值 223 20.2 比較運算符 226 20.3 條件語句 229 20.4 小結(jié) 234 第21章 循環(huán)語句 235 21.1 循環(huán)語句的種類 235 21.2 創(chuàng)建項目 235 21.3 while循環(huán) 236 21.4 死循環(huán)的危害 236 21.5 更實用的while循環(huán) 237 21.6 do……while循環(huán) 238 21.7 for循環(huán) 239 21.8 foreach循環(huán) 240 21.9 循環(huán)中的跳轉(zhuǎn)語句 241 21.10 小結(jié) 243 第22章 List和數(shù)組 244 22.1 C#中的集合 244 22.2 List 245 22.3 數(shù)組 249 22.4 多維數(shù)組 252 22.5 交錯數(shù)組 255 22.6 應(yīng)該使用數(shù)組還是List 259 22.7 小結(jié) 259 第23章 函數(shù)與參數(shù) 263 23.1 創(chuàng)建函數(shù)示例的項目 263 23.2 函數(shù)的定義 263 23.3 函數(shù)的形式參數(shù)和實際參數(shù) 266 23.4 函數(shù)的返回值 267 23.5 使用合適的函數(shù)名稱 269 23.6 什么情況下應(yīng)該使用函數(shù) 269 23.7 函數(shù)重載 270 23.8 可選參數(shù) 271 23.9 params關(guān)鍵字 272 23.10 遞歸函數(shù) 273 23.11 小結(jié) 274 第24章 代碼調(diào)試 276 24.1 如何開始調(diào)試 276 24.2 綁定或移除腳本時出現(xiàn)的錯誤 278 24.3 使用調(diào)試器逐語句運行代碼 281 24.5 小結(jié) 287 第25章 類 289 25.1 理解類 289 25.2 創(chuàng)建Enemy類示例的項目 290 25.3 類的繼承 295 25.4 小結(jié) 298 第26章 面向?qū)ο笏季S 299 26.1 面向?qū)ο蟮谋扔?299 26.2 面向?qū)ο蟮腂oids實現(xiàn)方法 301 26.3 小結(jié) 310 第27章 敏捷思維 311 27.1 敏捷軟件開發(fā)宣言 311 27.2 Scrum方法論 312 27.3 小結(jié) 319 第III部分 游戲原型示例和教程 第28章 游戲原型1:《拾蘋果》 322 28.1 數(shù)字化原型的目的 322 28.2 準(zhǔn)備工作 323 28.3 開始工作:繪圖資源 323 28.4 編寫《拾蘋果》游戲原型的代碼 329 28.5 圖形用戶界面(GUI)和游戲管理 340 28.6 小結(jié) 346 第29章 游戲原型2:《爆破任務(wù)》 348 29.1 準(zhǔn)備工作:原型2 348 29.2 游戲原型概念 348 29.3 繪圖資源 349 29.4 編寫游戲原型的代碼 354 29.5 小結(jié) 380 第30章 游戲原型3:《太空射擊》 382 30.1 準(zhǔn)備工作:原型3 382 30.2 設(shè)置場景 384 30.3 創(chuàng)建主角飛船 385 30.4 添加敵機 397 30.5 隨機生成敵機 401 30.6 設(shè)置標(biāo)簽、圖層和物理規(guī)則 403 30.7 使敵機可以消滅主角飛船 405 30.8 重新開始游戲 409 30.9 射擊 410 30.10 添加升級道具 421 30.11 解決代碼中的競態(tài)條件 428 30.12 讓敵機可以掉落升級道具 430 30.13 為其他敵機編程 432 30.14 添加粒子效果和背景 444 30.15 小結(jié) 446 第31章 游戲原型4:《礦工接龍》 449 31.1 準(zhǔn)備工作:原型4 449 31.2 項目Build設(shè)置 450 31.3 將圖片導(dǎo)入為Sprite 451 31.4 用Sprite制作紙牌 453 31.5 《礦工接龍》游戲 469 31.6 在代碼中實現(xiàn)《礦工接龍》游戲 471 31.7 為游戲添加得分機制 489 31.8 總結(jié) 504 第32章 游戲原型5:Bartok 505 32.1 準(zhǔn)備工作:原型5 505 32.2 編譯設(shè)置 507 32.3 Bartok編程 508 32.4 小結(jié) 536 第33章 游戲原型6:Word Game 537 33.1 準(zhǔn)備工作:Word Game原型 537 33.2 關(guān)于Word Game 538 33.3 解析Word List 539 33.4 創(chuàng)建游戲 544 33.5 屏幕布局 549 33.6 添加交互 557 33.7 添加計分 561 33.8 添加動畫 564 33.9 添加色彩 567 33.10 小結(jié) 569 第34章 游戲原型7:QuickSnap 571 34.1 準(zhǔn)備工作:QuickSnap原型 571 34.2 構(gòu)建場景 572 34.3 游戲編程 579 34.4 小結(jié) 598 第35章 游戲原型8:Omega Mage 600 35.1 準(zhǔn)備工作:Omega Mage原型 600 35.2 構(gòu)建場景 602 35.3 法師角色 607 35.4 鼠標(biāo)交互 609 35.5 移動 613 35.6 物品欄和選擇道具 618 35.7 施展火場法術(shù) 625 35.8 切換房間 634 35.9 補充敵人 638 35.10 攻擊法師 646 35.11 抽象敵人接口 651 35.12 創(chuàng)建EnemyFactory 653 35.13 小結(jié) 657 第 IV 部分 附錄 附錄 A 項目創(chuàng)建標(biāo)準(zhǔn)流程 660 A.1 建立新項目 660 A.2 場景編碼就緒 662 附錄 B 實用概念 665 B.1 C#和 Unity 代碼概念 665 B.2 數(shù)學(xué)概念 684 B.3 插值 693 B.4 角色扮演游戲 706 B.5 用戶接口概念 707
你還可能感興趣
我要評論
|