Python 遊戲開發講座入門篇|基礎知識與 RPG 遊戲
內容描述
業界人士教您如何從零開始進行遊戲的開發
這是一本專注在「如何從零到有開發出一款遊戲」的實作書籍。藉由本書,您可以了解遊戲開發與一般的軟體開發有何不同,以及遊戲開發的實際過程。
本書特色:
.幫助您更加了解遊戲開發的過程
.學會如何使用Python
.範例程式碼有詳盡的註解說明
.使用大量的圖解說明幫助理解
.提供遊戲開發的免費素材可供練習
<序>
本書是由專業遊戲開發者撰寫的遊戲開發入門書,內容是以初學者也能快速上手的Python解說遊戲製作技術。
筆者在遊戲業界製作遊戲已經超過25年。於大型遊戲開發商以及中型開發商服務之後,創立遊戲製作公司,開發南夢宮(namco)與SEGA的遊戲,也與擁有忠實群眾的老牌遊戲開發商KEMCO攜手開發多種角色扮演遊戲。筆者根據過去的遊戲開發成績以及在大學、專門學校教授程式語言的經驗,寫出了這本淺顯易懂的Python程式設計與遊戲開發技術的書。不管是從未接觸Python或程式設計的讀者,還是已經擁有程式設計能力的讀者,都能透過本書在最快的時間之內,學到遊戲開發的技術。
我想,應該有些讀者希望自己成為遊戲開發者,有些讀者則想學會Python這個程式設計語言,因此本書會在一開始簡單地介紹Python的基礎,之後的大部分篇幅則都用來解說遊戲開發技術。由於解說的都是於專業現場使用的技術,所以想成為遊戲開發者的讀者日後一定能將這些技術應用於實務上。如果只是基於興趣,想試看看遊戲開發是怎麼一回事的讀者,也能從本書學到需要的知識。想學習Python的讀者,也能從遊戲製作這項主題開心地學習。序章的最後一節(P.17)會解說該如何依照各位的應用程式使用本書,還請大家務必參考一下。
接下來請容我說說在教授遊戲開發過程中的感受。在教遊戲開發時,學生只要有不懂的地方,就會立刻舉手說「老師,我這邊不太懂」。等到角色真的動起來,或是能呈現想要的影像時,教室裡總會歡聲四起。每位學生都很愛上課,整個教室也充滿活力。我想,這正是因為學生們很享受遊戲開發這件事。
對於筆者來說,開發遊戲既是興趣也是工作。玩遊戲固然開心,但開發遊戲也很有趣。筆者比誰都清楚這點,所以才準備了一堆內容簡單易懂的程式以及各種圖片與音效,希望大家能跟著筆者一起享受開發遊戲的樂趣。但願本書能在開發遊戲的路上助各位一臂之力。
目錄大綱
Chapter 1|安裝Python
Lesson 1-1 何謂Python?
Lesson 1-2 安裝Python
Lesson 1-3 啟動Python
COLUMN 遊戲設計師收入好嗎?
Chapter 2|開始使用Python
Lesson 2-1 試著計算
Lesson 2-2 輸出字串
Lesson 2-3 輸出月曆
Lesson 2-4 撰寫程式的事前準備
Lesson 2-5 撰寫程式
Lesson 2-6 了解輸出與輸入的命令
Lesson 2-7 撰寫程式的方法
COLUMN 在遊戲完成之前
Chapter 3|學習程式設計的基礎
Lesson 3-1 變數與算式
Lesson 3-2 關於列表
Lesson 3-3 條件分歧
Lesson 3-4 關於迴圈
Lesson 3-5 關於函數
COLUMN 關於遊戲開發成本(一)
Chapter 4|import的使用方法
Lesson 4-1 關於模組
Lesson 4-2 複習月曆
Lesson 4-3 操作日期與時間
Lesson 4-4 亂數的使用方法
COLUMN 在RPG逃跑的失敗率
Chapter 5|運用CUI 開發迷你遊戲
Lesson 5-1 CUI與GUI
Lesson 5-2 製作猜謎遊戲
Lesson 5-3 製作大富翁
Lesson 5-4 尋找消失的英文字母
COLUMN 關於遊戲開發成本(二)
Chapter 6|GUI的基礎①
Lesson 6-1 關於GUI
Lesson 6-2 配置標籤
Lesson 6-3 配置按鈕
Lesson 6-4 使用畫布
Lesson 6-5 製作抽籤遊戲
COLUMN 在畫布顯示圖形
Chapter 7|GUI的基礎②
Lesson 7-1 配置文字輸入欄位
Lesson 7-2 配置多列的文字輸入欄位
Lesson 7-3 配置勾選按鈕
Lesson 7-4 顯示訊息方塊
Lesson 7-5 製作診斷遊戲
COLUMN 利用RGB值指定顏色
Chapter 8|開發正統遊戲的技術
Lesson 8-1 實現即時處理
Lesson 8-2 接收鍵盤輸入的指令
Lesson 8-3 輸入按鈕,移動圖片
Lesson 8-4 定義迷宮的資料
Lesson 8-5 平面遊戲的開發基礎
COLUMN 如何完成遊戲軟體
Lesson 8-6 替遊戲收尾
COLUMN 製作數位相框
Chapter 9|掉落物拼圖
Lesson 9-1 思考遊戲的規格
Lesson 9-2 嵌入滑鼠輸入處理
Lesson 9-3 顯示遊戲裡的滑鼠游標
Lesson 9-4 管理格子裡的資料
Lesson 9-5 讓方塊落下的演算法
Lesson 9-6 點擊後配置方塊
Lesson 9-7 判斷方塊是否連線的演算法
Lesson 9-8 嵌入正確的演算法
Lesson 9-9 標題畫面與遊戲結束畫面
Lesson 9-10 完成掉落物拼圖遊戲
COLUMN 利用winsound發出音效
Chapter 10|Pygame的使用方法
Lesson 10-1 思考遊戲的規格
Lesson 10-2 Pygame 的系統
Lesson 10-3 繪製圖片
Lesson 10-4 繪製圖形
Lesson 10-5 接收按鍵輸入
Lesson 10-6 接收滑鼠輸入
Lesson 10-7 輸出音效
COLUMN 如何在Pygame 顯示中文
Chapter 11|開發正統的RPG遊戲!(上篇)
Lesson 11-1 關於角色扮演遊戲
Lesson 11-2 自動產生迷宮
Lesson 11-3 打造地下城
Lesson 11-4 在地下城移動
Lesson 11-5 建立戰鬥場景之1
Lesson 11-6 建立戰鬥場景之2
Lesson 11-7 建立戰鬥場景之3
COLUMN 遊戲的特效
Chapter 12|開發正統的RPG遊戲!(下篇)
Lesson 12-1 角色扮演遊戲的全貌
Lesson 12-2 下載檔案與執行程式
Lesson 12-3 程式內容
Lesson 12-4 程式的細節
COLUMN Python 的檔案處理
Chapter 13|物件導向程式設計
Lesson 13-1 關於物件導向程式設計
Lesson 13-2 類別與物件
Lesson 13-3 利用tkinter 學習物件導向
Lesson 13-4 進一步學習物件導向程式設計
COLUMN 筆者也陷入苦戰的物件導向程式設計
Appedix|池山高校Python研究部
第1個遊戲 一筆畫成的迷宮遊戲
第2個遊戲 英文單字學習軟體
第3個遊戲 打磚塊
作者介紹
廣瀨豪
早稻田大學理工學部畢業。於Namco擔任遊戲規劃師、於任天堂與KONAMI的合辦公司擔任程式設計師與總監之後獨立創業,設立製作遊戲的World Wide Software股份有限公司,從事電視遊樂器軟體、大型遊戲機台、手機應用程式、網路應用程式以及各種遊戲的開發。目前一邊經營公司,一邊於教育機關指導程式設計與遊戲開發或是撰寫相關書籍。第一次開發遊戲是在國中的時候,之後就本著工作與興趣,以C /C++、Java、JavaScript、Python這類程式語言開發遊戲。