架構導向
3D 行動塔防遊戲規格書
設計模型之研究
Architecture-Oriented Design Method for Technical
Specs Description Model
of 3D Mobile Tower Defense Game
義守大學
資訊工程研究所
碩士論文
A Thesis
Submitted to Department of Information Engineering
I-Shou University
in Partial Fulfillment of the Requirements
for the Master degree
in
Information Engineering
July , 2015
Kaohsiung, Taiwan, Republic of China
研 究 生:楊柏峰
指 導 教 授:孫述平博士
共同指導教授:沈鴻哲博士
Student:Bo-Pong Yang
Advisor:Shuh-Ping Sun
Coadvisor:Hung-Che Shen
架構導向
3D 行動塔防遊戲規格書設計模型之研究
研究生:楊柏峰 指 導 教 授:孫述平
共同指導教授:沈鴻哲
義守大學資訊工程研究所
中文摘要
3D 行 動 塔 防 遊 戲 規 格 書 以 架 構 行 為 合 一 之 架 構 描 述 語 言 (Structure-Behavior Coalescence (SBC) Architecture Description Language (SBC-ADL))進行建模,從結構、行 為觀點來進行 3D 行動塔防遊戲規格書之塑模,讓各種不同專業領域的 3D 行動塔防遊 戲開發人員都能夠透過此模型建立 3D 行動塔防遊戲規格書並且了解 3D 行動遊戲中之 複雜的遊戲規則與細節設定,藉此來加速遊戲的開發速度,以及完整度。 3D 行動塔防遊戲規格書採用架構方法論,以結構行為合一架構描述語言為工具, 將 3D 行動塔防遊戲之規格書做一個整體的分析與塑模,建立一套架構導向 3D 行動塔 防遊戲之規格書之模型。結構行為合一的六種分別描述不同細節的設計圖來進行塑模, 此六種設計圖分別為『架構階層圖』、『框架圖』、『構件操作圖』、『構件連結圖』、『結構 行為合一圖』、『互動流程圖』[1],透過這六種設計圖來完整描述一個遊戲規格書所應該 要有的內容,包括遊戲流程、遊戲規則、介面配置等等眾多的遊戲設定。 3D 行動塔防遊戲之規格書著重在如何使用結構行為合一架構描述語言來進行塑 模,定義出一個 3D 行動塔防遊戲規格書所應該具備的架構,並提供未來相關 3D 行動 塔防遊戲開發所需要產出文件的一個通用架構,可增加遊戲的開發速度,以及完整度, 並且降低團隊在開發過程中所消耗的成本以及因為開發成員對文件的誤解,或是文件不 清楚進行反覆確認所產生的不必要之成本。iv
Architecture-Oriented Design Method for Technical Specs
Description Model of
3D Mobile Tower Defense Game
Student:Bo-Pong Yang Advisor:Shuh-Ping Sun
Coadvisor:Hung-Che Shen
Department of Information Engineering I-Shou University
Abstract
In this study, we adopt Structure-Behavior Coalescence (SBC) Architecture Description Language (SBC-ADL) as a design method for 3D Mobile games. The resulting technical specs will integrate the structure and behavior views of a 3D Mobile game to give game developers a clear idea of both its essential components and their complex interaction details. The results of SBC system design help improve the acceptance and effectiveness of the development of 3D Mobile games.
This study is an application of Architecture-oriented system design using SBC-ADL as the tool. SBC-ADL consists of six fundamental diagrams. These diagrams are: a) architecture hierarchy diagram (AHD), b) framework diagram (FD), c) component operation diagram (COD), d) component connection diagram (CCD), e) structure-behavior coalescence diagram (SBCD), and f) interaction flow diagram (IFD). Through these diagrams, the 3D mobile game technical specs describe the gameplay, game rules, interface designs, etc.
We will focus on formulating a general architectural design for 3D mobile game technical specs using SBC-ADL. This architecture-oriented design will lay the groundwork for future 3D mobile game developments. The design helps integrate different developers’ works on the same track, resolve uncertainties and risks caused by those non-architecture-oriented design methods.
Keyword: Architecture-Oriented Design Method, SBC Architecture Description Language, 3D Tower Defense Mobile Game, Game Technical Specs
目 錄
中文摘要 ...iii Abstract ...iv 目 錄 ...v 圖 目 錄 ...xi 表 目 錄 ...xiii 第一章 緒論 ...1 1-1 研究背景... 1 1-1-1 智慧型手機... 1 1-1-2 遊戲開發之規格書... 1 1-2 研究動機... 2 1-2-1 設計端與製作端的需求訪談模糊... 2 1-2-2 製作端的分析與需求的落差... 2 1-2-3 遊戲成品的品質與要求無法一致... 2 1-2-4 專案開發時程的影響... 3 1-2-5 測試需求與測試品質... 3 1-2-6 維護與除錯... 3 1-3 研究目的... 4 1-3-1 描述需求的共通分析工具... 4 1-3-2 描述細節的完整分析文件... 4 1-3-3 確保品質的方法... 4 1-3-4 有效控制專案時程... 4 1-3-5 有系統式的規劃測試... 5 1-3-6 可交接的系統描述文件... 5 1-4 研究方法... 6vi 1-4-4 構件連結圖... 10 1-4-5 結構行為合一圖...11 1-4-6 互動流程圖... 12 1-5 研究步驟... 13 第二章 文獻探討 ...14 2-1 軟體開發模型... 14 2-1-1 瀑布模型... 14 2-1-2 螺旋模型... 15 2-1-3 增量模型... 16 2-1-4 雛型模型... 17 2-2 軟體架構... 18 2-2-1 軟體架構介紹... 18 2-2-2 架構描述語言... 19 2-3 3D 行動遊戲... 20 2-4 塔防遊戲... 20 2-5 遊戲規格書... 20 2-5-1 塔防遊戲規格書... 21 第三章 架構導向 3D 行動塔防遊戲規格書設計模型 ...22 3-1 遊戲設計 Cake Keeper 塔防遊戲... 22 3-2 Cake Keeper 塔防遊戲之架構階層圖... 22 3-3 Cake Keeper 塔防遊戲之框架圖... 24 3-4 Cake Keeper 塔防遊戲構件操作圖... 27 3-5 Cake Keeper 塔防遊戲構件連結圖... 28 3-6 Cake Keeper 塔防遊戲結構行為合一圖... 30 3-7 Cake Keeper 塔防遊戲互動流程圖... 33 第四章 研究結果 ...34 4-1 遊戲開發目的... 34 4-2 遊戲開發主要方向... 34 4-3 遊戲開發內容... 34 4-3-1 遊戲概要... 34
4-3-1-1 核心概念... 35 4-3-1-2 世界觀... 35 4-3-1-3 角色... 35 4-3-1-4 場景... 35 4-3-1-5 遊戲設定... 36 4-3-2 遊戲結構... 37 4-3-2-1 系統框架圖... 37 4-3-2-2 系統概要說明... 38 4-3-2-2-1 整體遊戲玩法概要... 38 4-3-2-2-2 遊戲玩法特色... 38 4-3-2-2-3 遊戲份量... 38 4-3-2-2-4 遊戲的特色與風格... 38 4-3-2-2-5 遊戲規則... 39 4-3-3 遊戲架構... 40 4-3-3-1 角色資料規格... 41 4-3-3-2 角色設定... 43 4-3-3-2-1 角色清單... 43 4-3-3-2-2 模型規格... 46 4-3-3-3 畫面 UI... 48 4-3-3-3-1 開頭畫面 UI... 48 4-3-3-3-2 遊戲中 UI... 49 4-3-3-4 特效... 50 4-3-3-5 音效... 51 4-3-3-6 音樂... 51 4-3-3-7 角色動作清單... 52 4-3-3-8 得分... 53 4-3-3-9 操作方式... 54 4-3-3-9-1 玩家行為... 55 4-3-3-9-2 遊戲管理員行為... 55 4-3-3-10 遊戲編程... 56 4-3-3-10-1 構件操作圖... 56 4-3-3-10-1-1 遊戲開頭畫面 GUI... 56 4-3-3-10-1-2 遊戲說明 GUI... 57 4-3-3-10-1-3 遊戲結束 GUI... 57
viii 4-3-3-10-1-8 遊戲流程 Logic... 58 4-3-3-10-1-9 遊戲音樂/音效 Logic... 59 4-3-3-10-1-10 蛋糕生命 Logic... 60 4-3-3-10-1-11 分數計算 Logic... 61 4-3-3-10-1-12 遊戲關卡 Logic... 62 4-3-3-10-1-13 敵人 Logic... 63 4-3-3-10-1-14 遊戲存檔 Local Data... 65 4-3-3-10-2 互動流程圖... 65 4-3-3-10-2-1 進入說明之行為... 66 4-3-3-10-2-2 開始遊玩之行為... 67 4-3-3-10-2-3 建立戰場之行為... 68 4-3-3-10-2-4 產生敵人之行為... 69 4-3-3-10-2-5 敵人前進之行為... 70 4-3-3-10-2-6 打擊敵人之行為... 71 4-3-3-10-2-7 關卡升級之行為... 72 4-3-3-10-2-8 敵人攻擊之行為... 73 4-3-3-10-2-9 檢視蛋糕血量之行為... 74 4-3-3-10-2-10 檢視目前分數之行為... 75 4-3-3-10-2-11 遊戲結束之行為... 76 4-3-3-10-2-12 重新再來之行為... 77 4-3-3-10-2-13 返回開頭之行為... 78 4-3-3-10-2-14 檢視歷史高分之行為... 79 4-3-3-11 遊戲關卡... 80 4-4 遊戲開發時程... 80 4-4-1 遊戲開發的預算... 81 4-4-1-1 人事成本... 81 4-4-2 開發策略... 81 4-4-2-1 目標市場與規模... 82 4-4-2-2 目標營收... 82 4-4-2-3 平台的選擇... 82 4-4-2-4 遊戲引擎... 82 4-4-2-5 目標的驅動力... 82 4-4-2-6 目標的前提假設... 83 4-4-2-6-1 "使用者付費"的意識抬頭... 83 4-4-2-6-2 多數玩家喜愛遊戲為『休閒類』類為主... 84 4-4-2-7 目標的限制條件... 84 4-4-2-7-1 電視遊戲產業崛起... 84 4-4-2-7-2 手機遊戲產業商業化... 84
4-4-2-8 營收預測... 84 4-4-2-9 SWOT 分析... 86 4-5 產品營銷策略... 87 4-5-1 透過大型通路商營銷... 87 4-5-2 自行上架販售... 88 第五章 架構導向模型與非架構導向模型之比較 ...89 5-1 傳統遊戲規格書模型之說明... 89 5-1-1 遊戲規格書開發之方法... 89 5-1-2 需求討論與訪談... 89 5-1-3 遊戲規格書製作... 90 5-1-4 遊戲規格書之遊戲架構規劃... 90 5-1-5 遊戲規格書之遊戲功能規劃... 91 5-1-6 遊戲規格書之遊戲流程規劃... 92 5-1-7 遊戲規格書之遊戲素材數量與說明... 93 5-2 架構導向遊戲規格書模型與傳統遊戲規格書模型之比較... 94 5-2-1 遊戲結構圖之比較... 94 5-2-2 系統功能(行為)規劃之比較... 95 5-3 傳統遊戲規格書與架構導向遊戲規格書在遊戲軟體開發實務之差異分析 96 5-3-1 分析構面... 96 5-3-2 開發構面... 97 5-3-3 測試構面... 97 5-3-4 維護構面... 100 5-3-4-1 交接... 100 5-3-4-2 更新內容... 101 第六章 結論與建議 ...102 6-1 研究成果... 102 6-1-1 整體專案控管更為準確... 102 6-1-2 更具體的遊戲測試方法... 103
x
6-2-2 可依照規格書中的分析內容建置遊戲基本框架... 104 第七章 參考文獻 ...105
圖 目 錄
圖 1.4-1 架構階層圖... 6 圖 1.4-2 框架圖... 7 圖 1.4-3 構件操作圖 1... 8 圖 1.4-4 構件操作圖 2... 9 圖 1.4-5 構件連結圖... 10 圖 1.4-6 結構行為合一圖...11 圖 1.4-7 互動流程圖... 12 圖 1.5-1 研究步驟... 13 圖 2.1-1 瀑布模型... 14 圖 2.1-2 螺旋模型... 15 圖 2.1-3 增量模型... 16 圖 2.1-4 雛型模型... 17 圖 2.2-1SBC-ADL MODEL ... 19 圖 3.2-1Cake Keeper 塔防遊戲架構階層圖... 23 圖 3.3-1 Cake Keeper 塔防遊戲 - 框架圖 ... 24 圖 3.4-1Cake Keeper 塔防遊戲構件操作圖 3... 27 圖 3.5-1 Cake Keeper 塔防遊戲 構件連結圖... 28 圖 3.6-1Cake Keeper 塔防遊戲結構行為合一圖... 30 圖 3.7-1Cake Keeper 塔防遊戲互動流程圖 - 建立戰場之行為 ... 33 圖 4.3-1Cake Keeper 塔防遊戲規格書 - 框架圖 ... 37 圖 4.3-2 Cake Keeper 塔防遊戲規格書 - 架構階層圖 ... 40 圖 4.3-3 Cake Keeper 塔防遊戲規格書 - 遊戲開頭畫面示意圖 ... 48 圖 4.3-4 Cake Keeper 塔防遊戲規格書 - 結構行為合一圖 ... 54 圖 4.3-5 Cake Keeper 塔防遊戲構件操作圖 1... 56xii 圖 4.3-9Cake Keeper 塔防遊戲構件操作圖 4... 62 圖 4.3-10Cake Keeper 塔防遊戲構件操作圖 5... 63 圖 4.3-11Cake Keeper 塔防遊戲構件操作圖 6... 65 圖 4.3-12 Cake Keeper 塔防遊戲互動流程圖 - 進入遊戲說明之行為 ... 66 圖 4.3-13Cake Keeper 塔防遊戲互動流程圖 - 開始遊玩之行為 ... 67 圖 4.3-14 Cake Keeper 塔防遊戲互動流程圖 - 建立戰場之行為 ... 68 圖 4.3-15Cake Keeper 塔防遊戲互動流程圖 - 產生敵人之行為 ... 69 圖 4.3-16Cake Keeper 塔防遊戲互動流程圖 - 敵人前進之行為 ... 70 圖 4.3-17Cake Keeper 塔防遊戲互動流程圖 - 打擊敵人之行為 ... 71 圖 4.3-18Cake Keeper 塔防遊戲互動流程圖 - 關卡升級之行為 ... 72 圖 4.3-19Cake Keeper 塔防遊戲互動流程圖 - 敵人攻擊之行為 ... 73 圖 4.3-20Cake Keeper 塔防遊戲互動流程圖 - 檢視蛋糕血量之行為 ... 74 圖 4.3-21Cake Keeper 塔防遊戲互動流程圖 - 檢視目前分數之行為 ... 75 圖 4.3-22Cake Keeper 塔防遊戲互動流程圖 - 遊戲結束之行為 ... 76 圖 4.3-23Cake Keeper 塔防遊戲互動流程圖 - 重新再來之行為 ... 77 圖 4.3-24Cake Keeper 塔防遊戲互動流程圖 - 返回開頭之行為 ... 78 圖 4.3-25Cake Keeper 塔防遊戲互動流程圖 - 檢視歷史高分之行為 ... 79 圖 5.1-1 傳統遊戲規格書之架構圖... 90 圖 5.1-2 功能需求示意圖... 91 圖 5.1-3 流程圖示意圖... 92
表
目 錄
表格 3-3-1 構件整理表 - Presentation Layer... 25 表格 3-3-2 構件整理表 - Logic Layer ... 26 表格 3-3-3 構件整理表 - Technology Layer... 26 表格 3-6-1 Cake Keeper 塔防遊戲構件行為整理表 ... 32 表格 4-3-1 Cake Keeper 塔防遊戲塔防遊戲 -遊戲設定 ... 36 表格 4-3-2 Cake Keeper 塔防遊戲規格書 - 敵人資料規格表 1 ... 41 表格 4-3-3 Cake Keeper 塔防遊戲規格書 - 敵人資料規格表 2 ... 41 表格 4-3-4 Cake Keeper 塔防遊戲規格書 - 敵人資料規格表 3 ... 42 表格 4-3-5 Cake Keeper 塔防遊戲規格書 - 敵人資料規格表 4 ... 42 表格 4-3-6 Cake Keeper 塔防遊戲規格書 - 敵人資料規格表 5 ... 42 表格 4-3-7 Cake Keeper 塔防遊戲規格書 - 角色描述表(紙片蛋糕) ... 43 表格 4-3-8 Cake Keeper 塔防遊戲規格書 - 角色描述表(螞蟻) ... 44 表格 4-3-9 Cake Keeper 塔防遊戲規格書 - 角色描述表(蒼蠅) ... 44 表格 4-3-10 Cake Keeper 塔防遊戲規格書 - 角色描述表(蟑螂) ... 45 表格 4-3-11 Cake Keeper 塔防遊戲規格書 - 角色模型規格表(紙片蛋糕)... 46 表格 4-3-12 Cake Keeper 塔防遊戲規格書 - 角色模型規格表(黑螞蟻) ... 46 表格 4-3-13 Cake Keeper 塔防遊戲規格書 - 角色模型規格表(紅螞蟻) ... 47 表格 4-3-14 Cake Keeper 塔防遊戲規格書 - 角色模型規格表(蒼蠅) ... 47 表格 4-3-15 Cake Keeper 塔防遊戲規格書 - 角色模型規格表(蟑螂) ... 47 表格 4-3-16 Cake Keeper 塔防遊戲規格書 - 遊戲特效項目表 ... 50 表格 4-3-17 Cake Keeper 塔防遊戲規格書 - 遊戲音效項目表 ... 51 表格 4-3-18 Cake Keeper 塔防遊戲規格書 - 遊戲音樂項目表 ... 51 表格 4-3-19 Cake Keeper 塔防遊戲規格書 - 角色動作清單(紙片蛋糕) ... 52 表格 4-3-20 Cake Keeper 塔防遊戲規格書 - 角色動作清單(黑/紅螞蟻) ... 52 表格 4-3-21 Cake Keeper 塔防遊戲規格書 - 角色動作清單(蒼蠅) ... 52 表格 4-3-22 Cake Keeper 塔防遊戲規格書 - 角色動作清單(蟑螂) ... 52xiv 表格 4-3-26 敵人能力表 ... 64 表格 4-3-27 Cake Keeper 塔防遊戲規格書 - 遊戲關卡事件表 ... 80 表格 4-4-1 Cake Keeper 塔防遊戲規格書 -遊戲系統構件建置時程表 ... 80 表格 4-4-2 Cake Keeper 塔防遊戲規格書 - 人事成本需求表 ... 81 表格 4-4-3 Cake Keeper 塔防遊戲規格書 - 市場規模預估表 ... 83
表格 4-4-4 Cake Keeper 塔防遊戲規格書 - 產品 SWOT 分析表... 86
表格 4-5-1 Cake Keeper 塔防遊戲規格書 - 遊戲通路商之說明 ... 87 表格 4-5-2 Cake Keeper 塔防遊戲規格書 - 官方通路說明 ... 88 表格 5-1-1 敵人規格表 ... 93 表格 5-2-1 遊戲架構比較 ... 94 表格 5-2-2 功能規劃之比較 ... 95 表格 5-3-1 分析方法比較表 ... 96 表格 5-3-2 遊戲測試回報表 1 ... 98 表格 5-3-3 遊戲測試回報表 2 ... 99
第一章 緒論
1-1 研究背景
隨著智慧型手機不斷的發展,人們的生活型態也跟著轉變,例如以往人們使 用紙本手冊記錄下重要事項,隨時拿出來檢視是否還有待辦事項,而現在改由智 慧型手機上的軟體來記錄這些事項,甚至使用鬧鐘提示使用者需要處理這些代辦 事項;被改變的不只這樣,越來越多的日常行為被導向智慧型手機上面,而娛樂 與休閒也是這眾多改變的其中一種。1-1-1 智慧型手機
智慧型手機泛指具有獨立的行動作業系統,可透過安裝應用軟體、遊戲等程 式來擴充手機功能,運算能力及功能均優於傳統功能型手機的一類手機;最初的 智慧型手機功能並不多,後來的機型增加了MP3、相機和閃光燈(手電筒)、GPS 導航、NFC、重力感應水平儀等功能,使其成為了一種功能多樣化的裝置[29,30]。智慧型手機的作業系統有Google 的 Android 系統、蘋果公司的 iOS 系統、 諾基亞的Symbian(塞班)系統、黑莓公司的黑莓 OS 系統、三星的 Bada 系統、 微軟的Windows Phone 系統、惠普的 webOS 系統、謀智的 Firefox OS 系統和其 他一些嵌入式Linux 系統[29,30]。
1-1-2 遊戲開發之規格書
2 畫書與遊戲規格書來讓大家朝同一個目標前進;遊戲規格書通常描述一個遊戲中 所有大大小小的細節,小到道具數量,大到流程規則,因此遊戲規格書的重要程 度與建築工程中的藍圖可說是不相上下。
1-2 研究動機
一般3D 行動遊戲開發主要可以分幾個階段,分別是遊戲設計、遊戲分析、 遊戲開發、遊戲測試與除錯、遊戲維護,因為每一個部分都會影響整個3D 行動 遊戲開發的時程,試想若是每一個遊戲開發都超過時程成本之外,團隊整體的開 發成本一定會拉高,在成本增加的狀況之下,團隊的運作一定會受到影響,所以 會以幾個部分來做為評估動機。1-2-1 設計端與製作端的需求訪談模糊
一般遊戲設計是由遊戲企劃所提出,大部分的開發者選擇使用流程圖、文字 等一些比較基本的方式來表達企劃的遊戲規則與其細節,甚至是直接用口頭描 述,在缺乏完整文件的狀況下,經常容易發生成品與設計不符合的現象。1-2-2 製作端的分析與需求的落差
通常程式設計師在收到企劃遊戲規則、功能需求的時候,在開始真正著手製 作之前會進行一次系統分析,但是每個程式設計師所使用的分析工具或方法不 同,導致企劃很難確認分析後的結果是否與原本需求相同。1-2-3 遊戲成品的品質與要求無法一致.
遊戲開發中最容易發生設計與成品不合的狀況,更多發生在一些遊戲細節上 面,例如操作的方式、按鈕擺放的位置,這些雖然都只是一些小細節,但畢竟是使用者體驗上一種感覺問題,因此這些環節如果沒有具體的讓實作的程式設計師 完整的了解,那麼遊戲的品質將會大大的受到影響。
1-2-4 專案開發時程的影響
在進行此研究時,3D 行動遊戲的產業是發展得很快的,在這種競爭激烈的 環境之下,能夠越快將心中所想的產品實現成具體的成品然後推送到大眾之前是 非常重要的,因為一旦稍晚個幾星期,很有可能競爭對手就已經製作出類似的產 品來競爭,因此在實現的過程中是不能浪費任何一點時間的,一旦因專案時程受 到影響,產品的競爭力與公司的成本也肯定會受到影響。1-2-5 測試需求與測試品質
在進行此研究時,3D 行動遊戲早就已經是每個人都聽過甚至親自玩過的時 代,而且年齡層從老中少甚至到幼都可以看到他們把玩著3D 行動遊戲;在普及 率這麼高的狀況之下,產品一定要在送交到使用者之前就在內部經過完整的測 試,但是這通常是非常耗時的,是否有一種方法可以快速地讓測試人員明確的知 道測試目標,而不只是漫無目的的"打電動"呢?1-2-6 維護與除錯
遊戲總是會開始營運,一旦開始營運之後,通常人力會縮編,這些人通常會 去製作新的案子,而留在原本團隊的人可能是新成員,或是原本參與開發的成 員,如果把一個開發數個月的成品交付給沒有經歷過開發階段的成員,甚至是當 程式發生意想不到的例外狀況時,是否能夠快速地處理。4
1-3 研究目的
透過架構行為合一之架構描述語言進行建模,從結構、行為觀點來進行3D 行動塔防遊戲規格書之朔模,讓各種不同領域的3D 行動遊戲開發人員都能夠透 過此模型建立3D 行動塔防遊戲規格書並且了解 3D 行動塔防遊戲中之複雜的遊 戲規則與細節設定。1-3-1 描述需求的共通分析工具
希望建立一個共通的分析工具,使所有開發成員都可以透過共同認識的分析 工具讓需求更明確的傳達到不同專業領域的成員上。1-3-2 描述細節的完整分析文件
希望可以建構出完成的分析、需求等文件,使開發的過程中減少錯誤與口頭 確認或溝通的時間。1-3-3 確保品質的方法
希望可以透過3D 行動塔防遊戲規格書內的描述來讓開發成員人知道所有的 遊戲細節。1-3-4 有效控制專案時程
希望可以因為有明確描述遊戲內容、玩法、流程、規則等內容之規格書,減 少開發成員間對設計的不理解而導致的各種延誤專案時程的狀況。1-3-5 有系統式的規劃測試
希望可以讓測試過程不再只是口頭說明方式與流程,而是透過參考規格書來 對遊戲進行有方向性的測試。1-3-6 可交接的系統描述文件
希望成員在進行專案交接的時候,可以透過規格書減少教學、溝通的成本, 加速開發成員在公司各個專案間的調度。6
1-4 研究方法
透過架構方法論,以結構行為合一架構描述語言為工具,將3D 行動塔防遊 戲之規格書做一個整體的分析與塑模,建立一套架構導向3D 行動塔防遊戲之規 格書之模型。 塑模方法: 將採用結構行為合一的六種分別描述不同細節的設計圖來進行塑模,此六種 設計圖分別為『架構階層圖』、『框架圖』、『構件操作圖』、『構件連結圖』、『結構 行為合一圖』、『互動流程圖』[1]。詳細的塑模流程說明如下:1-4-1 架構階層圖
架構階層圖(Architecture Hierarchy Diagram,簡稱 AHD)為結構行為合一的第 一金律,它可以看出一個系統之多層的分解與組合。透過這樣子的圖,可以將一 個原本複雜的系統透過分解與組合將它變得簡單許多。
圖 1-4-1 架構階層圖
上圖是一個以「軟體A」為例的架構階層圖,「軟體 A」母系統可以由上至 下分解出「構件A」、「構件 B」、「構件 C」、和「聚合系統 A」等子系統:或者 可以說「構件A」、「構件 B」、「構件 C」、和「聚合系統 A」等子系統由下至上 組合成電腦母系統。而「聚合系統A」是一個組合而成的母系統,又可以把他更 進一步的拆解成「構件D」、「構件 E」、「構件 F」、「構件 G」等子系統。
1-4-2 框架圖
框架圖(Framework Diagram,簡稱 FD)為結構行為合一的第二金律,框架圖 用來解釋構件組成的系統結構。透過框架圖可以看出一個系統的多層級 (Multi-Layer)與多層次(Multi-Tier)的分解與組合 圖 1-4-2 框架圖 資料來源:系統學2.0-使用 SBC 架構描述語言[1] 如上圖是一個以「軟體A」為例的框架圖,由圖中可知目前「軟體 A」分成 兩個階層,每一個階層各有所屬的「構件」。這些構件就是最基本的構件,即研 究的對象。這些構件拿掉了層次間的關係,只單純考慮構件的組合。8
1-4-3 構件操作圖
構件操作圖(Component Operation Diagram,簡稱 COD)為結構行為合一的第 三金律,構件操作圖用來描述構件存在一個系統中可以提供那些操作,透過構件 操作圖可以讓開發者快速地瞭解、查詢每一個構件提供那些可用的操作,或是反 向查詢,查找某一個操作是由哪一個構件提供。 圖 1-4-3 構件操作圖 1 資料來源:系統學2.0-使用 SBC 架構描述語言[1] 如上圖就是一個構件操作圖,其中大部分構件都至少有一個操作,而「構件 A」與「構件 B」有兩個操作,也就是這兩個構件有提供兩個操作服務給其他構 件來呼叫使用。
以「構件A」來說明,可以看到「操作 A1」是附屬在「構件 A」上的,分 別代表著介面和操作。若其他構件要使用「構件A」的功能,則需要呼叫其操作 來完成。但如果要完整的表達操作,只顯示操作的名稱是不夠的,必須使用操作 式子來表達才會完整。一個完整的操作式子都包括三個部分:(A)操作名稱、(B) 輸入參數名稱與資料型態、(C)輸出參數名稱與資料型態,如下圖為構件 A 的操 作式子。 圖 1-4-4 構件操作圖 2 資料來源:系統學2.0-使用 SBC 架構描述語言[1]
10
1-4-4 構件連結圖
構件連結圖(Component Connection Diagram,簡稱 CCD),構件連結圖用來 描述一個系統裡各構件彼此之間的連結。有了構件連結圖之後,一個系統的樣式 會被呈現出來,進而使一個系統的結構觀點變得更清晰。 圖 1-4-5 構件連結圖 資料來源:系統學2.0-使用 SBC 架構描述語言[1] 如上圖為構件連結圖,可以看到外部環境各使用者與「構件A」、「構件B」、 「構件C」有連結,而「構件 A」和「構件 F」有連結,而「構件 B」和「構件 D」有連結,「構件 C」和「構件 E」「構件 H」有連結,「構件 D」、「構件 E」和 「構件G」有連結。由此圖可清楚了解,外界環境與此軟體系統的三個構件有連 結,也就是外界環境會去呼叫這三個構件的操作,而每一個構件又會和其他構件 互動,進而完成一個行為。
1-4-5 結構行為合一圖
結構行為合一圖(Structure-behavior Coalescence Diagram,簡稱 SBCD),結構 行為合一圖用來顯示系統裡各個構件之間以及它們和外界環境之互動影響,透過 結構行為合一圖能夠快速地了解目前系統中的架構。結構行為合一如同多重觀點 和一,只要能夠做到結後行為合一的水準,則可以達到了系統架構的要求。如下 圖為結構行為合一圖。 圖 1-4-6 結構行為合一圖 資料來源:系統學2.0-使用 SBC 架構描述語言[1] 由此圖中可以了解,此軟體系統是由「行為A」、「行為 B」「行為 C」等數 個行為與「構件A」、「構件B」、「構件C」、「構件D」、「構件E」、「構件F」、「構
12
1-4-6 互動流程圖
互動流程圖(Interaction Flow Diagram,簡稱 IFD),互動流程圖是結構行為合 一的最後一張圖,它是用來描述每一個系統行為在外界環境、構件與構件之間的 操作互動,並且可以清楚的描述每一個操作的順序,也能夠表示每一個操作所傳 送或接收的資料。如下圖為一個系統的互動流程圖。 圖 1-4-7 互動流程圖 資料來源:系統學2.0-使用 SBC 架構描述語言[1] 在軟體系統中的「行為A」的互動流程圖中,外界環境「系統管理員」和「構 件A」發生操作訊息呼叫的互動,並帶這著輸入參數「參數 A」,接下來「構件 A」和「構件 B」發生「行為 B」之操作訊息呼叫的互動,同樣帶著輸入參數「參 數B-1」。從外界環境的「系統管理者」與「構件 A」和「構件 B」之間的操作 互動順序,同時清楚表達每一個操作所應該傳送或接收的資料,由此可見,互動 流程圖所能表達的資訊是如此的清楚,所以互動流程圖是SBC 中最重要的圖型。
1-5 研究步驟
此研究之研究步驟總共分為下列幾個步驟: 1. 確定研究目的、內容及方法。 2. 相關文獻與資料、書籍蒐集 3. 資料整理與分析。 4. 建構3D 行動塔防遊戲規格書之模型 5. 比較架構導向與非架構導向在開發3D 行動塔防遊戲規格書的優點。 6. 結論與建議 圖 1-5-1 研究步驟 資料來源:本研究整理14
第二章 文獻探討
2-1 軟體開發模型
主要針對幾個傳統的開發模型來做檢討,主要有瀑布模型、螺旋模型、增量 模型、雛型模型2-1-1 瀑布模型
圖 2-1-1 瀑布模型 資料來源:物件導向系統分析與設計[5,11,12] 瀑布模型之開發為傳統較常用的開發方法,瀑布模型核心思想是按工序將問 題化簡,將功能的實現與設計分開,便於分工協作,即採用結構化的分析與設計 方法將邏輯實現與物理實現分開。瀑布模型將軟體生命周期劃分為軟體計劃、需 求分析和定義、軟體設計、軟體實現、軟體測試、軟體運行和維護這6 個階段, 規定了它們自上而下、相互銜接的固定次序,如同瀑布流水逐級下落。 但事實上,在實際的開發過程中很少能夠以連續由上而下的方式進行。經常 會需要回到前面的階段,或改變前一階段的結果,而且通常必須要到非常後面的 階段才能看到成果,以目前許多遊戲開發團隊所講求的快速開發,快速修改的理 念來說,並不適合使用。2-1-2 螺旋模型
圖 2-1-2 螺旋模型 資料來源:物件導向系統分析與設計[5,15,16] 螺旋模型採用一種周期性的方法來進行系統開發。這會導致開發出眾多的中 間版本,也因此這種開發模型通常被視為一種相對彈性的開發模型;在風險的方 面,螺旋模型在每個階段的一開始都會引入相當嚴格的風險分析和風險控制,這 使得開發人員和用戶對每個演化層出現的風險有所瞭解,繼而做出應有的反應, 因此特別適用於龐大、複雜並具有高風險的系統。16
2-1-3 增量模型
圖 2-1-3 增量模型 資料來源:物件導向系統分析與設計[5,11,12] 增量模型的專案開發通常會隨著時間的進展而交錯的進行線性序列開發,每 一個線性序列產生軟體的一個可發佈的『增量』。當使用增量模型時,第一個增 量往往產品的核心或是共用性最高的,即第一個增量已經完成了基本的需求,但 其他補充的功能增量還沒有發佈。客戶可以針對每一個增量的使用進行評估作為 下一個增量發佈的分析與方向依據,這個過程在每一個增量發佈後不斷重複,直 到產生了最終的完善產品。2-1-4 雛型模型
圖 2-1-4 雛型模型 資料來源:物件導向系統分析與設計[5,15,16] 雛形模型的重點是,在需求沒有非常明確或是需求快速變化的狀況下,可以 快速的開發出一個雛形,接著再以這個雛形為主,分析、說明文件為輔的方式與 客戶進行溝通、討論並且規劃下一步的開發計畫,如此反覆進行,漸漸達到使用 者心中所要的需求,而最重要的是需要在完成之後補上完整的分析、說明文件好 讓後續的接手者可以真正接手。18
2-2 軟體架構
以下主要就軟體架構之內容做了了解與探討並了解架構描述語言之由來。2-2-1 軟體架構介紹
軟體體系結構是構件電腦軟體實踐的基礎。與建築師設定建築專案的設計原 則和目標,作為繪圖員畫圖的基礎一樣,一個軟體架構師或者系統架構師陳述軟 體架構以作為滿足不同客戶需求的實際系統設計方案的基礎。從目的、主題、材 料和結構的聯繫上來說,軟體架構可以和建築物的架構相比擬[4,6]。一個軟體架 構師需要有廣泛的軟體理論知識和相應的經驗來實施和管理軟體產品的高階設 計。軟體架構師定義和設計軟體的模組化,模組之間的互動,使用者介面風格, 對外介面方法,創新的設計特性,以及高層事物的物件操作、邏輯和流程[9]。 軟體架構是一個系統的草圖。軟體架構描述的物件是直接構成系統的抽象元 件。各個元件之間的連線則明確和相對細緻地描述元件之間的通訊。在實作階 段,這些抽象元件被細化為實際的元件,比如具體某個類或者物件。在物件導向 領域中,元件之間的連線通常用介面來實作[13]。2-2-2 架構描述語言
圖 2-2-1SBC-ADL MODEL 資料來源:http://www.sbcarchitecture.org/
架構描述語言(Architecture Description Language、簡稱 ADL)是一種計算 機語言,用來描述軟體或系統架構。一般認為如果有使用ADL 來描述架構的話 那麼將會在開發人員間的互相溝通、具體體現早期設計決策、系統抽象化這些部 分做得更好。
20
2-3 3D 行動遊戲
3D 遊戲是指以 3D 電腦圖形為基礎製作的立體電子遊戲,相對傳統的 2D 遊 戲來說,會帶給玩家更加真實的遊戲體驗。3D 遊戲是指遊戲是以 3D 技術製成, 而並不是指螢幕是以3D 輸出,令人有覺得是立體的感覺。在智慧型手機尚未發 展以前,3D 遊戲通常只出現在電腦或是家用主機上面,隨著時代的演變,科技 的進步,智慧型手機的硬體效能大幅提升,因此不少遊戲開發商都已經選用3D 技術來開發手機遊戲。2-4 塔防遊戲
塔防遊戲(Tower Defense Games)即指一類通過在地圖上建造炮塔或類似建 築物,以阻止遊戲中敵人抵達堡壘的即時戰略電腦遊戲。一般而言,敵人並不會 主動攻擊炮塔。當敵人被消滅時,玩家可獲得獎金或積分,用於購買砲塔或升級 砲塔。敵人以一波波進攻,大部分塔防會在一波後暫停以讓玩家以積分升級或增 加炮塔。玩家一般有數量生命,如果砲塔不能消滅敵人,敵人到達指定地方後, 就會減少生命。隨著玩家提升炮塔能力,怪物的數量、能力也會提升。一般而言 怪物的提升速度比炮塔快。此類遊戲的目標是生存若干時間或盡可能生存下去。
2-5 遊戲規格書
遊戲規格書與建築工程之設計藍圖的概念相當雷同,遊戲規格書用來描述一 個數位遊戲軟體的多個細節,一般來說,在一個越龐大的數位遊戲軟體開發的專 案中就越應該要有一個完整的規格書來描述該數位遊戲軟體的各種細節。到目前 為止仍然沒有一套標準來訂定一個遊戲規格書應該要有哪些細節,而目前大多遊 戲開發公司都是以簡單的流程圖(Flow Chart)、替代圖片再搭配上文字的說明來 完成遊戲規格書。 一個遊戲規格書至少必須要能夠清楚的描述出下列幾點 ● 視覺素材間的關係 ● 玩家可操作的流程● 系統運作的邏輯規則 而開發成員不管是視覺、程式或是企劃,只要依照規格書內的描述便能在產 品完成開發以前可以對產品有一個概念;遊戲規格書並不是訂定了之後就無法修 改,開發的過程中遊戲規格書仍然會隨著設計而改變,最終開發團隊將會依照規 格書的內容將軟體開發出來,且透過規格書的細節持續的維護產品。
2-5-1 塔防遊戲規格書
塔防遊戲主要還是以怪物、砲台、關卡、怪物行走路徑這些設計為主,不同 遊戲背景風格所設計出來的怪物、砲台、關卡及怪物行走路徑都會有所不同;塔 防遊戲規格書中更重視在各種不同怪物、砲台的規格描述以及關卡的設定,尤其 在怪物及砲台這兩個項目,更容易因為遊戲故事背景而導致遊戲參數的差異,例 如自然為主題的遊戲故事背景可能就只會有「血量」參數,但是如果是奇幻的遊 戲故事背景,則可能增加「魔力」、「護盾」等等參數。22
第三章 架構導向 3D 行動塔防遊戲規格書設計模型
本章將進行架構導向3D 行動塔防遊戲規格書設計模型之塑模,透過結構行 為合一的原則,分析結構與行為重新組成分明的架構框架,建構出架構導向3D 行動塔防遊戲規格書設計模型。3-1 遊戲設計 Cake Keeper 塔防遊戲
為了能夠更具體的體現出架構導向3D 行動塔防遊戲規格書設計模型,在這 個章節以一個自己設計的3D 行動塔防遊戲當作目標並對其規格書進行塑模;這 個遊戲將它命名為"Cake Keeper",其遊戲目的是為了守護畫面中央的蛋糕,避 免被四面八方來的害蟲給吃掉,玩家透過點擊從畫面外進入的害蟲將它們擊斃, 並且獲得分數,隨著遊戲時間進行,害蟲的種類將會越來越多樣,而且遊戲難度 也越來越困難,直到玩家守護的蛋糕被害蟲吃掉為止才算遊戲結束;這個遊戲透 過擊殺害蟲來取得分數,並且遊戲內會持續記錄遊戲最高分,讓玩家在不斷挑戰 並且打破過去的最高紀錄中得到成就感與樂趣。3-2 Cake Keeper 塔防遊戲之架構階層圖
架構階層圖是結構行為合一的第一金律,從結構的觀點經由Cake Keeper 塔 防遊戲的架構階層圖來了解Cake Keeper 塔防遊戲之分層和分解,Cake Keeper 塔防遊戲可分為四個階層,第一層是Cake Keeper,第二層是 Cake Keeper 之介 面程式的構件,第三階層是Cake Keeper 的邏輯處理層構件,第四層是 Cake Keeper 的資料庫構件圖 3-2-1Cake Keeper 塔防遊戲架構階層圖 資料來源:本研究整理 本節依照前項之塑模步驟,由上而下取出「架構階層」,再來將聚合系統分 解出構件,接著分析每一個構件所提供之操作服務以及與其他構件之間的互動關 係,之後再由結構行為合一圖來分析構件與外部使用者之間的互動關係,分析每 一個操作行為,經由互動流程圖來分析構件之間的互動與服務的提供。再來將以 結構行為合一的六大金律之塑模步驟解釋架構導向3D 行動塔防遊戲規格書設計 模型之建置。
以Cake Keeper 塔防遊戲為例,Cake Keeper 可分解為「遊戲開頭畫面 GUI」、 「遊戲說明GUI」、「遊戲結束GUI」、「遊戲場景模型」、「敵人模型」、「蛋糕模型」、
24
關卡Logic」、「聲音管理員 Logic」、「分數計算 Logic」、「資料層」等 7 個構件。
在資料層中,只需要分解出「遊戲存檔」1 個構件。 在Cake Keeper 塔防遊戲的階層圖中,可以看到此遊戲軟體系統的階層分 解,經過第一層次的分解,得到操作層面的構件;經過第二層次的分解,得到邏 輯層面的構件;經過第三層次的分解,得到資料庫層面的構件。透過架構階層圖 讓一個原本複雜的3D 行動遊戲結構,依照其操作層面、邏輯層面以及資料庫層 面三種層面去分割,讓三個層面的構件明確清楚的分開,變得更清晰易懂。運用 不同的方式去分解及分析,所展現出的構件也不會相同,全看分析研究者用甚麼 方式或是角度來進行分解、分析。
3-3 Cake Keeper 塔防遊戲之框架圖
框架圖為「結構行為合一」的第二個金律,經由Cake Keeper 塔防遊戲之構 件解析此3D 行動塔防遊戲結構中構件組成之不同層級。框架圖忽略層次之關 係,只有單純考慮構件之組合,可解釋構件組成之軟體系統結構。Cake Keeper 塔防遊戲框架圖如下圖所示。 圖 3-3-1 Cake Keeper 塔防遊戲 - 框架圖 資料來源:本研究整理在Cake Keeper 塔防遊戲的框架圖中,可以看到此 3D 行動遊戲的階層分層; 經過第1 層的分解,得到 Presentation Layer 的「遊戲開頭畫面 GUI」、「遊戲說明 GUI」、「遊戲結束 GUI」、「遊戲中分數 GUI」等 4 個構件,第 2 層分解後可得到 同樣屬於Presentation Layer 的「遊戲場景物件」、「敵人物件」、「蛋糕物件」等 3 個構件、第3 層 Logic Layer 可分解出「遊戲流程 Logic」、「敵人 Logic」、「蛋糕 Logic」、「遊戲關卡 Logic」、「聲音管理員 Logic」、「分數計算 Logic」、「遊戲存 檔」等7 個構件,以及最後 Technology Layer 的「觸控螢幕」、「陀螺儀」。這 16 個構件可以充分表達此3D 行動遊戲軟體所有類似的操作與運作方式,下表為所 有操作與邏輯及資料庫構件之功能說明的彙整。 表格 3-3-1 構件整理表 - Presentation Layer 資料來源:本研究整理 Layer 構件 構件簡介 遊戲開頭畫面 GUI 顯示遊戲 Logo、遊戲名 稱,並可以進入遊戲說明 之操作 遊戲說明 GUI 顯示遊戲玩法、規則,並 可以進入 Game Play 之操 作 遊戲結束 GUI 顯示遊戲分數、排行資 訊,並可返回遊戲開頭畫 面之操作 遊戲場景物件 顯示遊戲中的 3D 場景 敵人物件 顯示遊戲中的敵人 3D 模 型 蛋糕物件 顯示遊戲中的蛋糕 3D 模 型 Presentation Layer 顯示遊戲中目前所得之
26 表格 3-3-2 構件整理表 - Logic Layer 資料來源:本研究整理 Layer 構件 構件簡介 遊戲流程 Logic 控制遊戲流程 敵人 Logic 實現敵人 AI 與計算進攻 路徑 蛋糕 Logic 計算玩家自身的生命值 遊戲關卡 Logic 控制關卡改變遊戲難度 設定 聲音管理員 Logic 控制音樂/音效的播放予 停止 分數計算 Logic 計算遊戲得分 Logic Layer 遊戲存檔 儲存遊戲歷史最高分資 料 表格 3-3-3 構件整理表 - Technology Layer 資料來源:本研究整理 Layer 構件 構件簡介 觸控螢幕 提供使用者與螢幕的互 動 Technology Layer 陀螺儀 提供裝置晃動偵測及數 據
3-4 Cake Keeper 塔防遊戲構件操作圖
構件操作圖是「結構行為合一」的第三個金律,透過Cake Keeper 塔防遊戲 構件操作圖,將每一個構件所提供的操作都清楚標示出來。如下圖為Cake Keeper 塔防遊戲中的「蛋糕Logic」構件操作圖。每一個操作都是該構件所提供之功能, 而每一個操作都會是其他構件或外部環境來呼叫使用,如果沒有被呼叫使用的操 作,那該操作應該屬於內部的作業行為,不需要對外開放,應該要給予刪除。本 研究將在第四章「研究結果」中進一步說明每個構件操操作的細節。 圖 3-4-1Cake Keeper 塔防遊戲構件操作圖 3 資料來源:本研究整理 遭受攻擊:當玩家保護蛋糕失利,害蟲接觸到蛋糕的時候便會進行一次遭受 攻擊的操作,這個操作會讓蛋糕的生命數值減少,當蛋糕生命減少到零的時候, 就是遊戲結束的時候了。28
3-5 Cake Keeper 塔防遊戲構件連結圖
圖 3-5-1 Cake Keeper 塔防遊戲 構件連結圖 資料來源:本研究整理
構件連結圖是結構行為合一的第四金律,透過Cake Keeper 塔防遊戲構件連 結圖,顯示系統內各個構件之間的連結關係。連結就是外界環境與構件以及構件 與構件之間使用操作的互動關係。透過連結關係的加入,讓此軟體架構變得更清 楚,而Cake Keeper 塔防遊戲當中所有構件之間的互動關係也更清楚明瞭。 在Cake Keeper 塔防遊戲的構件連結圖當中,包含有玩家、遊戲管理員等兩 個外界環境角色,而從這兩個外界環境角色與各個構件之間所提供的操作與操作 互動之間的連結,這將可以立即了解整個軟體系統構件的關聯性。在構件連結圖 中,可以檢視是否有任一個構件沒有與其他構件有連結,如果沒有連結,即代表 這個構件的操作並沒有被呼叫使用過,如果如此,此構件等於是此行為中不需要 的構件,就應該予以刪除,而如果有出現兩個以上的操作連結關係,就可以簡化 成一條連結線。 在外部環境角色的部分,「玩家」一般都是指軟體操作者,也就是一個真正 的自然人,但是在某些狀況下,「玩家」這個角色會是一個虛擬的角色的,這種 狀況通常發生在自動化測試的時候,為了減少人力成本,有時候程式師會額外寫 出一個模擬玩家行為的小軟體,用來代替自然人進行測試,在這種狀況下「玩家」 就會變成是虛擬的了。 而在Cake Keeper 塔防遊戲的構件連結圖當中的「遊戲管理員」他則是永遠 都是虛擬的角色,因為數位遊戲軟體與一般視窗程式的運作有些不同,程式會不 斷地執行,並且檢查各種數值與狀態,然後對資料做出一些改變,這個過程非常 的像一個管理員,他代替遊戲開發者執行、運作遊戲設計者所訂下的遊戲規則與 流程,因此在Cake Keeper 塔防遊戲的構件連結圖當中他指的是一個虛擬的角 色,他的一切運作與行為都是來自遊戲軟體本身。
30
3-6 Cake Keeper 塔防遊戲結構行為合一圖
圖 3-6-1Cake Keeper 塔防遊戲結構行為合一圖 資料來源:本研究整理
結構行為合一圖是結構行為合一之第五個金律,結構行為合一圖可以顯示軟 體裡所有構件之間以及它們和外界環境的互動的操作行為。從結構觀點所繪製的 構件連結圖中,清楚地看出此軟體架構中外界環境與構件之間的互動連結關係, 與採用行為觀點而繪製的Cake Keeper 塔防遊戲結構行為合一圖互相呼應。結構 行為合一就是把行為與構件所提供的操作都連結在一起,串連成一個個行為及當 中所包含的操作與操作間建立的連結線。所以,採用架構的方法建構出來的模 型,可以同時看到構件與行為的順序關係,以及行為所採用的構件操作,產生一 個整合的模型,而不是結構與行為各自分離的模型。 上述的Cake Keeper 塔防遊戲行為分別是檢視歷史分數行為、進入說明行 為、開始遊玩行為、重新再來行為、返回開頭行為、打擊害蟲行為、檢視蛋糕血 量行為、檢視目前分數行為、清除怪物屍體行為、遊戲結束行為、害蟲前進行為、 害蟲攻擊行為、產生怪物行為、關卡升級行為、建立戰場行為。Cake Keeper 塔 防遊戲行為整理如下表所示。
32 表格 3-6-1 Cake Keeper 塔防遊戲構件行為整理表 資料來源:本研究整理 遊戲行為 外部環境 遊戲行為簡介 檢視歷史分數行為 玩家 查詢過去遊玩最好一次 的分數成績 進入說明行為 玩家 進入遊戲說明 開始遊玩行為 玩家 進入 Game Play 重新再來行為 玩家 遊戲結束後直接重新開 始遊戲 返回開頭行為 玩家 遊戲結束後回到遊戲開 頭畫面 打擊害蟲行為 玩家 打擊畫面中的害蟲 檢視蛋糕血量行為 玩家 查詢目前守護的蛋糕血 量 檢視目前分數行為 玩家 查詢這次遊玩至今所得 的分數 清除怪物屍體行為 玩家 當玩家搖動裝置時會清 除場景上怪物的屍體 遊戲結束行為 遊戲管理員 當蛋糕生命歸零的時 候,遊戲結束 害蟲前進行為 遊戲管理員 持續讓害蟲在畫面上移 動 害蟲攻擊行為 遊戲管理員 害蟲接近蛋糕之後進行 攻擊 產生怪物行為 遊戲管理員 產生怪物來攻擊玩家守 護的蛋糕 關卡升級行為 遊戲管理員 透過關卡升級來提升目 前遊戲的難度 建立戰場行為 遊戲管理員 建立遊戲場景
3-7 Cake Keeper 塔防遊戲互動流程圖
互動流程圖是「結構行為合一」的第六個金律,透過互動流程圖,將每一個 系統行為在外界環境、構件之間的操作是如何互動都清楚標示出來。如下圖為 Cake Keeper 塔防遊戲中的「建立戰場」行為之互動流程圖。從互動流程圖中可 以了解到一個系統行為是如何與其他構件、外部環境進行互動,並且了解資料傳 遞的過程,這對實際開發中的編程、規則流程的認識都具有極大的改善。本研究 將在第四章「研究結果」中進一步說明每個系統行為的互動流程細節。 圖 3-7-1Cake Keeper 塔防遊戲互動流程圖 - 建立戰場之行為 資料來源:本研究整理34
第四章 研究結果
透過使用架構導向模型為基礎,並實際建構3D 行動遊戲規格書,將其結果在本 章呈現。4-1 遊戲開發目的
近年來行動裝置的普及率爆發性成長,針對中港台地區約四千五百萬,並持 續增加中之行動遊戲玩家,推出一款適合各年齡層日常休閒的紙片風格結合昆蟲 的守塔遊戲。透過獨特的紙片視覺風格,以及可愛多元的Q 版昆蟲設計,以期 在這龐大的行動應用遊戲市場中開出一條全新的道路。4-2 遊戲開發主要方向
主要方向是利用SBC-ADL做本遊戲的架構設計,透過SBC架構的規 畫,有效降低設計開發的時間、預算、成本,同時增加本遊戲系統後續維護修改 的彈性,降低維護成本,提高獲利。 在專案管理的角度而言,根據企畫內容對於專案時程與專案成本做一個初步 的規劃,並且針對目前行動應用之行動廣告市場做一個概觀的分析,更進一步瞭 解本企劃之驅動力與前提假設限制。以期望能夠更精準的抓住市場脈動與方向。4-3 遊戲開發內容
Cake Keeper 是一個以玩家手指做塔,守護智慧型行動裝置上畫面中央的蛋 糕為目的的休閒類塔防遊戲,本章節將會細說遊戲所需要開發的內容。4-3-1 遊戲概要
本章節將會說明遊戲之核心概念以及世界觀、故事背景等具象的細節,本章 節的內容可以以文字的方式帶領視覺夥伴進入背景情境中,進而輔助他們設計出 與企劃相同背景之遊戲素材。4-3-1-1
核心概念
本遊戲將從視覺風格、遊戲玩法這兩點來擄獲玩家的心,尤其是視覺風格在 市場上是鮮少見到的。 Q 版紙片風格
玩家將在遊戲中遭遇各種以3D Q 版紙片風格打造的各種敵人,就連我 方所守護的蛋糕,其實也是紙做的!? 爽快感
強調敵人如潮水般湧出並且快速擊殺敵人的爽快塔防遊戲。 無止境的挑戰
遊戲將沒有終點,隨著分數將會使難度越來越高,全力挑戰自己的極限。4-3-1-2
世界觀
在一張不知名的桌上放著一個可口美味的紙片蛋糕,所有的人都相信這個紙 片蛋糕的可口程度肯定會引來不少昆蟲,如所有的人所想的那樣,來自各個角落 的昆蟲正朝著紙片蛋糕前進,雖然把蛋糕拿去冰會比較實際,不過,還是戰鬥吧! 盡全力努力抵抗這些昆蟲吧。4-3-1-3
角色
所有角色都以立體的模型加上紙片的貼圖來呈現,透過這種風格跟呈現手法 來降低暴力的成分,提高視覺接受度讓這個產品可以達到預計要推廣的年齡層。4-3-1-4
場景
遊戲中只有一個場景,場景是以全3D 的方式來表現,與角色不同之處是, 他不是以紙片的貼圖來表現,而是一般3D 場景的表現方法來處理,藉此來凸顯36
4-3-1-5
遊戲設定
遊戲名稱以「Cake Keeper」命名,其類型為「塔防遊戲」,相比於經典的塔 防遊戲也許在操作上有些不同,但仍然被分類為「塔防遊戲」,預計第一波將會 在智慧型手機上發表,同時遊戲人數為1 人,可參考「小朋友上樓梯」、「奇幻射 擊」作品來快速了解遊戲方向,目標玩家設定在8~15 歲的玩家,主要販賣地區 為「亞洲」,作品分級將會被設定為全年齡適用。將上述整理歸納後如下表。 表格 4-3-1 Cake Keeper 塔防遊戲塔防遊戲 -遊戲設定 資料來源:本研究整理 遊戲名稱 Cake Keeper 遊戲類型 塔防遊戲 遊戲平台 APP 遊戲人數 1 人 參考作品 小朋友上樓梯、奇幻射擊 目標玩家 8 至 15 歲玩家 販賣地區 亞洲 作品分級 全年齡(普)4-3-2 遊戲結構
本章主要說明遊戲結構是如何構成,使用SBC-ADL 為基礎,分析了遊戲的 系統框架,並說明如何結合視覺、技術、企劃的各種設定並將其融合成本作「Cake Keeper」4-3-2-1
系統框架圖
圖 4-3-1Cake Keeper 塔防遊戲規格書 - 框架圖 資料來源:本研究整理 系統結構框架主要分成四層,如圖中由上至下,最上層與第二層主要成員都 是以GUI 構件以及作為 3D 模型成像的模型物件構件為主,玩家通常透過這些構 件直接與整個系統進行溝通、操作互動。第三層主要成員Logic 構件為主,通常 在接收到指令之後,進行對應的計算、邏輯處理得出一些結果顯示在GUI 上面38
4-3-2-2
系統概要說明
本節主要說明本作之遊戲系統概要,包含遊戲的玩法及特色、遊戲分量說 明、遊戲風格及遊戲規格4-3-2-2-1 整體遊戲玩法概要
Cake Keeper 塔防遊戲的訴求簡單的操作就可以得到大大的樂趣,因此整個 遊戲都可以在一根手指頭下完成所有的操作。遊戲中透過單指點擊畫面中的來襲 的昆蟲來擊殺牠們,透過這種方式保護畫面中的紙片蛋糕;透過不斷的殺敵來獲 取高分。4-3-2-2-2 遊戲玩法特色
Cake Keeper 塔防遊戲結合了紙片風格,並去除了擊殺害蟲的血腥特效,改 以將紙揉成一團的方式來取代死亡的表現,害蟲被揉成紙團後將會停留在畫面 上,玩家必須透過晃動手持裝置(手機),觸發陀螺儀來將紙團清除,並且獲得額 外的分數。4-3-2-2-3 遊戲份量
單一次遊戲時間控制在1~2 分鐘之內,這是為了讓玩家可以盡快獲得一次分 數的結算,因為這種類型的遊戲不可以讓遊戲時間太長,否則玩家將會很快地感 覺到乏味;透過快速結算成績,快速重複遊玩這種作法讓玩家在短時間內重複獲 得新的成就感,同時也能讓要求完美的玩家在遊戲過程發生失誤的時候可以選擇 直接重頭開始,這樣子的設計可以讓這類的失誤發生時降低玩家的失落感,避免 玩家太早放棄遊戲。同時也不希望正在旁邊觀看的親友們等待太久,他們也有挑 戰的權利。4-3-2-2-4 遊戲的特色與風格
一個作品如果要有好的銷售成績必須要具備一些要素,包含「創新」、「特色」、「視覺風格」,本節將會說明這些要素將如何在本作品上呈現。
創新
在Cake Keeper 塔防遊戲中,加入了陀螺儀的要素,藉由搖晃手機來清 楚戰場上的害蟲屍體(紙團),進而獲得額外的遊戲分數,這是大部分手機遊 戲所沒有的。 特色
遊戲中使用紙片的風格當作基底,為了吸引目標年齡層的玩家,將善用 這點特色,將遊戲中的"擊殺"的視覺與聽覺通通換成與紙片風格相符的作 法,不僅降低的暴力的疑慮,更提高遊戲畫面的精緻度。 風格
寫實的遊戲風格並不是主要的目標年齡層所愛好的項目,紙片的風格不 是以寫實的風格來表現,他是一種類似剪紙效果,透過這種手法加上配色 上的應用,將風格調整在一個不會太可愛但也不會太寫實的平衡之中。4-3-2-2-5 遊戲規則
遊戲目的:守住畫面中央的蛋糕不被昆蟲入侵。 過關條件:無,此遊戲是一種挑戰極限的概念。 失敗條件:蛋糕的生命數為0。40
4-3-3 遊戲架構
圖 4-3-2 Cake Keeper 塔防遊戲規格書 - 架構階層圖 資料來源:本研究整理
Cake Keeper 塔防遊戲可分解為「遊戲開頭畫面 GUI」、「遊戲說明GUI」、「遊 戲結束GUI」、「遊戲場景GUI」、「敵人模型」、「蛋糕模型」、「遊戲中分數GUI」、 「邏輯層」等8 個構件。
邏輯層可分解為、「遊戲流程Logic」、「敵人 Logic」、「蛋糕 Logic」、「遊戲 關卡Logic」、「聲音管理員 Logic」、「分數計算 Logic」、「資料層」等7 個構件。
在資料層中,只需要分解出「遊戲存檔」1 個構件。
在Cake Keeper 塔防遊戲的階層圖中,可以看到此遊戲軟體系統的階層分 解,經過第一層次的分解,得到操作層面的構件;經過第二層次的分解,得到邏 輯層面的構件;經過第三層次的分解,得到資料庫層面的構件。
4-3-3-1
角色資料規格
遊戲中所有敵方角色、我方角色皆擁有相同的屬性參數,分別為「ID」、「名 稱」、「血量」、「移動方式」、「移動速度」、「移動頻率」、「分數」、「出現比例」、「體 型」、「出現條件」,每個角色這些參數都有不同的設定,藉此可調整遊戲之難度 與變化。其中視覺製作需要參考的「外觀」也將本節整理的表格中。整理後遊戲 中角色的所有資料規格如下 表格 4-3-2 Cake Keeper 塔防遊戲規格書 - 敵人資料規格表 1 資料來源:本研究整理 1 ID Enemy_1 名稱 普通螞蟻 血量 1 移動方式 直線移動 移動速度 0.7 移動頻率 持續 分數 10 出現比例 70% 體型 小 - 出現條件 無特殊條件 外觀 黑色螞蟻 表格 4-3-3 Cake Keeper 塔防遊戲規格書 - 敵人資料規格表 2 資料來源:本研究整理 2 ID Enemy_2 名稱 紅螞蟻 血量 1 移動方式 直線移動 移動速度 2 移動頻率 持續 分數 20 出現比例 30% 體型 小 - 出現條件 無特殊條件42 表格 4-3-4 Cake Keeper 塔防遊戲規格書 - 敵人資料規格表 3 資料來源:本研究整理 3 ID Enemy_3 名稱 蒼蠅 血量 2 移動方式 逆 時 鐘 繞 蛋 糕 前 進 移動速度 3 移動頻率 持續 分數 50 出現比例 35% 體型 中 - 出現條件 每次提升 Level 會出現一次 外觀 蒼蠅外觀,黑色,大小要比螞蟻大約 0.5 倍 表格 4-3-5 Cake Keeper 塔防遊戲規格書 - 敵人資料規格表 4 資料來源:本研究整理 4 ID Enemy_4 名稱 蟑螂 血量 3 移動方式 自 身 中 心 隨 機 直 線方向 移動速度 3 移動頻率 0.3~0.6 秒 分數 200 出現比例 - 體型 大 - - 出現條件 每提升 5 次 Level 就會出現一隻 外觀 台灣蟑螂外觀,黑色,大小要比螞蟻大約 1 倍 表格 4-3-6 Cake Keeper 塔防遊戲規格書 - 敵人資料規格表 5 資料來源:本研究整理 5 ID Cake_1 名稱 紙片蛋糕 血量 5 移動方式 無法移動 移動速度 0 移動頻率 0 秒
分數 - 出現比例 一定會出現在遊 戲中 體型 小 - 出現條件 當玩家進入遊戲時 外觀 草莓口味的蛋糕,外面裹著厚厚奶油,蛋糕中有著看似布 丁但又不是的材料
4-3-3-2
角色設定
本節將列舉所有遊戲中會出現的遊戲角色,包含我方角色與敵方角色,並且 說明角色的視覺風格、素材規格等等。4-3-3-2-1 角色清單
本節主要說明遊戲中各角色的背景,也許部分說明與遊戲規則或是玩法無 關,但這些描述都是為了確保視覺素材的各個細節與企劃人員想帶給玩家的感覺 相同;每個角色因背景、種類不同,將會有不同的說明內容。整理後以數個表格 呈現如下 表格 4-3-7 Cake Keeper 塔防遊戲規格書 - 角色描述表(紙片蛋糕) 資料來源:本研究整理 角色名稱 紙片蛋糕 口味 草莓口味 說明 外面裹著厚厚奶油,蛋糕中有著看似布丁但又不是的材料 保存期限 因為紙做的,所以不會壞 製造商 台灣紙片甜點工訪44 參考圖 表格 4-3-8 Cake Keeper 塔防遊戲規格書 - 角色描述表(螞蟻) 資料來源:本研究整理 角色名稱 螞蟻 顏色 黑色 * 1 、紅色 * 1 說明 與自然界中螞蟻的形象為參考即可,盡可能使用居家常出 現的品種,避免使用山林或野外中的品種,因為通常野外 的品種玩家見識的比較少,比較沒認同感,同時山林或野 外的品種長的也比較奇特或是恐怖。 參考圖 表格 4-3-9 Cake Keeper 塔防遊戲規格書 - 角色描述表(蒼蠅) 資料來源:本研究整理 角色名稱 蒼蠅 說明 與自然界中蒼蠅的形象為參考即可,盡可能使用居家常出 現的品種,避免使用山林或野外中的品種,因為通常野外 的品種玩家見識的比較少,比較沒認同感,同時山林或野 外的品種長的也比較奇特或是恐怖。 參考圖
表格 4-3-10 Cake Keeper 塔防遊戲規格書 - 角色描述表(蟑螂) 資料來源:本研究整理 角色名稱 蟑螂 說明 與自然界中蟑螂的形象為參考即可,由於蟑螂品種非常 多,外型差異上也很大,因此請務必使用參考圖的類型來 製作,以符合遊戲視覺設定。 參考圖
46
4-3-3-2-2 模型規格
本節說明遊戲中使用的3D 模型之規格,礙於行動平台的關係,硬體限制比 電腦上大了許多,因此必須要限制模型之多邊形數量以及其貼圖大小,避免遊戲 運作不順暢造成玩家的反感。每個模型完成後將檔案命名為其「ID」欄位之名稱, 大小以建模軟體內之公分為單位,多邊形數量則是以「三角面」作為統計,貼圖 大小則以像素表示。整理後以表格呈現如下: 表格 4-3-11 Cake Keeper 塔防遊戲規格書 - 角色模型規格表(紙片蛋糕) 資料來源:本研究整理 ID 1001m 名稱 紙片蛋糕 大小 長:20(cm) 寬:20(cm) 高:20(cm) 多邊形數量 1500 以內 貼圖大小 512 * 512 表格 4-3-12 Cake Keeper 塔防遊戲規格書 - 角色模型規格表(黑螞蟻) 資料來源:本研究整理 ID 1002m 名稱 黑螞蟻 大小 長:20(cm) 寬:20(cm) 高:20(cm) 多邊形數量 1000 以內 貼圖大小 512 * 512表格 4-3-13 Cake Keeper 塔防遊戲規格書 - 角色模型規格表(紅螞蟻) 資料來源:本研究整理 ID 1003m 名稱 紅螞蟻 大小 長:20(cm) 寬:20(cm) 高:20(cm) 多邊形數量 1000 以內 貼圖大小 512 * 512 表格 4-3-14 Cake Keeper 塔防遊戲規格書 - 角色模型規格表(蒼蠅) 資料來源:本研究整理 ID 1004m 名稱 蒼蠅 大小 長:30(cm) 寬:30(cm) 高:30(cm) 多邊形數量 1000 以內 貼圖大小 512 * 512 表格 4-3-15 Cake Keeper 塔防遊戲規格書 - 角色模型規格表(蟑螂) 資料來源:本研究整理 ID 1005m 名稱 蟑螂 大小 長:40(cm) 寬:40(cm) 高:40(cm)
48
4-3-3-3
畫面 UI
本節將會說明遊戲中會出現的遊戲介面,並且用示意圖的方式帶領視覺成員 進入情境,每個示意圖將會說明其顯示重點以及原因,確保企劃想表達的內容可 以完整呈現到玩家面前。4-3-3-3-1 開頭畫面 UI
圖 4-3-3 Cake Keeper 塔防遊戲規格書 - 遊戲開頭畫面示意圖 資料來源:本研究整理 開頭畫面必須要符合紙片的風格,使用 2D 界面呈現即可。請務必凸顯下列 幾個重點 遊戲名稱:本作的名稱「Cake Keeper」,最好可以在名稱上暗示或明示 遊戲玩法或目的 開發團隊:打響知名度使用,需要按照開發團隊的 Logo 標準製作 暗示敵軍意圖:必須讓玩家一看開頭畫面就大概知道遊戲可能的玩法, 並且引起玩家興趣,避免玩家一看到開頭畫面就放棄遊戲。 遊戲目前最高分:讓玩家有一個挑戰的目標,不需要非常明顯的顯示, 讓玩家可以檢視的到就行了。4-3-3-3-2 遊戲中 UI
圖表 四-1 Cake Keeper 塔防遊戲規格書 - 遊戲中 UI 示意圖 資料來源:本研究整理 由於遊戲過程中玩家的手指是經常性的在螢幕上面移動、點擊,因此在遊戲 中花費太多心力製作美麗的UI 是沒甚麼效益的,大部分的遊玩時間中 UI 都會 被玩家手指蓋住,所以遊戲中不需要甚麼UI,只需要用來顯示玩家目前得分的 界面即可。50
4-3-3-4
特效
本節說明遊戲中使用到的特效,「ID」欄位是作為流水編號之用途,「特效名 稱」之欄位是作為成員與成員間溝通時通用的名詞定義,而完成製作之後必須依 照「英文名稱」之欄位內容將檔案命名,「內容」欄位將會說明特效呈現的方式, 「使用時機」將會說明遊戲中將特效演出的適當時機,供開發人員參考。整理後 以表格呈現如下: 表格 4-3-16 Cake Keeper 塔防遊戲規格書 - 遊戲特效項目表 資料來源:本研究整理 ID 特效名稱 英文名稱 內容 使用時機 1 點擊特效 touch 一個閃光,用來回饋使用者真 的有點擊到螢幕 每 當 使 用 者 點 中 畫 面 的 時候 2 擊中特效 hit 一個"啪"的感覺,用來表示擊 中敵人 每 當 玩 家 擊 中 畫 面 上 的 敵人時演出 3 轉場特效 changeSc ene 用來減少玩家對畫面順切的不 順暢感 每 當 遊 戲 畫 面 需 要 有 大 幅 度 的 改 變 時,如進入戰 鬥場景時 4 死亡特效 enemyDea th 每當敵人死掉的時候使用,是 怪物變成紙團的一個過程 每 都 有 敵 人 死 掉 的 時 候 演出4-3-3-5
音效
本節說明遊戲中使用到的特效,「ID」欄位是作為流水編號之用途,「音效名 稱」之欄位是作為成員與成員間溝通時通用的名詞定義,而完成製作之後必須依 照「英文名稱」之欄位內容將檔案命名,「使用時機」之欄位將會說明其音效播 放之時機點。整理後以表格呈現如下: 表格 4-3-17 Cake Keeper 塔防遊戲規格書 - 遊戲音效項目表 資料來源:本研究整理 ID 音效名稱 英文名稱 使用時機 1 螞蟻移動的聲音 ant1 當螞蟻出場時 2 蒼蠅移動的聲音 fly1 當蒼蠅出場時 3 蟑螂移動的聲音 cock roach 當蟑螂出場時 4 遊戲開始的聲音 gamestart 當載入完成,玩家開始進行 遊戲時 5 遊戲結束的聲音 gameover 當蛋糕生命值龜 0 6 清除紙團的聲音 paperrollout 當遊戲中的紙團被清除4-3-3-6
音樂
本節說明遊戲中使用到的特效,「ID」欄位是作為流水編號之用途,「音樂名 稱」之欄位是作為成員與成員間溝通時通用的名詞定義,而完成製作之後必須依 照「英文名稱」之欄位內容將檔案命名,「使用時機」之欄位將會說明其音效播 放之時機點。整理後以表格呈現如下: 表格 4-3-18 Cake Keeper 塔防遊戲規格書 - 遊戲音樂項目表 資料來源:本研究整理 ID 音樂名稱 英文名稱 使用時機 1 遊戲開頭畫面 opening 當進入開頭畫面時播放52
4-3-3-7
角色動作清單
本節說明遊戲中使用到的特效,「序號」欄位是作為流水編號之用途,「動作 名稱」之欄位是作為成員與成員間溝通時通用的名詞定義,而完成製作之後必須 依照「ID」之欄位內容將檔案命名。整理後以表格呈現如下: 表格 4-3-19 Cake Keeper 塔防遊戲規格書 - 角色動作清單(紙片蛋糕) 資料來源:本研究整理 序號 ID 動作名稱 1 Cake_standby 蛋糕平時待機動作 2 cake_hurt 蛋糕受到攻擊 3 cake_death 蛋糕死亡 表格 4-3-20 Cake Keeper 塔防遊戲規格書 - 角色動作清單(黑/紅螞蟻) 資料來源:本研究整理 序號 ID 動作名稱 1 Ant_move 螞蟻移動 2 Ant_death 螞蟻死亡 表格 4-3-21 Cake Keeper 塔防遊戲規格書 - 角色動作清單(蒼蠅) 資料來源:本研究整理 序號 ID 動作名稱 1 Fly_move 蒼蠅移動 2 Fly_death 蒼蠅死亡 表格 4-3-22 Cake Keeper 塔防遊戲規格書 - 角色動作清單(蟑螂) 資料來源:本研究整理 序號 ID 動作名稱 1 Roach_move 蟑螂移動 2 Roach_death 蟑螂死亡4-3-3-8
得分
遊戲中分數計算必須透過公式進行計算,分數將會影響關卡等級以及部分敵 人出現的條件。「總分」即玩家最終獲得的分數,其計算是透過「紙團獎勵分數」 加上「個別小計加總」而得;而「個別小計加總」是由「個別怪物分數」乘上「擊 破數量」而得;而「紙團獎勵分數」是由「紙團分數」乘上「紙團清除數量」而 得。公式整理後如下描述: 個別怪物分數 × 擊破數量 = 個別小計 紙團分數 × 紙團清除數量 = 紙團獎勵分數 紙團獎勵分數 ┼ 個別小計 = 總分 遊戲中之怪物被擊殺之後都可獲得一個「個別怪物分數」,每個怪物的分數 都有所不同,整理後怪物分數如下表: 表格 4-3-23 Cake Keeper 塔防遊戲規格書 - 角色分數表 資料來源:本研究整理 怪物名稱 分數 普通螞蟻 10 紅螞蟻 20 蒼蠅 50 蟑螂 200 紙團 5054
4-3-3-9
操作方式
圖 4-3-4 Cake Keeper 塔防遊戲規格書 - 結構行為合一圖 資料來源:本研究整理