Python 遊戲開發講座進階篇|動作射擊與 3D賽車

Python 遊戲開發講座進階篇|動作射擊與 3D賽車

作者: 廣瀬豪 吳嘉芳 譯
出版社: 碁峰資訊
出版在: 2021-12-30
ISBN-13: 9789865029913
ISBN-10: 986502991X
裝訂格式: 平裝
總頁數: 456 頁





內容描述


業界專家親自傳授的遊戲開發必備知識與技術

本書是用Python程式語言解說如何開發正式遊戲的教材,將帶領你實際製作動作遊戲、射擊遊戲、還有模擬3D影像效果的3D賽車遊戲,從動手做的過程中學會開發遊戲的Know How。

藉由本書,您將可以了解:
.遊戲開發的基本知識
.基礎的遊戲物理學
.如何製作地圖編輯器
.遊戲業界的開發祕辛
.開發動作遊戲的技巧
.Pygame的用法
.開發射擊遊戲的技巧
.開發3D賽車遊戲的技巧  

<序>
本書是用Python程式語言解說如何開發正式遊戲的教材。倘若你已經具備了Python方面的知識,直接閱讀這本《進階篇》,就能紮實地學會開發遊戲的Know How。這本書製作了動作遊戲、射擊遊戲、還有模擬3D影像效果的3D賽車遊戲。上一本著作曾經解說過幾個小遊戲的作法,包括掉落物拼圖遊戲、角色扮演遊戲,若你能一併瀏覽,可以學到更廣的遊戲開發領域。
筆者的本業是遊戲設計師,使用C/C++、C#、Java、JavaScrip等語言開發過遊戲軟體及應用程式。認識Python之後,愛上它的魅力,而開始使用Python開發遊戲。多數拿起這本書的人,應該都已經理解Python的優點,不過為了還不熟悉Python的讀者,我想在此簡單介紹這個程式語言的優秀之處。
首先,與C語言及Java等其他語言相比,Python的描述方法很簡單,能立即確認輸入程式執行的動作,因此Python可說是極適合初學者學習的程式語言。此外,Python還有許多可以開發各種軟體的模組,專業的程式設計師能使用這些模組來組合出高階程式。換句話說,這是一種廣泛且深奧的程式設計語言。我們從近年來Python大受歡迎,被運用在企業的系統開發、機器學習的人工智慧開發、學術研究領域等情況就能瞭解,Python是極為優秀的程式開發語言。
筆者根據各種商用遊戲軟體的開發經驗撰寫了這本書,書中網羅了開發遊戲需要的技巧,當你在製作原創遊戲時,可以當作參考。此外,筆者撰寫這本書的目的是希望透過遊戲開發深入學習Python,對於想進一步運用Python的人來說,也非常實用。若這本書能幫助到希望體會開發遊戲的樂趣,或想實現偉大夢想的人,筆者將深感榮幸。


目錄大綱


Chapter 1|遊戲開發的基本知識
Lesson 1-1 按鍵輸入
Lesson 1-2 即時處理
Lesson 1-3 角色的動畫
Lesson 1-4 利用二維列表管理地圖資料
Lesson 1-5 判斷地面與牆壁
COLUMN Python的整合開發環境

Chapter 2|遊戲開發的基本知識
Lesson 2-1 矩形的碰撞偵測
Lesson 2-2 圓形的碰撞偵測
Lesson 2-3 三角函數的用法
Lesson 2-4 索引與計時器
Lesson 2-5 製作小遊戲!
COLUMN 遊戲的世界觀

Chapter 3|製作動作遊戲!上篇
Lesson 3-1 吃點數遊戲
Lesson 3-2 顯示迷宮
Lesson 3-3 移動角色
Lesson 3-4 角色的方向及動畫
Lesson 3-5 順暢移動角色
Lesson 3-6 取得道具,增加分數
Lesson 3-7 敵人登場
Lesson 3-8 標題、過關、遊戲結束
COLUMN BASIC與Python

Chapter 4|製作動作遊戲!下篇
Lesson 4-1 加入多個關卡
Lesson 4-2 加入主角的剩餘命數
Lesson 4-3 新敵人登場
Lesson 4-4 製作結尾
Lesson 4-5 準備各種關卡
Lesson 4-6 製作地圖編輯器
Lesson 4-7 輸出地圖編輯器的資料
COLUMN 知名動畫遊戲的開發秘辛 之一

Chapter 5|Pygame的用法
Lesson 5-1 關於Pygame
Lesson 5-2 安裝Pygame
Lesson 5-3 Pygame的基本用法
Lesson 5-4 用Pygame繪製影像
Lesson 5-5 旋轉與縮放影像
Lesson 5-6 同時輸入多個按鍵
COLUMN 關於復古遊戲

Chapter 6|製作射擊遊戲!上篇
Lesson 6-1 關於射擊遊戲
Lesson 6-2 在Pygame快速捲動
Lesson 6-3 移動我機
Lesson 6-4 發射飛彈
Lesson 6-5 發射多發飛彈
Lesson 6-6 發射彈幕
COLUMN 知名動畫遊戲的開發秘辛之二

Chapter 7|製作射擊遊戲!中篇
Lesson 7-1 敵機的處理
Lesson 7-2 用飛彈擊落敵機
Lesson 7-3 加入爆炸效果
Lesson 7-4 加入防禦力
Lesson 7-5 標題、玩遊戲、遊戲結束
COLUMN Python只用三行就能製作出派對遊戲

Chapter 8|製作射擊遊戲!下篇
Lesson 8-1 加入音效
Lesson 8-2 增加敵機的種類
Lesson 8-3 魔王機登場
Lesson 8-4 完成遊戲
COLUMN 用遊戲控制器操作遊戲!

Chapter 9|製作3D賽車遊戲!上篇
Lesson 9-1 關於賽車遊戲
Lesson 9-2 3DCG與模擬3D
Lesson 9-3 遠近法
Lesson 9-4 思考道路呈現的狀態
Lesson 9-5 運用擬3D技巧繪製道路|使用矩形
Lesson 9-6 運用擬3D技巧繪製道路|使用多邊形
Lesson 9-7 表現道路的彎度
Lesson 9-8 表現道路的高低起伏 之一
Lesson 9-9 表現道路的高低起伏 之二
COLUMN 讓道路隨意變化的程式

Chapter 10|製作3D賽車遊戲!中篇
Lesson 10-1 使用Pygame
Lesson 10-2 畫出較精緻的賽道
Lesson 10-3 依照彎曲狀態移動背景
Lesson 10-4 表現道路起伏
Lesson 10-5 繪製車道的分隔線
Lesson 10-6 定義賽道之一 彎曲資料
Lesson 10-7 定義賽道之二 起伏資料
Lesson 10-8 定義賽道之三 道路旁的物體
Lesson 10-9 控制玩家的賽車
COLUMN 檢測處理速度下降的問題

Chapter 11|製作3D賽車遊戲!下篇
Lesson 11-1 讓電腦控制的賽車在賽道上行駛
Lesson 11-2 加入判斷賽車碰撞的處理
Lesson 11-3 從起點到終點的過程
Lesson 11-4 加入單圈時間
Lesson 11-5 可以選擇車種
COLUMN 電腦遊戲AI

特別附錄
Appendix 1 Game Center 208X
Appendix 2 《Animal》掉落物拼圖


作者介紹


廣瀬豪
早稻田大學理工學部畢業。於Namco擔任遊戲規劃師、於任天堂與KONAMI的合辦公司擔任程式設計師與總監之後獨立創業,設立製作遊戲的World Wide Software股份有限公司,從事電視遊樂器軟體、大型遊戲機台、手機應用程式、網路應用程式以及各種遊戲的開發。目前一邊經營公司,一邊於教育機關指導程式設計與遊戲開發或是撰寫相關書籍。第一次開發遊戲是在國中的時候,之後就本著工作與興趣,以C /C++、Java、JavaScript、Python這類程式語言開發遊戲。




相關書籍

2D Game Development with Unity

作者 Lanzinger Franz

2021-12-30

Advanced Maya Texturing and Lighting, 3/e (Paperback)

作者 Lee Lanier

2021-12-30

3ds Max 2021 室內設計速繪與 V-Ray 絕佳亮眼展現

作者 邱聰倚 姚家琦 劉庭佑

2021-12-30