• 沒有找到結果。

第二章 文獻探討

2.3 數位協同創作與共同編輯系統

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

2.3 數位協同創作與共同編輯系統

本節將以過去數個數位協同創作的互動作品為例,進一步討論與共同編輯 系統結合的可能性。

“HIVE” 是由 Jon Montenegro 於 2015 年提出的一項數位協同創作[14]:多名 使用者同時編輯一塊工作區域,工作區域上分佈著圓圈排成的矩形,藉由使用 者點擊矩形隨機填入顏色或改變樣式,以形成一幅簡易的圖畫。

以目前此作品於線上的展示狀況來看,使用者之於其他使用者為未知狀態,意 即每個參與者皆不曉得此時線上有多少人,或者正在哪個位置執行什麼動作,

因此產生出來也為不可預測的最終結果。

圖 2.4 HIVE 創作介面

Jon Montenegro 的另一項創作“Abyss”[16]亦有異曲同工之妙,觀眾(也就是參 與者)使用手機掃描 QR code 之後,會將參與者的手持裝置導向一幅全黑的畫 面,藉由對面板進行點擊的動作會在該畫面產生漣漪,而這些參與者造成的漣

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

DOI:10.6814/THE.NCCU.DCT.004.2018.B02

18

這兩項作品皆使觀眾跳脫單純「觀賞」的角色,使其成為創作者的一部份,可 視為共同編輯系統的一種變體。

圖 2.5 Abyss 互動成像

而點陣式共同圖像創作,例如 CrowdPainting 實驗計畫,此網站計畫以多人於線 上繪製畫布的一部分,完成史上最大的共同合作繪畫。使用者在註冊及登錄後,

可於系統分配的指定空白位置進行作畫;與前兩者不同,使用者無法對其他參 與者的作畫區域進行干涉的動作,但在區域作畫完成後申請新的畫布,只要是 分配給自己的區域都可更動修改。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 2.6 CrowdPainting 計畫實施頁面

除此之外尚有許多數位協同創作的互動作品,在此不再一一列舉,但可從中注 意到,大多數的創作者在製作這類型的互動作品時,會選擇使用 JavaScript 做為 主要開發語言;以及這些互動作品的功能,無疑能夠以一般共同編輯系統的概 念作為為基礎模板,進一步進行開發及調整後成形。

下一章節將敘述本研究結合參與者模式與數位協同創作方法,以及實作範例。

由於 JavaScript 的運行環境以瀏覽器為主,因此設計成單執行緒的程式語言,為 了避免阻塞,發展出使用呼調(Callback)的非同步程式設計方式,而這種撰寫 方式又發展出延續傳遞風格,此種程式撰寫方式視專案複雜度的不同,對開發 者而言可能衍生出其他困難,將在下一節進一步進行介紹。

3.1 延續傳遞風格與非同步程式設計

延續傳遞風格(Continuation-passing style),簡稱 CPS,與直接風格(Direct style)直接回傳函數計算結果值不同,延續傳遞風格選擇將計算完成的結果直 接傳送入下一個要進行計算的函式。相較於其他程式語言 JavaScript 更為頻繁地 使用 CPS 程設方法,除了因為 JavaScript 本身即具備高階函式(High order function)的特性外,還有其只具備單執行緒的執行方式:卻在多人連線處理大 量 I/O 時仍需維持不阻塞的執行效率,因此需要可以確保非同步回調的程設方 法。

相關文件