TOP
0
0
魅麗。花火原創小說66折起
遊戲編程設計算法與技巧(簡體書)
滿額折

遊戲編程設計算法與技巧(簡體書)

人民幣定價:89 元
定  價:NT$ 534 元
優惠價:87465
缺貨無法訂購
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

本書詳細綜述了應用在許多重要視頻遊戲程式設計中的演算法和技術。書中採用了一種獨立於平臺和結構的方法,能協助開發幾乎任何風格、語言和框架的遊戲,並展現2D和3D圖像、物理、人工智慧、相機等工作的基本技術。書中的每個概念都是用C#、Java或 C++程式師直觀明白的偽代碼闡述的,並且作者已經改進和證實過這些偽代碼。本書最後作者詳細分析了兩個完整的遊戲,清楚展現了前面章節講到的很多技術和演算法。

作者簡介

Sanjay Madhav 是南加利福尼亞大學的講師,在那裏他教授了幾門與遊戲編程相關的課程。而在全職加入南加利福尼亞大學之前,他作為程式師在許多公司工作過,包括Electronic Arts、Neverso 及Pandemic Studios。雖然他在很多系統上都有著豐富的開發經驗,但是他最感興趣的還是遊戲機制的開發。他所參與的遊戲包括《榮譽勳章:太平洋突襲》(Tony Hawk’s Project 8)、《指環王:征服》(Lord of the Rings: Conquest)和The Saboteur。
從2008 年開始,Sanjay 在南加利福尼亞大學兼職,當時他還是全職遊戲程式師當中的一員。在2009 年年末Pandemic Studios 關閉之後,他決定專注於教越來越重要的遊戲程式師。他的主要課程是面向本科生的遊戲編程課程,而且已經連續教了10 個學期。

名人/編輯推薦

1.本書全面介紹遊戲行業中會用到的演算法和技術,包括2D、3D圖形學,物理,人工智慧,攝像機等多個方面。
2.採用了獨特的與平臺架構無關的方法來展開開發,適用於任何遊戲、風格、語言、框架。
3.每個概念的展示都使用了偽代碼,並經過驗證,容易被程式師們理解。
4.本書最後以兩款完整遊戲作為總結,使用了很多書中介紹的演算法和技術,全部源代碼都可下載。
5.請回顧每一章課後習題,能鞏固所學,助你前進。

推薦序
當瀚陽讓我為他的譯作作序的時候,我還是有些吃驚的。我並非業界名人,雖然在遊戲行業摸爬滾打了十幾年,但並沒有多少建樹,為了配得上譯者所散發出的光芒,我多少也要發掘出自己的一些亮點。如果資歷也算亮點的話,我倒是有些的。1993 年我有了自己的第一台電腦,那時的電腦還處於386 的時代,硬碟不過200MB,記憶體不過4MB,用著5 英寸的軟盤機,光碟機還在萌芽狀態。當時我一心想做遊戲,玩著《Wolf3D》、《Doom》,仰望著id Soft的成就。2001 年我終於如願進入了遊戲行業,有幸趕上了西山居《月影傳說》的後期開發。之後在三大遊戲公司轉了一圈,如今沉浮於手機遊戲開發的大潮中。其間也曾參與了兩款3D引擎的早期開發工作,其中的成果已融合在兩三款早已上市的遊戲當中。我參與程度最深,也算稍微有點名氣的遊戲就是《鬥戰神》了。
我和瀚陽相識緣於我們現在共同參與的這個項目,我是項目的第一個用戶端程式師,瀚陽是第二個。當項目還只有我一個前臺程式師的時候,我一個人要面對十幾個美工產出的資源和四五個策劃提出的需求,真是壓力很大。瀚陽的加入仿佛給專案增加了第二台引擎,各種架構迅速完善起來,功能也越來越完整,專案順利度過了Demo 期,得以立項。瀚陽在遊戲開發方面涉獵廣泛,精通多種語言,做過端遊,寫過手遊,參與過3D 引擎開發。遊戲開發之外瀚陽也有著廣泛的興趣,他的博客就是自己搭建的,跑在租用的伺服器上,可以稱得上是全棧程式師。遊戲行業加班是出了名的,對於瀚陽能在繁忙的工作之餘抽出時間來翻譯這本書,我是十分佩服的,每一個程式師都不應該局限於自己所在的公司與工作,而應該在更廣闊的空間拓展自己的職業生涯。
最後回到本書。如果你想進入遊戲開發行業,或者對於遊戲開發你已經入門但還缺乏一個全面的瞭解,本書可以作為不錯的入門書籍。本書讀起來不會那麼累,能夠使你快速瞭解遊戲開發所涉及的眾多領域,建立一個較為全面的認識。在此之後你可以針對感興趣的方面購買學習更加深入的書籍。
騰訊互娛前臺程式技術指導
陳鵬

譯者序
我與本書的一些緣分
我自己是多年的玩家了。在中學時期就暗自下定決心,一定要做遊戲。於是不顧反對,大學選擇了遊戲專業,後來通過一套類似XNA 的框架進行開發,在學習的過程中一邊寫遊戲,一邊擴展框架。從最初的使用DirectX 繪製2D 精靈開發俄羅斯方塊,到寫3D 骨骼蒙皮動畫做3D 射擊遊戲,慢慢地學會了很多技術,比如AI、網路、物理、腳本等。這些知識是“成長”起來的,於是每學到一點新技術都可以往裏面塞,逐漸地形成了自己系統的理解。
雕爺有一篇文章說的好,臨摹是最好的學習方法。因為臨摹不僅需要你拆解分析物件作為輸入,還需要以自己的理解作為輸出。這種帶著主動思考的輸入/輸出,無形中就對臨摹對象有了深刻的理解,這不是走馬觀花那種被動的學習效率能比擬的。這種經過充分思考的練習,最能夠將知識“內化”,而只有站在前人的基礎之上,創新才會比較靠譜。在我看來,本書的內容,屬於手把手地對各種GamePlay 拆解,然後實現,讓知識一點一點地成長起來。更加難得的是,因為作者從業界轉向了教育界,所以本書不僅內容上系統全面,而且語言上簡單清晰,讓人易於理解。
興趣是最好的老師,GamePlay 不像作業系統、渲染引擎、物理引擎那麼“枯燥”,本書可以很輕鬆就讀完。初學者完全可以從GamePlay 入手,在XNA 框架上實現書中的內容,然後在深入的過程中補全遊戲開發中各個系統的知識。而有經驗者也可以從本書中補全對遊戲軟體的系統理解,比如一開始作者就闡明了遊戲程式的三要素:遊戲時間、遊戲物件、遊戲迴圈,還有一些有意思的訣竅,比如用xyzzy 口訣記住叉乘運算,也有一些案例分析——《魔獸世界》的UI 插件系統,以及工作中的教訓——《指環王》中音頻引擎的設置。
除此之外,本書還提供了專業方向上的參考資料,讓讀者在感興趣的話題上深入學習。每章都會提出關鍵問題並列出有深度的參考資料,這些資料大部分是行業經典,比如像《遊戲引擎架構》、Real-Time Rendering 這樣的神作當然沒有錯過。
遊戲行業是一個很有意思、充滿朝氣的行業,有很多真正熱愛遊戲的人。當然,同時有很多問題,但這何嘗不是機會呢?
劉瀚陽

目次

第1章遊戲編程概述1
遊戲編程的發展2
Atari時期(1977—1985年)2
NES和SNES時期(1985—1995年)3
PS和PS2時期(1995—2005年)3
Xbox360、PS3和Wii時期(2005—2013年)3
遊戲的未來4
遊戲迴圈4
傳統的遊戲迴圈4
多線程下的遊戲迴圈6
時間和遊戲8
真實時間和遊戲時間8
通過處理時間增量來表示遊戲邏輯8
遊戲對象10
遊戲對象的類型10
遊戲迴圈中的遊戲物件11
總結13
習題13
相關資料14
遊戲編程的發展14
遊戲迴圈14
遊戲對象14
第2章2D圖形15
2D渲染基礎16
CRT顯示器基礎16
圖元緩衝區和垂直同步17
精靈18
繪製精靈18
動畫精靈20
精靈表單23
滾屏24
單軸滾屏24
無限滾屏26
平行滾屏27
四向滾屏28
磚塊地圖29
簡單的磚塊地圖29
斜視等視角磚塊地圖31
總結32
習題32
相關資料33
Cocos2D33
SDL33
第3章遊戲中的線性代數34
向量35
加法36
減法37
長度、單位向量和正規化38
標量乘積39
點乘40
問題舉例:向量反射41
叉乘43
問題舉例:旋轉一個2D角色45
線性插值46
坐標系47
矩陣48
加法/減法48
標量乘法49
乘法49
逆矩陣50
轉置50
用矩陣變換3D向量51
總結52
習題52
相關資料53
第4章3D圖形54
基礎55
多邊形55
坐標系55
模型坐標系56
世界坐標系56
視角/攝像機坐標系60
投影坐標系62
光照與著色64
顏色64
頂點屬性65
光照67
Phong光照模型68
著色70
可見性71
再探畫家演算法72
深度緩衝區73
再探世界變換74
四元數75
3D遊戲物件的表示77
總結77
習題77
相關資料78
第5章遊戲輸入79
輸入設備80
數位輸入80
模擬輸入82
基於事件的輸入系統84
基礎事件系統85
一個更複雜的系統87
移動設備輸入89
觸屏和手勢89
加速器和陀螺儀91
其他移動設備輸入92
總結92
習題92
相關資料93
第6章聲音94
基本聲音95
原始資料95
聲音事件95
3D聲音98
監聽者和發射者98
衰減100
環繞聲100
數位信號處理101
常見數位信號處理效果102
區域標記102
其他聲音話題103
多普勒效應103
聲音遮擋104
總結105
習題106
參考資料106
……
第7章物理107
第8章攝像機132
第9章人工智慧152
第10章用戶介面173
第11章腳本語言和資料格式191
第12章網路遊戲209
第13章遊戲示例:橫向滾屏者(iOS)223
第14章遊戲示例:塔防(PC/Mac)232
附錄A習題答案247
附錄B對開發者有用的工具260

您曾經瀏覽過的商品

購物須知

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

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

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

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

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

優惠價:87 465
缺貨無法訂購

暢銷榜

客服中心

收藏

會員專區