• 沒有找到結果。

第一章 緒論

1.5 論文之章節結構

立 政 治 大 學

Na tiona

l Ch engchi University

1.5 論文之章節結構

本論文接下來的章節架構分類如下:第二章為相關理論與技術背景,講述研究方 法以及相關的理論技術,第三章為本論文的系統架構,講述整體系統設計,從 後端到前端的考量以及設計的目的,第四章為系統實作的細節,第五章為系統 測試與回饋,透過訪談方式來了解本論文開發之隨境遊戲是否有達到預期的目 的。第六章為結論與未來展望。

用做暗黑帝國的實體關係討論,討論出 conceptual data model,資科系團隊再 並透過 Data Modeling 的過程來逐步建立資料庫系統所需的要求, [5,16]。

Data Model 主要可分成三項 conceptual data model、logical data model、

physical data model,圖 2.1[18]。

 conceptual data model: 根據用戶需求討論出來最初的要求跟規範,常用 實體關係圖(entity-relationship diagrams,簡稱 ERD)來描述重要實體 之間的關係,如圖 2.2。

 logical data model: 將資料的細節表達出來,包括所有實體的屬、關係和 主鍵(primary key),以及用以連結實體關係的外來鍵(foreign keys)。

 physical data model:將邏輯資料模式依實際運作上的考量,在特定資料庫 系統上實現的結果,包括資料表、欄位、鍵值、資料型態、儲存程序、存取 限制等。

為了讓社會系成員能更具體的表達讓資科系的成員了解跟討論,也讓資科系 的成員能表達程式設計上的限制,使用 Agile software development 常用的

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

圖 1 entity-relationship diagrams[5]

Figure 2.2:Entity-relationship diagrams[5]。

user story 方式(圖 2.3),將社會系團隊設想的 ARG APP 需求,用文字跟圖像的 方式表達出來,藉此判斷哪些功能是 APP 的核心價值,使得社會系跟資科系兩個 團隊的人,有了互相溝通的依據,也用來排定功能或設計上的優先次序。User story 是一段簡單的功能描述,以使用者的觀點,寫下有價值的功能,不同於製 作詳細的規格書,只是代表使用者的一個需求而已,通常使用者不會明確的知道 他們要的是甚麼,且開發者跟使用者的認知,理解上往往會有一定的落差。

Figure 2.1: The data modeling porcess.[18]。

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

Figure 2.3: 設計隨境遊戲的 User Story。

2.2 相關理論背景

本論文研究在此章節介紹相關的理論背景以及設計系統有關的技術方法。理論 背景講述空間創用(Produsage of Space)、遊戲人理論(Homo Ludens)、隨境遊 戲(Pervasve gam)、另類實境遊戲(Alternate reality game),而關於系統設 計的技術,介紹 Model–view–controller、Model-view-presenter、Object Relational Mapping、Representational State Transfer 四種方法。

2.2.1 Produsage of Space

創用(Produsage)是 Axel Bruns 所創造的一個混成詞,由 produce 與 usage 兩個字所組成,是指現今網路社群的發展,使得傳統的生產者、消費者 之間的關係變得模糊,如同維基百科,不再是由一群專家去生產內容,一般民 眾去閱讀內容,而是任何人都可以為維基百科進行內容撰寫、修改,打破了生 產者與消費者之間的分野。[2]

創用有四個的特點,開放參與與發展、各階層人才的流動、持續不斷的內 容製造、共同財產與個人獎勵。

1. 開放參與與發展:透過多個用戶協作來創建完成內容,而非經由單一作

空間創用(Produsage of Space),是將創用的概念與空間做結合,對現實生活 空間進行創用。原本現實世界的空間是經由該空間的擁有者來賦予其意義,而 藉由適地性服務將現實世界與虛擬世界的空間重疊在一起,使用者可以透過虛 擬世界來對現實世界的空間重新賦予意義,使得現實世界空間原本的涵義被延 伸甚至取代。

2.2.2 Homo Ludens

自從希臘哲學家 Aristotle 將人稱為理性的動物,傳統上西方思想的主流,即 嘗試把人類定義為為智慧人(Homo Sapoens),但隨著工業科技的發展,人們發 現人類的本性似乎不是那麼理性,因此又有人是工匠人 Homo Faber 的說法,嘗 試以客觀角度來對人類的特質加以描述,但其他動物也有者製作工具的能力,

在這個定義下似乎無法凸顯出人類的特質。而早在 1938 年,荷蘭思想家 Johan Huizinga 就已經寫《遊戲人》(”Homo Ludens”)一書,挑戰長期以來諸如 Homo Sapiens 或 Homo Faber 的想法。

關於人類遊戲 Huizinga 認為有以下形式特色[3]:

1. 遊戲是一種自由自主自願的活動

2.2.3 Pervasive game

Pervasive game(隨境遊戲)是指混和虛擬世界與現實世界場域的遊戲,相較傳 統遊戲,隨境遊戲強調的是使用者在現實環境中進行遊戲,虛擬世界與相關技 術是用來支援與輔助的。[10]

Kalle Jegers 對於隨境遊戲提出三個特點[7,8]

1. 在任何時間地點均可以進行遊玩:

由於隨境遊戲的時空特性,使得玩家不再拘限於電腦或電視遊樂器前,

可以在任何時間地點進行遊戲。

2. 真實世界與虛擬世界的相互交融:

隨境遊戲是在真實世界中進行,透過行動載具,各種相關技術延伸虛擬

另外隨境遊戲可以從 Spatial expansion、Time expansion、social expansion 三個面向來看[4]:

1. Spatial expansion:

隨進遊戲玩家不僅僅是在虛擬世界遊玩,而是現實世界成為遊戲世界的

3. Social expansion:

由於隨境遊戲會在真實世界中進行遊玩,玩家可能會把非進行遊戲的旁 觀者,認為是遊戲中的對象,如 Ingress 中,你佔領的塔被攻擊,可能 會去猜測周圍任何有拿手機的人是攻擊你的對象。

2.2.4 Alternate reality game

Alternate reality game(另類實境遊戲) [1,17]的故事情節可以被參加者的想 法或行動改變。另類實境遊戲需要玩家的大量參與,劇情的發生是即時的,並會 受到玩家反應的影響。相對於傳統電玩中,角色是被遊戲中的人工智慧所控制,

在另類實境遊戲中角色是被遊戲的設計者所控制的。玩家們直接與另類實境遊戲

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

中的角色互動,一起解決設計好的挑戰或是謎題,也經常以一個社群的方式來分 析劇情並協調現實生活與進行中的活動。

早期著名的例子是 2001 年,電影《A.I.人工智慧》(A.I. Artificial Intelligence)是由史蒂芬•史匹柏導演的,史丹利•庫柏力克參與製作的一部 電影,Microsoft 的團隊設計 The Beast 這款 Alternate reality game,運行 了 12 個星期遊戲,重點圍繞在一個複雜的謀殺案,雖然 The Beast 只運行了三 個月,卻引發了玩家間的高度組織化,跟社群間的活絡。

而現今有名的 Alternate reality game ,Ingress 是由 Google2013 年發布 在 IOS 和 Android 平台的手機遊戲,遊戲的故事背景是一群歐洲科學家偶然發現 某種神秘的能量 XM(Exotic Matter),這一能量的來源和用途無人知曉,研究人 員認為可以開發並善用這能量,但另一方面卻擔心這樣的能量會影響人們的思考 甚至被能量本身奴役。

遊戲中玩家被分成兩派,一派是綠色陣營(Enlightened)另一派是藍色陣營 (Resistance),在 Ingress 中,玩家被稱作為探員(Agent),兩個陣營的目標均 是爭奪塔(Portal),Portal 是現實世界中可以被公眾探訪的地點,像是建築物、

雕塑、繪畫塗鴉…等,在台灣被審核通過最多的 Portal 是變電箱上的繪圖,每 個變電箱都是由早期電影看板畫師去特別的去彩繪的。Portal 被占領後會根據 陣營顯示對應的顏色,如圖 1-1 中,藍色是 Resistance,綠色是 Enlightened,

白色則是目前不屬於藍軍或者綠軍的 Portal。由於 Ingress 在遊戲中只有提供 簡單的聊天室功能,因此各地的社群大都是透過 Google 的 Hangout 來聯絡,並 且由高等玩家帶領新手和舉辦活動。

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

Figure 2.4: Ingress 遊戲畫面。

2.3 相關技術

2.3.1 Model–view–controller

MVC(Model-View-Controller) 是 軟 體 工 程 中 一 種 軟 體 架 構 模 式 , 由 Trygve Reenskaug 在 1978 年提出,由把軟體系統分成 Model、View、Controller 三個 部分,目的是實做一種動態程式設計,使得後續開發對程式的修改跟擴充功能簡 化,並且使程式具有重複利用的可能性,Model、View、Controller 三個部分代 表的意義如下,圖 6[11,13]。

 View:讀取 Model 的資料進行畫面顯示呈現。

將 Model 裡的資料做有目的的顯示,通常不包含程式邏輯,僅僅只是 顯示,而為了實作 View 的重新整理功能,需要存取監視的 Model,並 註冊。

 Controller:負責處理使用者在 view 請求,並對請求做處理。

主要用於控制應用程式的流程,處理使用者行為、應用程式事件及資 料 Model 並做出回應。

 MODEL:負責管理資料庫以及應用程式邏輯與規則

主要用於封裝應用程式邏輯相關資料以及對資料的處理方法,擁有對

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

資料庫的存取權,Model 不依賴 View 跟 Controller,意即不關心如何 被顯示或是如何被操作。

Figure 2.5:MVC、MVP 架構。

2.3.2 Model-view-presenter,

MVP(Model-view-presenter)是以 MVC 軟體架構模式為基礎,所延伸提出的一種 模式,跟 MVC 最大的不同是分離了 Model 與 View 的關聯,均須透過 presenter 來進行事件處理跟取得資料,圖 6[14]。

 Model:定義 View 所需要被顯示的資料。

 View:進行換面呈現,用以表現來自 Model 的資料,將使用者行為,傳遞給 Presenter 進行處理。

 Presenter:包含各個事件處理,從 Model 中取得所需資料,並將取得的資 料轉換成所需要的格式傳遞給 View 呈現。

2.3.3 Object Relational Mapping

ORM(Object Relational Mapping),用於實現物件導向編成語言裡不同類型系統 資料之間的轉換,開發者不需要直接撰寫 SQL 對資料庫進行操作,而是透過物件 的方式對資料做處理。物件導向是從軟體工程的基本原則耦合、聚合、封裝的基

2.3.4 Representational State Transfer

REST(Representational State Transfer),是 Roy Fielding 博士在 2000 年提 出來的一種軟體架構風格,相較於其他複雜的 SOAP、XML-RPC 更加簡潔

Rest 是一種設計風格,主要是從三個方面定義:[4,15]

1.使用直觀簡短的資源地址,來對資源傳輸與操作,即資源是透過 URL 指定。

2.傳輸的資源是 Web 接受與返回的網際網路媒體類型,如 JSON、XML 等。

3.對資源的操作對應 HTTP 協議所提供的 GET、POST、PUT、DELETE 方法。

REST API 是基於 HTTP 協定,使用 URL 來對資源作操作,實作 CRUD(Create、

Read、Update、Delete)對應於 HTTP 協議提供的 GET、PUT、POST、DELETE 四種 請求方法,由於前端跟後端往往是交付由不同人開發的,一個簡單易讀的 API 可 http://example/book 列出整組

資源

http://example/book/119 列出特定 資源

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

第三章 系統架構

此章節描述本論文系統架構設計。首先從概觀的角度出發,講述隨境遊戲的特性,

再介紹系統架構的考量與設計目標,最後在介紹架構中各個主元件所負擔的功能。

3.1 系統設計考量與目標

由於隨境遊戲不像傳統遊戲是在固定地點遊玩,是深入現實生活環境中,以及

由於隨境遊戲不像傳統遊戲是在固定地點遊玩,是深入現實生活環境中,以及

相關文件