☝ 博碩嚴選!遊戲程式設計師人手一本不敗經典之作!
☝ 首版上市累積銷售數千本!
☝ 好評再上市,回饋發行中!
誌謝(好評回饋版新增)
本書自第一版於2016年1月發行至今,也經過了九年。承蒙讀者的愛戴與博碩的支持與推廣,才能有機會推出第三版。
這九年間,科技領域的變化很大,從AI的萌芽與初步應用到ChatGPT等大型語言模型的橫空出世與普及化,AI技術的演進速度著實令人驚嘆。誠然,大型語言模型能夠快速提供各式問題的解答。然而,若要真正深入理解並系統性地學習一門知識,書本所提供的完整脈絡與扎實內容,仍是無可取代且不可或缺的。
期盼這好評回饋版能持續為讀者帶來價值,成為您探索知識、精進技能的堅實夥伴。
寫遊戲的首要之務就是要先有「好的設計」,否則哪能寫出可應對玩家、測試、企劃頻繁出現的新需求呢?那麼,怎樣才算是好的設計呢?除了掌握物件導向的設計原則外,直接在適當的場合套用適當的設計模式,自然是一條捷徑。
GoF提出了23個模式,想要一次全都套用並非易事,不過,對於實質參與過或規畫過數十萬行以上的遊戲程式的人而言,不套用才奇怪!的確,很難想像,在一個簡單的專案中也能把GoF的23個模式都套用進去,但這本書幾乎做到了!關鍵在於作者的「遊戲開發經驗」。
本書作者不但是實質參與大型遊戲開發的人,甚至本身負責的就是遊戲的軟體規劃,負責過的知名遊戲不勝枚舉,這些經驗,使得作者很清楚哪些模式可以套用在遊戲的哪個地方,或者反過來說,作者很清楚遊戲的哪類型功能應該套用哪個模式最為恰當。擁有這種能力的人當然不只一個,但願意把這些經驗濃縮設計出一個簡單的「P級陣地」遊戲並撰寫《設計模式與遊戲開發的完美結合》這本書來分享經驗者,蔡昇達堪稱是台灣遊戲界的第一人,甚至在整個台灣軟體業界,都很罕見。
這本書的重點顯見於書名之中,著重在「設計模式」與「遊戲開發」,且兩者的重要性不相上下。作者撰寫本書的目的主要有二。
首先,這本書是寫給遊戲程式設計師的,作者蔡昇達在遊戲設計業界累積了十年經驗,參與過無數耳熟能詳的專案(詳見下方..本書讚譽..),正所謂「十年磨一劍」,雖然動手完成這本書僅僅花費一年,但背後代表的是十年經驗的積累。
本書作者希望所有的遊戲程式設計師能將工作重點,從「Coding」提升到「設計」的層次,藉由套用「設計模式」與多項物件導向設計原則,設計出可長可久的遊戲,不畏懼、甚至歡迎企劃、測試與使用者回饋帶來的修改需求與新需求。
其次,本書也是寫給那些想要學習「設計模式」但不會寫遊戲的工程師閱讀的,本書採用的遊戲設計工具為Unity3D與C#,所使用的語法都是最簡單的,介面也是最容易上手的。至於遊戲部分,筆者挑選的是最常見、最淺顯易懂的範例,所有與本書遊戲相關的Domain Know-how,都難不倒任何一位曾經「玩過」戰鬥遊戲的軟體工程師。這樣做的目的在於,藉由遊戲做為範例,實際示範「設計模式」的強大之處。事實上,本書原本的另一個候選書名為《設計模式解析——以遊戲為例》。
本書不同於其他講解「設計模式」的書籍,本書的所有範例都圍繞著同一個遊戲專案,並且將GoF的所有模式都套用到了該遊戲專案之中,光是這一點就很不容易,尤其是,本書還仔細思考過讀者的學習步伐,章節的安排讓讀者能夠循序漸進地學會所有的設計模式。讀者若在閱讀GoF的《設計模式》時,遇到無法理解的部分,也可將本書當作範例解析的參考書來使用。
本書對於工程師而言,是一本非常容易閱讀的書籍,因為本書所有關於「設計模式」的章節架構、內容次序的安排都是相同的,步驟如下:
1 土法煉鋼完成遊戲需求。
2 簡介可以採用的「設計模式」,包含使用生活實例來解釋GoF對於該模式的定義。
3 使用該「設計模式」重構或重新設計程式,以完成遊戲需求。
4 搭配團隊對話的手法,討論日後遇到需求變化時,如何善用該「設計模式」的強大之處,以簡單的調整方式來進行維護。
5 討論該「設計模式」還能與哪些「設計模式」配合,以及採用該「設計模式」的優缺點。
6 最後則是討論該「設計模式」還能應用在遊戲設計的哪個環節。
本書作者認為,透過上述步驟來學習「設計模式」與「遊戲開發」,是最能徹底明瞭「設計模式」與「遊戲開發」的學習方式。同時,本書還獲得了遊戲業界及軟體設計界的許多讚賞,因此,我們將之列為《中文原創經典》。