2008年6月18日星期三

互動藝術遊戲設計 期末感想

這學期修的「互動藝術遊戲設計」在今天早上進行期末專題的DEMO,晚上再把實際互動過程拍好、繳交報告後,即將告一個段落了。在這一個學期以來的課程中,李家祥老師除了講授Processing這個語言之外,也教我們樂高MindStorm機器人Arduino電路板以及使用PC藍芽與WiiRemote組合等等運用上十分具有彈性互動裝置。期末專題則是希望我們能夠使用這學期交的這些基本技巧與裝置知識,做出一個有趣的互動作品。

我們這組的作品是 - Your World。大致上的發想是,參與者能夠透過操作裝置與我們設計的程式互動,發掘出參與者的內心世界,並透過圖像視覺化呈現出來。而我們這組有兩位強力美工人才,所以我們決定採用手繪圖像的方式來做出最後呈現的世界,而我則不擅繪圖,只能寫寫程式啦。繪畫處理的方面我們把所有世界圖像的手繪稿 - 包括世界背景、建築、人物、動植物一一掃瞄進電腦之後,進行去背處理,讓圖片在最後一起顯示出來的時候,能達到有點「紙片立體」的感覺,比如NDS遊戲「路行鳥的魔法繪本」的視覺效果,如下面的影片



有了圖片之後,就需要開始搭配程式來與玩家互動並操作這些圖片材料囉。使用的語言就是processing。在這次的期末專案,其實出比較多問題的在一些程式的細節不熟,花費了不少時間。
比方說,我們把WiiRemote加上紅外線棒與藍芽,使用一個Java的Library,WiiRemoteJ,來接收WiiRemote的訊號,並且將WiiRemote模擬成滑鼠使用,把WiiRemote的A、B鈕對應到滑鼠的左右鍵。這樣一來我們就可以在實做期間都使用滑鼠來操作,而且在事件監聽(Event Listening)的部分也可以用processing內建的mousePressed、mouseClicked等事件直接處理掉。而一個問題就出現在mousePressed與mouseClicked的差異,一般來說我們習慣把滑鼠點擊後要執行的程式內容擺在mouseClicked裡面,但是processing的處理方式是「不斷的loop執行draw()」,所以在程式的frameRate不低的情況下,在draw()執行完之前,滑鼠只被press但還沒被release,mouseClicked就不會被執行,導致mouseClicked這個事件變的非常地不靈敏,解決方法是把mouseClicked更換成mousePressed,這樣一來事件在draw()結束之前,成功觸發的機率就會提高許多。
另外一個就是圖片處理。其實Processing在圖片處理的部分並沒有提供很多工具函式,導致我們需要自行封裝一些物件來控制眾多的圖片。我也是第一次寫這種圖形的東西,寫起來不是很順,處理圖片移動上我只有簡單的讓圖片沿著xy兩軸可以隨著時間做不同速率的來回移動,而透過把x,y兩軸分別設定不同的移動參數,我們可以得到不同的物件移動方式。譬如說,把一個動物圖片物件y軸設定以5 pixel的幅度來回移動,x軸設定為圍著時間增加x座標,這樣就可以大略做出動物從左邊往右跳躍的感覺。其實現在想一想,要加拋物線或是圓型移動路徑好像也很簡單,在更新物件座標的函示裡面加上一個圓形跟拋物線方程式的case就可以了。
另外最遺憾的就是因為自己太懶,沒有整個圖片讀取的部分處理好,本來是想要用文字檔去記錄各個圖片參數等等,後來是直接應寫在程式碼裡面,結果就是程式碼大膨脹,也辛苦了我們的PM兼美工兼QC的meowme同學。(真的辛苦啦~~~~~~~~!泡泡也是!)

課堂上還有其他三組,組員都有應藝所的學長姐,做出來的東西大部分都比較有朝展場的角度去作設計,而他們的主題也都很有趣。第一是科技化碟仙,第二是座位距離(戀情)感知系統,這兩個運用WiiRemote的紅外線定位來玩碟仙跟計算作為距離以播放不同音樂。最後一個,桃源行,則是用Arduino電路板接上跳舞墊,透過按壓跳舞墊來控制LED花束的表現。

修這堂課真的是跨到了一個新領域,感謝選課時meowme慧眼獨具,家祥老師說下學期如果可以的話會開mobile devices相關的設計課程,要是開成了又是一定要修的課啦!最後,老師明天開始到七月底在交大藝文中心有展覽一個作品「祈願樹」,是與交大應藝所所長張恬君老師一同合作的互動藝術,上禮拜張恬君老師逝世的噩耗讓「祈願樹」加上了一層濃濃的感傷,如果有時間的話,到交大藝文中心看看祈願樹這個作品,並為張恬君老師寫上一張祈願卡吧!

1 回應:

manorboy 提到...

您好!!
我現在嘗試使用WiimoteJ.
不過現在有問題
因為不太會使用此軟體的API
如果要使用它的範例程式
需要哪些軟體或是JAR檔
要怎樣設定它們的環境變數
謝謝