2007-04-11
「軟體藝術」與人工生命的相遇
文章論述/數位藝術
  數位藝術的創作,直接源於數位科技的環境,例如藝術家在暗室,利用雷射、光纖或霓虹燈,來設計舞動閃耀的視覺效果;藝術家也利用電腦套裝軟體,例如 PhotoShop 來從事影像創作。總的來說,當代的數位藝術包含以下幾種類型:靜態的數位影像作品、動態的影音作品、網路多媒體作品,以及各種裝置藝術等等。數位藝術家,有的是使用市面上現成的套裝軟體,有的則是使用照相機、攝影機等器材來從事創作,雖然這些藝術家會操作這些軟體或器材,但是他們可能並不熟悉電腦程式語言,換句話說,他們可能不會寫程式。然而,另外有一類數位藝術家,同時也是程式設計師,他們的作品被歸類為數位藝術的「軟體藝術」(Software Art)


  上面這隻栩栩如生的人工魚,可以被視為軟體藝術的例子。這個由我修改的 Java Applet 程式,只不過 50KB,卻演示了當代人工生命(Artificial Life)研究的成果。活靈活現的悠游魚身,配合三維光影效果的立體感,更顯得逼真。如果再加上熱帶綠藻、礁岩與其他觀賞魚類,便是一個小型的水族生態了,此外我們也可以設計讓人工魚可以覓食、生長,甚至是與異性魚類有「夫妻之實」。人工生命是電腦技術與生命科學的美妙結合,對於程式設計師,或是軟體藝術家來說,這個結合不但可以模擬生物的各種行為,它還充滿了無限的想像力與創造力,尤其是當電腦裡的人工生命與周邊互動裝置連結在一起的時候,出現了更驚人的藝術作品。

  美國藝術家 Karl Sims 在 1997 年發表了著名的〈加拉巴哥群島〉(Galapagos)互動式裝置藝術 [1]。這件作品使用到十二台電腦與感應器,每台電腦經由軟體計算會出現造型奇特的虛擬生物,當觀眾站在喜愛的某台螢幕前面,只有那個生物可以存活,其他十一個生物便遭到淘汰,最後所有的電腦畫面,都被存活生物所繁衍的子子孫孫來佔據,並且它們還會各自成長、突變成獨特的樣貌,讓觀眾眼睛一亮,直呼不可思議。類似,可以在電腦螢幕裡執行,並且具有這樣演化性質的軟體藝術作品,還有 Christa Sommerer 與 Laurent Mignonneau 的《Life Spacies II》[2],與 Scott Draves 的《電子羊》(Electric Sheep)[3]。

  以《 Life Spacies II 》為例,觀賞者可以用週邊輸入設備,傳送字串給電腦系統,這字串像是「餵養」之類的詞組,來影響人工生物的成長與活動。面對這類的創作,程式設計師或軟體藝術家通常要考量幾個層次:包括如何去設計生物的最初型態、如何去設計生物的行為方式,還有如何去編寫生物的成長/演化或突變的模式。簡單來說,創作者必須將心中的觀念藍圖,轉化成——類似人工生命的基因密碼般的——程式語言,這個程式是兼具動態性與衍生性(Generative)的,它最後展現成為一個視覺世界。

  上面人工生命的互動裝置藝術都太複雜了,我們來看看以下這個「食蝶花」範例,這個 Java Applet 不到 30KB ,它的設計比人工魚簡單一些,其中的運作要素包含了:花朵的隨風扭動、蝴蝶的翩翩舞姿,以及花吃蝶的張口大咬。像這樣小型的,以程式去表現生物間行為的軟體藝術作品,也是非常有趣的。還有另一套不到 10KB ,由我撰寫的 Java Applet,它的規則更簡單,但是可能會讓你非常驚訝,因為它可以創作出如紡織品、如絹印圖案,甚至是大自然蜿蜒河流、地形彩繪的樣貌,我們稱為「細胞自動機 」(Cellular Automata)[4], 它早在 1950 年代被數學家提出,是人工生命的第一個雛形,也是標準的衍生性藝術(Generative Art)範例。


細胞自動機

  衍生性藝術,或是我們談到演化藝術(Evolution Art)、 演算法藝術(Algorithm Art),這些都是近幾年火紅的,屬於軟體藝術的新名詞,這些作品有的是具有無窮細膩度的數學圖案(例如碎形),有的則像是有機生物一般,能夠自行繁殖與突變,並且呈現出來的結果總是讓人們瞠目結舌。以細胞自動機為例,每一個格點代表一個細胞,它利用簡單的規則(這些規則像是:某個格點當周圍有兩或三個帶色格點時,則著色),以及不斷的循環計算,來產生豐富多變的圖案。在細胞自動機的程式,我提供22個範例,你可以選擇不同的範例,然後按下「Start」,程式便會開始製圖。在程式執行的過程,你會瞭解「衍生性藝術」是怎麼一回事。

  軟體藝術,是數位藝術領域相當有特色的類型,它專指藝術家以原創性的方式,撰寫電腦程式來實現藝術作品。我們也可以說,軟體藝術是最純粹的電腦藝術,它是完全只在電腦出現之後才有的一種藝術創作方式,它展現的是程式邏輯的美學,甚至它被視為觀念藝術(Conceptual Art)的極度推演。在這篇文章,我嘗試以幾個範例,來介紹軟體藝術與人工生命的「相遇」,當然,軟體藝術不只是從事人工生命而已,軟體藝術還可以做虛擬實境的創作,或者像是歐普藝術(Op Art)那樣的數學幾何圖形。不管是哪一種,軟體藝術的豐富性,都將為數位藝術帶來旺盛的活力。

[1] http://web.genarts.com/karl/
[2] http://www.mic.atr.co.jp/~christa/LIFESPACIES/LifeSpacies.html
[3] http://electricsheep.org/
[4] http://www.atlas-zone.com/complex/alife/ca/index.html