顯示具有 私房觀點 標籤的文章。 顯示所有文章
顯示具有 私房觀點 標籤的文章。 顯示所有文章

2011年11月14日 星期一

Adobe放棄開發行動平台Flash Player之我見

一、前言
2011年的119日, Adobe 宣布放棄行動平台上的 Flash Player 開發,聲明稿一出後,引起各方譁然,台灣媒體開始捕風捉影、斷章取義的亂報,諸如 Flash 已死、 Adobe Apple 投降等標題隨處可見,而搞不清狀況又激動的 Flash 設計師們,則開始哀鴻遍野,認為自己是被拋棄的一群,本法師實在看不下去這個因無知造成的亂象,所以寫這篇文章,希望以正視聽,不管你對這個消息關不關心,至少我把真相告訴你!希望這篇文章出來後,看過的人不要再隨著媒體人云亦云、Flash 設計師不要再抱怨了。

二、名詞解釋
我想大家一定覺得很奇怪,為什麼寫篇文章要像寫論文一樣,還有名詞解釋,其實名詞解釋才是真正的重點,這一整串的誤解,就是一群搞不清名詞定義的人弄出來了,況且為了讓我以下說明方便,所以我必須先把一些名詞作定義
1.     Adobe Open screen project:透過 Flash Platform 讓開發者只用同一套程式碼,僅花一次開發的時間,同時把程式部署到多個平台上,然後讓使用者有一致性的體驗。
2.     Flash Platform:係指 Flash, Flex, AIR 三種技術所構成之平台。
3.     Flash: Flash Platform 實作技術之一,以 Flash Professional 作為主要開發工具,以Flash Player 作為載體,主要應用於互動式多媒體、影音播放、動畫、遊戲等創作,為封閉架構。
4.     Flex: Flash Platform 實作技術之一,以 Flash Builder 作為主要開發工具,以 Flash Player 作為載體,主要應用於與伺服器端程式及資料庫整合之資訊系統開發,為開放原始碼架構。
5.     AIR: Flash Platform 實作技術之一,以 Flash Builder 作為主要開發工具,可將專案直接編譯成多平台原生程式,主要應用於桌面端原生程式開發及行動平台原生程式開發,為開放原始碼架構。
6.     Flash Player:為一瀏覽器之外掛程式,外掛後可以使瀏覽器瀏覽 swf 格式
7.     腦殘媒體:不經查證只會從論壇、PTT Mobile01 上面取材報新聞的媒體。

8.  Flash 設計師: Flash Professional 從事多媒體內容製作之人。

三、聲明稿節錄
我與台灣腦殘媒體記者只會從論壇、PTT Mobile01 上面取材報新聞不一樣,我們直接看原文的聲明稿!

有興趣的人可以把它看完,沒興趣的人可以看我整理出的結論
1.關於 Flash Platform ,未來將聚焦在:
(1) AIR 開發行動平台應用程式
(2)在桌面端以瀏覽器透過 Flash Player 開發遊戲及動畫
2.未來將增加投注在 HTML5 (含開發工具、整合性方案及瀏覽器)上面的資源(包括經費與人力)
3.未來將不再主動開發行動平台瀏覽器適用的 Flash Player

四、個人評論
前面兩點並不受到大家的關切(但其實是最重要的),反而是最後一點,特別被拿來作文章,而且引起了非常廣泛的討論以及各方不同的解讀。事實上,以本法師的角度來看, Adobe 會做出這樣的決定,是再正常合理不過的,這也是必然的結果,那為什麼各方媒體會全面性錯誤的解讀呢?主要就是因為大家不了解 Adobe Open screen project

1.     什麼是 Adobe Open screen project?
主要是讓開發者用同一套程式碼,只需要花一次開發的時間,把程式部署到多個平台上,然後讓使用者有一致性的體驗,換言之,不管你的載體是什麼,只要你是透過 Flash Platform 完成的,你就達到 Adobe Open screen project 的目的,而這個計劃本身一開始就是採雙線並行的方式,一條是走瀏覽器的外掛,也就是大家熟知的 Flash Player ,你把你的程式部署到伺服器上,然後透過瀏覽器去看;另一條則是走原生程式開發,使用者必須下載你的程式,然後安裝在他的機器上執行,這也就是大家非常不熟悉,媒體記者根本搞不懂甚至沒聽過,只好選擇性忽略掉不報導的 AIR 。而不管你採用哪條路,你只需要寫同樣的一套程式碼,就可以部署在你要的地方,比方說,你可以寫一個遊戲,放在網路上用 Flash Player 執行,過幾天,你可以透過 AIR 把它轉發布成 iOS Android 的原生程式,然後放到 App Store 或是 Android Market上去賣,除了 UI 部分因為解析度不同需要做修改之外,其他要改的地方非常的少,幾乎可以做到一套程式碼部署到多個平台上。

2.     為何不再主動開發行動平台瀏覽器適用的 Flash Player?
我們先來看看 Flash Player 的發展現況
個人電腦平台(PCMAC)
Flash Player 來說,在個人電腦上面達到98%的市佔率,幾乎每台電腦上都裝了 Flash Player,因此靠著 Flash Player 便可達到 Adobe Open screen project 的目標。

行動平台(含智慧型手機、平板、智慧型電視)
但在行動平台上,則剛好相反,由於行動平台的特性,使得 Flash Player 非常不適合在上面運作,原因有四
(1)   行動平台的資源非常有限: Flash Player 過度肥大,使得行動平台在運作 Flash Player 時,非常耗電、過熱而且延滯。
(2)   市占率無法提升:行動平台的霸者 Apple ,它們的 iOS 系統並不支援 Flash Player ,而且未來根本看不到有任何可能性會支援,因此這造成 Flash Player 的市占率根本達不到一半,甚至永遠達不到一半。
(3)   使用者行為與個人電腦不同:可能是因為解析度和螢幕大小的關係,在個人電腦上,我們會掛網掛好幾個小時,但在行動平台上很少如此,如果要上網路瀏覽網頁,必定是逼不得已要去查資料,查完就下線了,使用者要獲取內容或服務的主要方式並不是透過網站,而是透過該平台自己的生態圈下載應用程式,安裝在手機或平板電腦上,這使得 Flash Player 的必要性又再度降低。
(4)   HTML5 的興起與 Flash Platform 技術的濫用:講到 Flash Platform ,大家直覺都會想到惱人的廣告 Banner 、網站選單、開門動畫或是影片播放器,接著才會有人聯想到遊戲、多媒體互動製作,而鮮少有人會聯想到資訊系統及應用程式開發,這是長時間 Flash Platform 技術被濫用的結果,事實上這些大家直覺會聯想到的東西,是 Flash Platform 最不重要也是最被濫用的部分,而現在 HTML5 興起,透過原生的方式,完全取代掉 Flash Platform 這部分的角色,換言之,在 Web 上,如果網站設計採用 HTML5 標準的話,所有瀏覽器都可以相通,而原本 Flash Platform 被濫用的部分,也可以回歸到原生 HTML ,使Flash Platform 重新回到它應有的角色以及戰略位置。

AIR 又如何呢? AIR 在行動平台上就顯得非常吃香, AIR 本身就具有發布原生程式的能力,換言之你不需要改變現有的 Flash Platform 技術,只需要透過 AIR ,就可以轉發布成各平台上原生程式,並且結合該平台的生態鏈進行販售,這剛好符合行動平台的使用者行為,因此在行動平台上, AIR 反而是比 Flash Player 要適合發展。而且 AIR 已經發展得很好,這個遊戲在 iPad 上就拿到了付費排行榜第一

如果你是開發者,能直接開發原生程式並且獲利,你會想要透過 Flash Player 去執行嗎?開發完後還要找台伺服器放著,然後還要伴隨著讀取緩慢、效能拖垮、耗電又收不到錢的副作用,我想沒人會這麼傻。

那既然已經達成 Adobe Open screen project 的目標,為什麼還要繼續堅持開發幾乎永遠不可能達成目標的行動平台版的 Flash Player ?對一間公司來說,首要目標既已達成,放棄備援方案這是很正常的吧!

3.     Adobe 不是反 HTML5 的嗎?那未來將增加投注在 HTML5 上面的資源是什麼意思?
對開發者來說, Adobe 投注在 HTML5 上面的心力遠勝過 Apple ,第一個 HTML5IDE 就是 Adobe 出的,官方名稱叫做 Edge (目前仍為 preview 版,可免費下載),支援多平台的所見即所得設計模式,整個介面邏輯跟 Flash Professional 非常的像,對傳統的 Flash 設計師來說上手應該不難,此外也出了轉換工具,可將現有的 Flash 專案轉換成 HTML5 ,如果有留意 Adobe 動向的人,應該不難發現 Adobe 從來就沒有選邊站過,也沒排斥過 HTML5 ,這兩大技術的論戰都是只懂二分法的媒體跟粉絲群們炒出來的。
大家務必要記住一件事, Adobe 是靠賣 IDE 賺錢的公司,只要 Adobe 持續做出好用的 IDE ,管你是用哪種技術去實作,管你平台是他自己推的還是別人推的,他都能從中獲利,現在很明顯的看到 HTML5 是未來網頁設計的趨勢,不投資在他的開發工具上?難道要繼續在永不可能成功的行動平台版 Flash Player 上燒錢嗎?

4.     如果網頁設計將來要被 HTML5 取代,那 Flash Platform 的未來在哪?
我一直強調 Flash Platform 的架構很大,不是只有做做 banner ,播播動畫而已,這是最不重要的應用,也是最被濫用的應用,今天把網頁設計回歸到 HTML ,是絕對正確的做法,在行動平台上,這種 RIA 的需求應該是透過 widget 或是 native app 來達成,而非跑一個這麼大的 runtime 吃記憶體與耗電。

但在大型專案的製作上,就能顯示出 Flash Platform 的實力,如現在最紅的連線 DOTA 遊戲英雄聯盟,他的連線核心,是用 AIR 做的, Unreal Unity 這兩家遊戲引擎公司則宣布支援 Flash Player11 的發布,換言之,未來你可以用這種 AAA 級的遊戲引擎製作遊戲,然後發布成swf檔,放到網路上讓人透過瀏覽器去玩,而目前 demo 出來的遊戲,不論是效能還是品質都令人讚嘆, HTML5 要達到這樣的水準,所耗費的成本會遠大於使用 Flash PlatformAdobe 這樣的決策,只是讓 Flash Platform HTML5 回歸到他們應有的戰略位置,也讓這兩種技術的分界更加得清楚, Flash Platform HTML5 從來就不是敵對的,而是相輔相成的。



Flex 來說, Flex 本來就是鎖定在企業用戶的資訊系統開發,這由他所提供的元件庫和強大的資料處理與展現能力上可以看到清楚的定位,光是 chart 元件,就已經輕鬆幹掉許多商用的圖表元件了,而 Flex JAVA,ASP.NETPHP 等後端程式的緊密整合,以及完整的 Framework ,在具有前後端以及資料庫的大型資訊系統開發上, Flex 都不失為一個好的 solution ,加上透過 Flash Player 當載體,也沒有跨平台的相容性問題。

至於 AIR ,如果你真的看懂我前面所講的,那不用多廢話了,能在 Windows 上面開發各行動平台的原生程式,光這點就足以持續投資下去, Adobe 只要不斷的改進 AIR 產生出來程式的效能,以及提供更便利的 API 即可,我相信大有可為!

5.     Android 平台上是不是再也看不到 Flash Player ?
當然不是!這是目前最大的誤解! Adobe 只是停止開發新版本而已,原本到 Flash Player11 的版本還是繼續維護,在 Android Market 的程式也不會下架,我不知道為什麼會引申成為 Android 平台上面再也看不到 Flash Player ?然後讓果蠅高潮到不行,這他媽太跳 Tone 了吧!
換言之,對使用者來說,你還是可以用 Flash Player11 來看 Flash Platform 產生的內容;對開發者來說,只要你發布時,版本相容性選擇 Flash Player11 以下相容,那發布的內容就一定能被看到;對廠商來說,以現階段 HTML5 還沒普及的情況下, Android4.0 以下的平台上可以瀏覽 Flash Platform 發布的內容仍然是與 iOS 間最大的區隔,至於要不要凸顯這個區隔?這是競爭優勢還是劣勢?就交給你們家 Marketing 部門去決定了。

6.     Flash Platform 是不是死了?
如果說 Flash Platform 比喻成一個人體,那 Mobile Flash Player 就可以算是盲腸,今天這個盲腸發炎了,而且吃藥醫了好多年都好不了,弄得很痛苦,最快最簡單的方法,就是把他割了,盲腸割掉,人等於死了嗎?沒有,人反而會更健康。同理, Adobe 已經用了數年的時間證明在行動平台上面植入 Flash Player 是不理想的,現在把他的開發資源終止掉,轉為更有效益的利用,讓 Flash Platform 的定位更明顯,這反而是好的,況且,只不過是不再開發行動平台上新版的 Flash Player ,又不是全部的 Flash Platform 都謝謝收看,你擁有的技能還是可以到處派得上用場,你到底在災難性思考些什麼啊?

五、給腦殘媒體

連Open screen project在幹什麼都搞不懂,官網第一頁就有定義了.....

一個科技網站,一位科技記者,應該要持平中立的去看待所有技術與產品,更應該要深入去了解背後的原理與意涵,而不是選邊站討好某個族群或是很聳動的用【投降】或【舉白旗】這種字眼來當作標題,事實上這整件事根本與投降或舉白旗無關,如果這樣叫做投降

那請問
蘋果之前跟微軟合作,算不算投降?
蘋果放棄 PowerPC 架構改採 intel 架構,算不算投降?
蘋果可以在 MAC 上面用 VM 安裝 Windows 系統,還以此做為宣傳的賣點之一,算不算投降?

如果以上三者都不能算投降,都是廠商因應趨勢選擇對使用者與公司最佳的決策,那為什麼 Adobe 達成 Open screen project 首要目標,放棄備援方案這檔事就變成投降了?

學著去了解你所寫的東西,如果不了解的話,去官網查證一下,或是問學有專精的人士,這並沒有很困難,不要斷章取義,把你不懂的東西忽略掉,在你對不懂的東西自以為聰明的腦補前,請先補補腦。

無知是一種幸福,但無知又到處亂講,則是一種罪過!

六、給激動的 flash 設計師
~同學,冷靜點好嗎?沒有世界末日,你的一身本領也沒瞬間化為烏有,你賴以為生的 Flash Player 也沒消失,甚至連 Android 平台上的 Flash Player 也沒立刻消失,我前面寫得很清楚,只是未來沒有新版本而已,你只要發布時發布成 Flash Player11 版以前相容,就大家都能看到了。
但你未來必須要面對並且接受 HTML5 這個新技術的來臨,資訊科技的世界本來就是瞬息萬變,要走這行就得有這種基本認知,我是認為目前 Flash Platform 在網頁設計上不但是大材小用,而且是濫用,建議你放開心胸,去接觸一下 Adobe HTML5 開發工具 Edge ,你會發現跟 Flash Professional 的邏輯十分接近,如果你是一位有經驗的老手,我想要上手並不難;如果你是一位新手,建議你先學 Edge 會比較有投資報酬率,因為你現在所看到的這些網頁設計特效,未來十之八九都會被 HTML5 取代。
我一直認為Flash設計師本身是帶有美術天分的人,相信我,你這些年來所磨出來的 Sense ,永遠是你在網頁設計上的 Know How ,不會因為這樣的變動而消失,反而更可能因為新來的 HTML5 技術跟新的開發工具而發光發熱,大型多媒體專案用 Flash ,網頁設計用 HTML5 ,倚天劍與屠龍刀在手,笑傲江湖任我行,豈不快哉?樂觀點,好嗎?

七、結語
我在一年多以前曾說過這樣的一段話,【資訊科技的世界,不是零和而是競合, HTML5 他是一個 Option ,而不是一個 Solution ,這兩種技術都有他的 Destination ,永遠輪不到你幫他們做 Conclusion 】,一年多之後,世事變化很快,看起來 HTML5 Flash Platform 都已經找到他們的 Destination ,我覺得這樣的發展很好,可以想見的是未來 Web 世界,在網頁設計上會慢慢回歸到 HTML ,而 Flash Platform 則是專精在大型互動式多媒體專案、遊戲、資訊系統及 Mobile App 上,兩者相輔相成。身為一個開發者,絕對不能選邊站,否則只會被淘汰掉,身為一個使用者,也不必選邊站,享受這些技術帶來的服務便是,我想未來 Web 的世界一定會比現在更豐富,更健康。

2011年3月23日 星期三

興趣、天賦與工作

好!時間有限!剛剛又被業主追殺.....



對在學學生來說,現在大學的錄取率已經破百,愈來愈多的大學生未來要投入職場,當然也伴隨著愈來愈多的大學生,不知道自己要什麼而選擇進入一個不知道在學什麼的研究所,學歷開始通膨,花了三十年的時間在書本上,從小學一路念到博士,只是為了要逃避當兵跟出社會,到最後出來社會還是不知道要做什麼工作,作什麼都提不起勁,只好一直換工作,履歷表上總是填不出像樣的資料.....


對於上班族來說,每天周而復始的生活,做著自己不感興趣的工作,只是為了混口飯吃,知道自己心中有夢,但卻又說不清楚是啥,職場環境跟生活壓著你喘不過氣,也沒時間靜下心來好好想想自己的未來(因為一靜下心就睡著了.....),永遠得不到自我實現,然後又過了一天.....


對於失業中或待業中的人來說,存款一天比一天少,參加一個又一個的就業說明會,蹲了一個又一個的補習班,最後只學會原廠使用者手冊上所講的功能,一個像樣的成品都做不出來,想要精進又找不到方法,補習班所講的百萬年薪離你愈來愈遠,最後搞不好還被八百年沒聯絡的小學同學抓去參加直銷.....


如果你是上面三種狀況其中之一的話,那你可能要思考一下你的興趣、天賦與工作了


在討論這三者間的關係時,我必須要先對這三者做出定義

什麼是興趣?
興趣就是某件事你周而復始的做,不但不會厭煩,還能樂在其中的事,在做感興趣的事時,總覺得時間過得很快,而且心情愉悅

什麼是天賦?
天賦就是某件事別人周而復始的做,還贏不了你做幾十次的事,在做有天賦的事時,總覺得十分得心應手,別人總笨手笨腳,或是會有【這麼簡單的問題,怎麼大家都不會】這種感覺

什麼是工作?
工作就是某件事你周而復始的做,它會回饋給你實質報酬,讓你能滿足生活所需跟物質享受的事

表面上看起來,這三者似乎是獨立不相干的,但這並非絕對,當這三者間彼此發生交互關係時,就會產生非常微妙的變化


興趣+天賦
這就叫做【天才+努力】,試想如果有一件事別人怎麼做都做不贏你,你本身又能樂在其中的不斷去做,可想而知你在這方面的成就一定會很高。或許因為大環境的因素,使得這件事沒辦法供給你足夠的生活所需,讓它成為一份工作,亦或許是目前的工作錢多事少離家近,位高權重責任輕,所以轉換跑道投資報酬率不高,但這樣的人總是不甘寂寞的,所以透過一些行銷的方式,往往可以帶來業外收入,有些生活無虞的上班族下班兼差或是做做手工藝品上網拍,往往都是這個原因


興趣+工作
這就叫做【樂在工作】,基本上,工作基本上就是每天周而復始的事,而這件事能跟你的興趣結合在一起,這是蠻幸福的事,雖然這不是你的天賦,你在工作上的表現並不一定會比一般人優秀,但最起碼你每天睜開眼睛所做的事是有意義的,你可以自我實現,這樣的人往往表現出積極樂觀的工作態度,簡單來說,工作狂.....


天賦+工作
這就叫做【職場達人】,天生就是吃這行飯的,周圍的同事也好、競爭的對手也好,怎麼努力就是做不過你,別人天天加班,你天天準時下班,別人拚死拚活天天拜訪客戶,業績勉強達到門檻,你隨便打兩通電話,業績就一路長紅,因此你在職場上面的發展一定比同儕要好,表現一定特別突出,超級業務員就是典型的例子,雖然這份工作未必是你愛的,但你也不會輕言放棄,興趣這種東西,還是留到休假再說吧


天賦+興趣+工作
這就叫做【創業家】,當天賦與興趣結合時,你已經可以達到比別人更高的成就,此時如果還能找到獲利模式與工作三者結合的時候,你絕對不會只甘願當一個上班族,因為你待不了任何公司,只有自己出來創業才有辦法滿足你內心的渴望



當天賦、興趣與工作都不能結合的時候,往往就會出現文章一開始所講的狀況,因為人一天就只有24小時,興趣可以讓你獲得自我實現,天賦可以讓你獲得成就,工作可以讓你獲得實質收入,當這三者都分開時,你時間一定不夠,因此必定捉襟見肘,勢必得放棄其中之一,甚至之二,而放棄的往往會先是興趣,再來是天賦,最後才是工作,試想,當你無法自我實現又沒成就時,怎麼可能會有工作績效?只能不斷看著時間流逝、年華老去然後自我厭惡.....


另一種人則是根本搞不清自己的天賦和興趣在哪裡,也不知道如何去檢視跟思考,因此只能不斷的試誤,至少試完後知道這不是自己要的,嗯~OK啦!多嘗試也是一種人生體驗,但如果能夠用正確的方法盡快找到你的天賦跟興趣,就能及早定下目標,畢竟人生苦短,黃金期更短,花愈多時間嘗試,剩愈少時間努力,當你花了大半輩子都在嘗試錯誤時



希望大家看完這篇文章都能夠檢視一下自己目前的狀況,也祝大家都能夠找到自己的興趣及天賦並且擁有一份好工作

2011年3月8日 星期二

BabyHome匿名功能出包之我見

來!先來複習一下這起事件
http://udn.com/NEWS/LIFE/LIF1/6176321.shtml

其實,在我來看,這不是一個技術問題,而是哲學問題

我每次只要一想到這件事,我就忍不住一直笑,為什麼呢?我們從幾個角度來切入思考,你就會發現這整個事件的邏輯有多荒謬



隱私
人真的很妙
你把你最最最私密的事放到最最最公開的社群網路上
然後指望一個你完全不懂的程式技術來捍衛你的隱私
這就好比是你把錢拿給陌生人保管,還期待他能幫你賺錢一樣的不切實際
如果說真的是私密的事,就不該放到社群網路上,如果你放到了社群網路上,就不能期待他永遠保密,連美國的外交機密都被公開了,你那點家務事放在一個民間社群網站上可能保密嗎?如果真能做到,那個程式設計團隊就不會幫寶貝屋寫程式,他們會幫五角大廈寫程式

小結:分享隱私的吸引力確實很迷人,但後果是致命的,這就叫做致命的吸引力



匿名
我想說到這邊,你應該還沒體會到這背後恐怖的意義,所以接下來我要講的就是匿名這件事
這也是最讓我笑不停的地方
就算程式修改好了,這些匿名也只是假匿名
如果是真的匿名,不管程式有沒問題,根本不可能知道是誰寫的文章
因為真正的匿名發文,系統是不會記錄文章與發文者之間的關聯
現在這些會員以為程式修改好了,匿名了,安全了
但那只是程式造成的假象

換言之,只是你眼中看不到而已,但並不表示他不存在!


匿名技術的做法有很多種
但不外乎是在前端透過javacript操作DOM把資料隱藏起來的,要不就是直接在後端把個資等敏感資料直接忽略不讀取,但不管是哪種做法,後面的資料庫還是原封不動地記錄著,記錄著文章與發文者之間的關聯,只要透過幾個簡單的SQL語法,就能輕鬆的查出幾點幾分誰在哪邊發什麼文


所以,這些會員以為現在很安全了
因為他們從畫面上看不到,別人也無法從畫面上查到他們的名字
所以可以肆無忌憚的發文了
但是系統卻原封不動地記錄著
你的隱私其實正完整的被記錄下來
等待有心人揭發

小結:矇上眼睛就以為看不見,摀上耳朵就以為聽不到,你以為真理在心中嗎?錯!真理在資料庫中,但創痛絕對會在你胸口


互信
在真實世界中,人很難彼此互信,用種種方法建立關係,利益互換,恐怖平衡,才能建立互信基礎,但在虛擬世界中,卻簡簡單單就掏心掏肺,再精明幹練的人上了網就變成像小孩一樣,什麼都信,或許是因為隔著螢幕,有一層朦朧美吧!或許是陌生人所以比較沒有心防,所以什麼都敢講



你會隨便路上找一個人分享隱私嗎?你會到台北車站拿著擴音器對全體旅客分享隱私嗎?


那你為什麼會想要在社群當中分享隱私,還指望人家永遠不知道,這在我這個技術人員眼中,跟拿擴音器在台北車站機哩刮拉其實沒什麼差別,差別只在於,用講的比較快.....

小結:當你以為全世界都不知道你是誰,赤裸裸的躺在網路沙灘上做日光浴時,你已經被看光了!


系統安全
好,一定會有人問啦!講那麼多,那為什麼不直接做真正的匿名就好,非要搞個假匿名呢?
答案很簡單,就是系統安全性問題

如果今天做到了真正的匿名,什麼都不記錄,不是不行,只是這樣做下去,萬一將來發生了什麼糾紛,那是真的找不到的冤親債主的,你找網管也沒用,再來對於網管來說,如果有人故意搗亂,比方說發廣告信洗版,他也無從擋起,這對系統安全並不是件好事,為了滿足某些人戴面具脫光衣服給人家看的慾望而犧牲掉系統安全,我想任何一個有腦的設計者都不會這麼做,我也一樣

小結:在私密性跟系統安全性之間,兩個極端都是玩火


解決之道
那到底有什麼辦法可以保護自己又利於管理呢?
最好的方式就是完全透明,權責自負,把真實世界的規則帶進來
然後你就會發現,去信賴一個連你自己都不懂的東西來保護你最珍貴的秘密,是非常荒謬的,社群網站其實就跟同學會一樣,你的態度應該是把他當成你日常生活的一部份,而不是情感的避風港,更不是隱私的保險箱,這才是在網路世界中保護自己的不二法門
人類期待電腦可以幫助人類做許多許多的事,尤其是管理,但最後,還是回歸到人管

2010年8月23日 星期一

遊戲設計概論(3)-4

3.4    獎賞回饋
有付出就有收穫,這是在遊戲世界中不變的法則,當玩家付出了努力達成了某些目標,在遊戲設計上就必須給予玩家獎賞回饋,這樣才能不斷的刺激玩家完成下一個目標,隨著一個個目標的達成,最後就會堆疊到遊戲的最後目標。

1.    種類設計
獎賞的種類有很多,可能是角色能力的提升,可能是道具,可能是得分,可能是進一步的遊戲資訊,不過在所有的獎賞中,都不跳出一個原則,就是對玩家造成一種永久或暫時性的提升效果,使得遊戲變得更簡單。當玩家完成一個小的目標時,所給予的獎賞往往是暫時性的提升效果,如子彈數增加、隱形…..等,一方面讓玩家接下來的關卡較好進行,二方面也補足玩家為完成前一目標所耗費的補給,所以暫時性的效果往往都是消耗品的補給。永久性的效果,則是發生在玩家完成一個階段目標之後,遊戲會給予玩家能力提升或給予永久性的道具,如車輛、特殊武器、習得新法術…..等,目的是讓玩家成長變強,以邁向新的里程碑,而當玩家得到這樣的獎賞時,也會特別有成就感,進而凸顯該目標的重要性。

2.    程度設計
決定在什麼狀況下給予何種獎賞固然很重要,但獎賞的程度設計也是重點之一,玩家非常的精明而且挑剔,如果說完成一個目標給予的獎賞太小,這目標會被跳過,如果給的太大,那玩家會更貪心,希望下一個目標的獎賞能夠更大,這樣會造成獎賞通膨的現象。獎賞的程度設計一定要有他的潛在規則,不能時有時無,也不能大小失當,比方說,如果今天在惡魔城中,打倒頭目時,會掉補血球,但如果突然有其中一個不會掉補血球,玩家勢必非常錯愕,甚至起度爛,因為下一關會很難過。再比方說,如果有一個遊戲,打倒普通小敵人時,就會掉出增加HP最大值的物品,這個獎賞就過大,到最後玩家的HP會非常非常的多,多到他連吃都懶得吃,這時加HP最大值的獎賞就通膨了,變得毫無意義。

3.    期望設計
在獎賞的設計中,最後一個要注意的重點是,設計者必須決定獎賞的期望設計是隨機性還是可預期性。舉例來說,超級瑪莉裡的金幣,每蒐集到100枚可以加一隻,這就是屬於可預期性獎賞,只要玩家努力蒐集100枚金幣,就可以加一隻。但如果說今天改成每蒐集到一枚金幣,有1/100的機率會加一隻,這就變成隨機性獎賞,雖然以機率的中央極限定律來看,讓玩家蒐集個10000枚金幣下來,兩種獎賞方式加隻的次數應該是一樣,但在心理學上對玩家的影響則大不相同。可預期性的獎賞,帶給玩家的遊戲張力是有峰值的,當玩家剛開始遊戲時,並不會很熱衷於蒐集金幣,而是隨著遊戲的進展逐漸蒐集,但是到了50枚以上後,玩家會開始注意金幣的存在了,開始積極的去蒐集金幣,當到了80枚以上時,玩家甚至會願意冒險去做高難度的動作吃到金幣,或是找到隱藏的金幣磚塊,以求多拿幾枚金幣,趕快加一隻,加一隻之後,玩家對金幣的追求曲線又再度回到谷底,週而復始。而隨機性的獎賞則是玩家隨時都在期待加隻的來臨,但這個期待不會有峰值,永遠都是平的,因此也不會特別冒險去蒐集金幣,心態上會變成雖然有期待,但路上碰到吃一吃,碰個運氣看看就好。因此雖然獲得獎賞的機率一樣,但是對玩家的行為則大不相同,這兩種獎賞的期望設計並沒有好壞之分,端看遊戲類型以及你希望玩家在遊戲中的行為去設計。

4.    提示設計
前面已經提到獎賞一定與玩家達成的目標有關,如果是大的獎賞,這很容易辨識,但一些暫時性的小獎賞,如補血、補魔、加分等,玩家很容易發生吃到了但不明白效果在哪的狀況,所以這類的獎賞必須伴隨著音效或圖片效果,如吃到補血藥,發出效果音,血條亮一下,然後變長,這樣就能把玩家的動作與物件和發生效果連結在一起,玩家馬上就知道,原來這玩意兒叫補血藥,吃了會補血。

2010年8月15日 星期日

遊戲設計概論(3)-3

3.3    平衡
平衡對一個好的遊戲來說,是相當重要的因素,常常會聽到玩家抱怨遊戲不平衡的問題,不管是單機遊戲還是連線遊戲,平衡要做的好是很不容易的,如果玩家武器太威,遊戲會很無聊,武器太爛,遊戲會很難玩。此外,玩家本身是很聰明的,他們會在一次又一次的經驗中找到遊戲不平衡但對自己有利的地方,然後利用那個不平衡,去贏得遊戲,這樣遊戲的樂趣就會消失,如世紀帝國早期的條爆就是一種不平衡,魔獸爭霸3初期的版本(1.00),月祭的星降CD只有60秒,這也是一種不平衡,雖然這兩款遊戲到後面改版更新後,已經逐漸修正掉不平衡的地方,但我們要看到的地方是,連微軟、Blizzard這種大遊戲公司都沒辦法做到漂亮的平衡,可以知道遊戲平衡是多困難的事。有關於平衡的議題,以下分玩家間、玩家與遊戲間及遊戲內部參數平衡等三部分討論。

3.3.1    玩家間平衡
玩家間的平衡問題,往往出現在對戰類型的遊戲中,對戰遊戲的平衡設計重點在玩家必須靠著公平的方式獲得勝利,而不是運氣或是角色設定差異,如即時戰略遊戲,玩家一開始出現的地點,一個玩家周圍充滿資源,另一個玩家則是沒有資源,這樣就是相當不平衡的設計,或是格鬥遊戲中可以輸入密碼叫出隱藏角色,然後透過角色間設定的差異獲得勝利,這也是一種不平衡設計,所以坊間的格鬥天王對戰,大多看到暴走角色到處跑,只有真正的高手才會使用一般角色對戰,這就是隱藏角色造成的不平衡所致。平衡又分對稱平衡與不對稱平衡兩種。

1.    對稱平衡
所謂的對稱平衡,就是指玩家擁有的資源完全相同,比方說棋奕遊戲,所有玩家擁有的棋子都一樣,走法也一樣,彼此輪流,唯一的差異在於先手與後手,不過這樣的差異可以透過多場比賽輪流先手來消除,這就是標準的對稱平衡,對稱平衡當然是絕對的平衡,但是如果對遊戲來說,對稱平衡會讓遊戲變得單調,缺少吸引力,舉例來說,如果一個即時戰略遊戲,每位玩家的兵種都是一樣的,資源消耗也是一樣的,周圍地形也是一樣的,我相信這樣的遊戲大概沒什麼人要玩,因為雖然平衡,但不具特性,所以在遊戲設計中,必須要做到下面要討論的不對稱平衡。
2.    不對稱平衡
世紀帝國1當初被星海爭霸取代的主因,就是世紀帝國1雖然非常的平衡,但是12種種族,但部隊系統卻只有一種,而星海爭霸有三種截然不同的種族,三組部隊系統,而這三組部隊系統,巧妙的做到了不對稱平衡,因此衍生出許多不同的變化。什麼是不對稱平衡?我就以星海爭霸為例,以同樣資源消耗來說,先以基礎步兵來看,蟲族的異形狗,數量多、攻速快,但是血少;人類的陸戰隊數量次之,攻速次之,血量次之,但具有遠程攻擊能力;神族的狂戰士,數量最少,攻速最慢、血量最多,但具有護盾。事實上以同樣的資源消耗來說,這三種基礎步兵實力是不相上下的,必須靠玩家臨場反應發揮才能克敵致勝。若以整體遊戲來說,在同樣的資源消耗和時間下,蟲族可以製造出最多的部隊,人類可以建構出最強的防禦,神族可以構建出最強的攻擊,因此數量戰、攻擊戰與防禦戰彼此相生相剋,形成完美的不對稱平衡,因此星海爭霸成為了即時戰略史上的經典名作。後來的世紀帝國2,也加入了種族要素進去,讓各種族有其特色,遊戲也開始走向不對稱平衡,所以世紀帝國2遠較世紀帝國1受歡迎,自然也成為了另一經典名作。

3.3.2    玩家與遊戲設計間平衡
我們之前一直不斷強調一個重點,遊戲設計的目的,是幫助玩家在挑戰中取得最後勝利,使玩家獲得成就感,而不是去惡整玩家,讓玩家充滿挫折感,玩家會輸掉遊戲一定是因為他犯下夠多或夠嚴重的決策錯誤,而不是因為他找不到某個按鈕,但玩家身處於遊戲世界之中,資訊與操作都受制於遊戲,所以玩家與遊戲間操作平衡與資訊平衡的拿捏就變得十分重要。

1.    操作平衡
遊戲的操作設計上,必須要兼顧玩家與遊戲回饋間的平衡,比方說,一般最常見的即時戰略遊戲,當敵軍進入到我軍單位的射程範圍內時,我軍單位會自動展開攻擊;玩射擊遊戲時,按住射擊鈕會發射子彈,有的甚至可以連射,這就是一種操作上的平衡設計。試想,如果說星海爭霸裡的每一個單位,你都必須要一個一個的下指令,他們才會攻擊;射擊遊戲必須要按三下發射鈕,才會發出一發子彈,這遊戲是不是會變得很難玩?你會不會覺得遊戲在惡整你?如果因為這樣輸掉遊戲,你是不是覺得很幹?但玩家沒得選擇,只能選擇接受這種操作設計或是選擇不玩,這就是操作設計上的不平衡。

2.    資訊平衡
遊戲的資訊設計上,必須要兼顧玩家操作與遊戲回饋間的平衡,比方說,一般最常見的RPG遊戲或冒險遊戲,玩家在遊戲中,遇到一扇必須要開啟的暗門,門上面有一百顆石頭,其中一顆是開門的關鍵,當玩家滑鼠移到石頭上時,石頭會發亮,或是那顆石頭本身顏色與其他石頭不同,也有可能在先前的劇情中,玩家取得石頭座標的情報,諸如此類,輔助玩家能快速找到那顆石頭,把那扇按門打開,這就是一種資訊平衡的設計。試想,如果說今天這一百顆石頭完全沒有任何提示,必須要用試誤法從頭試到尾,運氣好第一顆就給你碰上,運氣不好要試一百次才能碰上,或是說把石頭做的很小,讓你滑鼠點得很痛苦,如果這類平常的開門關卡都做成這樣,這遊戲是不是會變得很難玩?你會不會覺得遊戲在惡整你?如果因為這樣卡關,你是不是覺得很幹?但玩家沒得選擇,因為他身處於一個陌生的遊戲世界,這世界的所有設定只有遊戲設計者本人知道,玩家只能選擇不斷浪費時間試誤或是選擇不玩,這就是資訊設計上的不平衡。

操作平衡與資訊平衡分寸拿捏的底線在於「讓玩家只把時間與精力花費在最重要的事物上」,剩下的交由遊戲程式來處理,比方說在即時戰略遊戲中,玩家把時間與精力花費在制訂戰略戰術上,制訂完畢後,下達攻擊指令,剩下的就交給程式解決了,再比方說RPG或冒險遊戲中,玩家把時間跟精力花費在了解故事劇情或是解謎上,剩下的程式會主動判斷玩家目前的行為狀態及所需要的資訊,提供適當的輔助,讓玩家遊戲進行的更順利,只要掌握到這個底線,你的遊戲就不會變成整人遊戲。

3.3.3    遊戲參數設計間平衡
所謂遊戲參數設計間平衡,是指遊戲中參數與參數間彼此有平衡的交互關係,不會產生出無意義的物件、無成長的敵人及無變化的關卡,說是簡單,但要做到完美很難,這部分的設計錯誤,其實很多遊戲都發生過,甚至是大公司出的名作都會發生,因此在做遊戲設計時,不可不慎!

1.    物件參數設計平衡
各遊戲物件的參數設計上必須要獲得平衡,使得每樣遊戲物件都有其功用,不會有所謂的「雞肋物件」出現,遊戲物件有很多種,武器、單位、敵人、道路…..等,遊戲物件會引導遊戲決策,玩家會因為他遭遇到的遊戲物件,進行思考並做出對他最有利的決策,這也是遊戲中最有趣的地方,也是玩家能掌握及控制遊戲局面的地方。但是假設遊戲中有四種武器,其中一樣武器的攻擊力是另外三樣的100倍,其他參數都相同,表面上看起來你是有四種武器可以選擇來過關斬將,但事實上玩家一定會選擇最強的那把,因此到最後剩下的那三把武器就變成無意義了。可是不可能遊戲中所有武器設定都一樣,威力都一樣,一定有強有弱,這時就需要靠其他參數來平衡,以夢幻模擬戰為例,夢幻模擬戰當中有一把劍叫彌賽亞之劍,這把劍裝備上去之後,不但不會增加攻防,反而會扣攻防,可是裝備上去之後,取得的經驗值會變成原來兩倍,這就是個很有趣的決策了,玩家是要裝備較強的武器過關斬將?還是要裝備這樣的一把劍,讓過關之路變得辛苦,但取得經驗值變成兩倍,讓角色成長速度變快?事實證明,有不少玩家為了練功而裝備這把劍,設計者透過攻擊力、防禦力跟經驗值三種參數的平衡,讓彌賽亞之劍成為傳統武器之外的另一選擇。

2.    敵人參數設計平衡
敵人參數設計自然會決定敵人的強度,隨著遊戲的進行,角色有所成長,角色變強了,敵人理論上應該要愈來愈強,這樣的推論確實沒錯,可是這邊有個大家很容易掉入的陷阱,就是當角色跟敵人在同樣的參數上變強時,對遊戲來說等於毫無變化,也就是說這樣的敵人對玩家來說,並沒有變強的感覺,就如同原本玩家攻擊力10,敵人血100,砍10刀會死,現在玩家攻擊力20,敵人血200,一樣砍10刀會死,敵人雖然變強了,但事實上並沒有變強,玩家也沒有感受到自己或敵人的成長,這樣遊戲就會變得無趣。因為玩家玩遊戲,除了遊戲角色要變強之外,最重要的是要讓玩家感受到他自己也變強了,變得更熟悉遊戲,更熟悉系統,更能控制局面,遊戲角色只是玩家在虛擬世界的代言人而已。所以剛剛的例子如果做一點修改,敵人不是單純的參數值增加,而是伴隨屬性(地火水風)改變,玩家在遊戲過程中,學習到新的法術及屬性間的生剋,然後可以透過不同屬性的法術與普攻,給予敵人重創,這樣的敵我關係就會變得有趣許多。

3.    關卡參數設計平衡
在遊戲設計中,玩家透過一個一個的關卡來了解整個遊戲的全貌,並且在遊戲的過程中,不斷學習與成長,因此在關卡設計上,必須要由易到難,一開始讓玩家作簡單的決策與控制,到後面愈來愈複雜,關卡的設計上,也不宜一開始就把所有的遊戲要素全部秀出來,這樣到最後各關都千篇一律、了無新意,在關卡參數的設計上,應該將遊戲的特色慢慢的拋出,就像一部好電影一樣,不斷的給予玩家刺激與驚喜,一直到最後破關為止。這邊舉兩個經典遊戲為例,一個是小精靈,小精靈在關卡參數設計上就稍差一些,後面的關卡只是鬼動的速度比較快,迷宮長的不一樣而已,其他的遊戲要素都沒變,所以玩久了會膩,這就是所謂無法持續給予玩家刺激與驚喜;但另一個遊戲,超級瑪莉,這就是非常經典的關卡設計了,各小關的風格完全不一樣,有平原、地城、水下或高臺、王城,各大關相同小關則是遊戲物件不一樣,比方說1-1的敵人是烏龜與壞香菇,4-1多了刺龜,8-1多了鐵龜,諸如此類的設計,讓你在全破之前永遠猜不到下一關長什麼樣,不斷有新東西加入,這就是一種刺激;讓你料想不到,這就是一種驚喜,這樣的關卡設計會讓遊戲很具黏性,一直到全破為止,如果加上多重路線,會讓人想一破再破。

2010年8月10日 星期二

遊戲設計概論(3)-2

3.2    決策過程
3.2.1    內容設計
在遊戲中,決策過程扮演著非常重要的角色,遊戲的決策愈有趣,遊戲就愈有趣,當然決策的層面很廣,有很低階很簡單的決策(如決定前進方向),也有很高階很複雜的策略(如生產流程或建築規劃)

我還是舉小精靈為例,小精靈這個簡單的經典遊戲,就是充滿決策的一款遊戲,首先,最基本的決策,就是你到底要往哪邊走,你是要躲鬼躲的遠遠的,還是要冒著危險吃豆子?你是要躲在角落,還是要維持在中央部位保持機動?進階一點的決策則是大力丸的使用時機,你是把大力丸留到最後再吃,還是一邊遊戲一邊吃大力丸?再更進階一點的決策則是當你吃到大力丸後,是要利用無敵時間趕快把豆子吃完,還是追殺鬼?當櫻桃、香蕉這種加分的物件出現後,是放著不理,還是冒著危險去吃以求高分加一隻?

3.2.2    懲罰設計
是人都會犯錯,遊戲自然也不例外,所以當設計決策過程時,必須要把懲罰設計考慮進去,不同的決策錯誤,伴隨著不同程度的懲罰,如果懲罰過重,會導致玩家壓力過大,而使遊戲可玩性降低,遊戲如果因為決策錯誤而結束,必須是因為玩家犯下了非常致命的錯誤或是累積了無數的小錯誤造成的,我還是以小精靈為例,當玩家決策錯誤時,比方說決定了錯誤的移動方向,並不代表玩家一定會被鬼吃掉,玩家可能需要花掉更多的時間左閃右閃,好不容易閃過了鬼,才能重新吃豆子,但如果類似的錯誤不斷累積,總有一次會因為閃不過而死掉,這就是累積許多小錯誤而造成的遊戲結束;同理,如果說玩家直接朝著鬼衝過去,這就是致命的錯誤,當然遊戲直接結束。

2010年8月3日 星期二

遊戲設計概論(3)-1

3.    什麼是好遊戲?
在第2章我們提到了遊戲的要素,但是滿足這些要素就能成為好遊戲嗎?讓我來找一個遊戲當作範例
「公主被囚禁在城堡裡,身為英雄的你,必須要把公主救出來,你開始旅程後,前方出現兩條路,一條是通往城堡,一條通往洞窟,你必須選擇一條,如果你選擇通往城堡的路,恭喜你!你救到公主!達成遊戲目標!如果你選擇通往洞窟,很抱歉!你被怪獸吃掉,遊戲結束」

如果逐一核對上面這個遊戲範例,這個範例其實包含了第二章提到的所有核心元素,有玩家、有決策、有控制、有鮮明的遊戲物件(王子、公主、怪獸)也有明確的遊戲目標,但很明顯的,這個遊戲真的是很無聊的遊戲,但不要笑,這是我小學剛學寫basic時所做的,打怪獸時還會有戰鬥畫面呢!只是你永遠打不過他就是了,好!這個遊戲哪裡出問題了?這遊戲太簡單了,他只是把遊戲要素單純呈現出來而已,並沒有加以包裝,此外各要素間銜接的環節也沒有做,所以,要做一個好的遊戲,不單單只是滿足核心元素而已,我們還要做「多」一點,讓遊戲更有趣!

3.1    遊戲目標
3.1.1    內容設計
遊戲目標是一個遊戲中非常重要的部分,這個我們在第二章時已經著墨許多,但要如何設計遊戲目標,則是另一門學問,遊戲目標呈現的方式很多種,比方說,擊倒特定的敵人、蒐集全部的鑽石、達到某個分數門檻…等等,一般來說,設計遊戲目標不會只有一個,而是分近程、中程及遠程目標,由近程目標堆疊出中程目標,再由中程目標堆疊出遠程目標,每達成一個目標,遊戲會回饋給玩家一些東西,比方說能幫助遊戲進行的道具、降低遊戲門檻的道具、或是協助角色成長,以剛剛的遊戲舉例來說好了,近程目標可以是打倒所有敵人,蒐集鑰匙,中程目標可以設定為蒐集三把鑰匙後,打開某個洞窟怪獸之門,然後打倒洞窟怪獸,可以取得一個寶石,遠程目標可以設定為蒐集三個寶石後,可以打開城堡之門,進去與最終頭目對決,獲勝則救出公主,這樣遊戲目標的層次就做出來了,遊戲也耐玩許多,而玩家也在這一個個目標中,獲得角色的成長及達成目標的獎賞。

3.1.2    難易度設計
遊戲目標達成的難易度,是相當弔詭但是重要的設計,因為玩家喜歡挑戰,太簡單的目標會使遊戲變得無聊,但玩家又想贏,所以太難的目標會讓玩家卻步,因此整個學習曲線的設計就變得很重要了,一般來說,由於遊戲是由近程、中程及遠程目標所構成的,所以在遊戲初期,往往會先設定一些與系統操作有關的遊戲目標,幫助玩家熟悉系統,這些目標經過特殊的設計,一定要用到遊戲中某種特殊的功能才能達成,但難度並不高,比方說遊戲有二段跳的設計,你可以設計一個簡單的目標,去某個地方幫某人取得某個物件,但必須透過二段跳才能取得,當玩家成功達成目標後,獲得少許獎賞(如100G),可以買一些簡單的補給道具之外,玩家也了解二段跳的操作,等到玩家對系統熟悉後,再設計一些綜合性的目標,給玩家較難的挑戰。

什麼樣的挑戰叫做難?這又是一個非常值得探討的問題,同樣的難的遊戲目標,有些會讓玩家很不服氣,一試再試,有些會讓玩家試幾次就徹底放棄,他們同樣都是難的挑戰,但為什麼會有截然不同的結果,這就是難關的設計藝術,我想身為遊戲設計者的你,一定不希望玩家沒玩完你的遊戲就半途而廢了,但又不希望玩家覺得你的遊戲太簡單、太無聊,所以,難關的設計就變得非常重要,難關的設計重點,在於失敗的原因,比方說當你在玩小精靈或是俄羅斯方塊這個遊戲時,如果輸掉了,往往都是因為我們決策錯誤造成,並不是其他因素,所以我們會怪自己「如果當時我先吃到大力丸就好了」或是「如果當時我不要貪多,先消掉兩排就好了」,因此,我們會再挑戰一次;可是如果說有一個遊戲,他某一個難關會有隨機出現的閃電,當你被閃電打到,你就死了,這時就會讓玩家起度爛了,因為我並沒有犯什麼錯,只是因為運氣不好被隨機打到,如果說這樣的機率過高,讓玩家嚐到幾次莫名其妙的失敗,很有可能這個遊戲就被束之高閣了,我之前在iPhone上玩過一個Capcom出的魔界村遊戲,就是因為iPhone的虛擬搖桿操作設計不良,導致某個需要細膩動作的關卡很難進行,因此沒試幾次我就放棄了。在手機上什麼遊戲適合開發,什麼不適合,這是另外一個議題,不在本篇文章範圍內,我們在往後的文章會討論這部分。

3.1.3    決勝因素設計
在遊戲目標設計時,決勝因素要盡可能避免「運氣」成分在裡面,運氣這種東西在現實生活中非常重要,但在遊戲中卻是吃力不討好,如果玩家因為運氣不佳所以無法達成目標,玩家會感到很生氣,但如果因為運氣好而達成目標,玩家又沒成就感,所以在設計決勝因素時,必須要注意運氣成分,舉一個假想的極端例子來說,一個射擊遊戲,當你打頭目前會有固定機率掉超級炸彈,如果你吃到超級炸彈,頭目一放就瀕臨死亡,如果你沒吃到,要打死頭目幾乎沒可能,這種就是失敗的決策因素設計,因為決定遊戲勝負的關鍵在運氣,而不在玩家的技術,但玩家玩遊戲卻是希望透過他自己的努力與不斷磨練出的技術來掌握局面、控制結果最後征服遊戲,因此當遊戲設計有運氣成分在裡面時,要特別注意他的比重與影響,絕不能讓運氣成為遊戲決勝的因素,要特別記住,遊戲決勝的因素永遠是因為玩家的努力與奮戰不懈的精神。

發文的風格

有人反應說我的文章太長,看起來很痛苦,往往看完一頁就直接按end鍵,老實說我還蠻受傷的,我一直覺得文章有他的結構在,如果硬把他拆成好幾篇來發,在閱讀上可能會有不連貫的問題,不過有人反應我就會檢討,遊戲設計概論的文章,各章節是比較獨立的,以後我會拆開來發文,其他的還是維持原狀,先這樣試試看吧!

2010年7月18日 星期日

遊戲設計概論(2)

2.遊戲的定義
在探討這些主題之前,當然要先定義什麼是遊戲,不過呢?我比較喜歡先做負面表列,因為人往往不知道自己要什麼,但往往很清楚自己不要什麼,也就是說,我想先定義什麼不是遊戲,當我們把不是遊戲的部分切除掉後,剩下的就很接近遊戲的定義了。

2.1什麼不是遊戲
2.1.1電影不是遊戲
我想這個是很顯而易見的,但是為什麼電影不是遊戲?有什麼遊戲的要素是電影缺乏的?在我的觀點來說,最主要的要素就是主動性的參與,對看電影的觀眾來說,他們只是第三者在觀看著整部電影的發展,並沒有主動的參與到電影裡,講更白話一點,電影的觀眾無法對電影做出控制跟決策,無法影響電影的結局,不管你有多不願意,搶救雷恩大兵中的湯姆漢克斯最後還是會死掉,這就是電影寫好的劇本,不管你事先有沒有被雷到,電影的結局是不會改變的。有趣的是,當人在看電影時,他們會很希望電影的結局很明確,各環節都交代清楚,一旦電影的結局變得開放,就會成為俗稱的「爛尾」;可是當人在玩遊戲時卻剛好相反,並不喜歡遊戲的結局是固定的,而是希望可以靠著自己的參與跟在遊戲中的努力,改變遊戲的結局,簡言之,人在玩遊戲時,喜歡控制局面!這也是現今多線式劇本較單線式劇本受歡迎的主因。
2.1.2    玩具不是遊戲
這邊必須要清楚的定義玩具跟遊戲的差異,玩具本身是一個工具,他沒有什麼既定的目標,你必須要藉由玩具做為媒介,自我定義一個遊戲方法和目標,換言之,玩具會是遊戲的一部份,他是遊戲跟人之間的橋樑,舉例來說,一條彈性繩,這是一個玩具,但他並不是一個遊戲,我們必須要透過彈性繩去定義一個遊戲方法和目標,如跳繩、跳高,跳繩跟跳高本身就是一個遊戲,他有遊戲規則、遊戲目標和退場機制。

現在有些電腦遊戲做的愈來愈像玩具,比方說模擬城市系列、模擬市民系列、文明帝國系列,這些系列作品本身並沒有明確定義的目標,他只是提供一個環境讓你去建設你要的城市或帝國,然後就一直發展下去,玩家必須要自己設定一個成功的目標,比方說人口數超過五百萬人、統一全世界或是成為知名度最高的人。當然遊戲的開發者也很清楚這一點,為了避免玩家無法清楚定義達成目標,造成遊戲永無止盡的下去,最後變成無聊,所以以文明帝國系列來說,他有幾個達成目標的方式,武力統一、文化達到頂峰及外星移民,剛好是在軍事、文化跟科技三項資源運用上,當玩家達成其中之一的目標時,遊戲會很明確的告訴你,你成功了!但你可以選擇結束遊戲或是繼續經營你的帝國下去。我想要表達的是遊戲往往需要伴隨著目標,因為設計出一個玩具並不容易,如果你有能力能設計出一個玩具,並且能夠在玩具上面附加遊戲目標,這會讓你的玩具更有價值,更有彈性,仔細想想模擬系列跟文明系列,他們除了設計出一個很棒的玩具外,同時也在這玩具上植入了數個遊戲目標,讓這個玩具變得很耐玩。
文明帝國4

模擬市民

模擬城市4

2.1.3    拼圖不是遊戲
好吧!我承認這個標題會有爭議,但請先冷靜一下,我想表達的是,拼圖是靜態的決策過程,而遊戲是動態的決策過程,當你在拼圖的時候,哪一片該拼在哪一個地方,永遠是固定的,即或是可以透過程式把拼圖片用亂數方式散落,或是改變拼圖片的形狀,但只要你要拼的圖沒有改變,哪一片該拼在哪一個位置就永遠不會改變,而先拼左上角還是先拼右下角,對整個拼圖的結果也不會有任何改變,這是我所謂「靜態的決策過程」,但我認為遊戲並不是如此,遊戲的決策過程應該是透過動態的決策,可以有不同的決策方式,做出不同的資源調度,最後都可以達到遊戲目標,以魔獸爭霸3來說,目標就是要滅掉敵國,但你可以用各種方法達到目標,而不同的方法則有不同的決策,不同的決策就會有不同的資源調度,這是我所謂「動態的決策過程」。


 魔獸爭霸3

拼圖

基於上面三點,我想對我心目中的電腦遊戲做個定義:
「電腦遊戲是可讓一個或一個以上的玩家透過控制遊戲物件及調度遊戲資源做出不同決策,以達成遊戲目標的一個軟體」

請各位注意一點,在這定義中,並沒有提到美術、音樂音效跟過場動畫之類的元素,當然不可否認的,遊戲如果有這些元素,會讓遊戲更完美,更具吸引力,但我認為這些是遊戲的商業元素,而不是遊戲的核心元素,這也是為什麼遊戲公司在開發遊戲時,都是先用Cube跟Sphere來代替遊戲物件,做出雛形(Prototype),先確認概念及玩法可行後,才請美術人員進場實作。

接下來,我們將對這個定義進行解構,說明每一個核心元素,探討遊戲是什麼。

2.2    遊戲的核心元素
2.2.1    軟體程式
無庸置疑的,電腦遊戲他就是一套軟體程式,這根本就是廢話,那為什麼我要在這邊特別提出這點呢?主要目的是因為軟體程式的遊戲行為跟一般的遊戲行為大不相同,以棋牌遊戲或運動遊戲來說好了,棋牌遊戲有實體的棋子或牌移來移去,運動遊戲則是有實質的身體互動


電腦遊戲往往沒有,即或是像跳舞機或是Wii那樣的遊戲,會讓你有實質的身體互動,但在實質的社交行為上,還是比一般遊戲缺乏,各位想想,當你在打牌或打球的時候,會一邊玩一邊跟人有一些肢體手勢與動作,但這在玩電腦遊戲時並不常見


即或是像魔獸世界或瑪琪這樣的線上遊戲,你的互動還是靠打字或輸入表情動作指令,跟真正人與人之間的互動還是有一段差異。

從另一個角度來看,電腦遊戲在適應性跟自由性上也與一般遊戲不同,我們還是以前面所講的棋牌或運動遊戲為例,棋牌要找牌搭子,運動也要找同伴,自己一個人是玩不起來的,在玩的過程中,也不是你說停就停,玩到一半跑去上廁所還會覺得不好意思,因為大家都在等你一人,這在玩電腦遊戲時就沒這問題,君不見線上遊戲掛網的人多到不勝枚舉,這就是電腦遊戲的自由性;此外,在玩一般遊戲的時候,你的伙伴會對手不會因為你技術不好就讓你,你只會被痛電而已,或是你技術太好痛電對手,但在電腦遊戲中,會有難易度的調整,更先進的遊戲設計裡,會有人工智慧根據玩家的反應與狀況調整遊戲難易度,這就是電腦遊戲的適應性。
最後是引導性與想像性,在玩一般遊戲的時候,如果你不會玩,除非遇到熱心的隊友願意教你,不然你大概會非常挫折,只能蹲在旁邊看,自己慢慢學,但在電腦遊戲中,可以透過遊戲設計,由簡入深的帶領玩家了解遊戲內容與規則;而由於電腦遊戲是一個虛擬的世界,所以自然想像空間很大,可以透過美術、音樂音效及過場動畫,甚至是最新的3D成像技術,讓玩家身歷其境,置身於不同的世界裡。
 闇龍紀元遊戲場景讓玩家身歷其境的戰鬥

因此我們要了解到電腦遊戲與一般遊戲在互動性、社交性、自由性、適應性、引導性與想像性上的不同,找到自己遊戲設計的方向。

2.2.2    使用族群
前面已經提過,遊戲不是電影,遊戲並不是人站在旁邊看著就能玩,而是要人親自參與其中互動才行,因此在進行遊戲設計的時候,必須要經常的思考這個遊戲的目標族群是誰,而不是做出你自己想玩的自High遊戲,自我感覺良好對遊戲設計是毫無幫助的。此外,遊戲的主題與內容也與你的目標族群有關,大人與小孩不同,重度玩家與休閒玩家不同,除了不要自我感覺良好之外,還必須正確的選擇你的使用族群並針對該族群設計他們想要的遊戲,遊戲才容易成功。舉例來說,一個處處求真實的飛行模擬遊戲,遇上了一個只想飛上天空打打飛機發洩壓力的玩家,最後一定是玩家連起飛都辦不到,然後把遊戲束之高閣。要記住一點,你不用奢求做出一個全世界都愛的遊戲,只要你鎖定的客群願意掏錢出來,你就賺翻了。
 飛行模擬遊戲

空戰射擊遊戲

2.2.3    決策過程
前面有提到,遊戲是一連串的決策過程,最後達成遊戲目標,因此遊戲中的決策過程將會影響遊戲的發展,動作或射擊遊戲,他的決策過程比較簡單,只要決定移動方向,閃躲攻擊,並且決定以何種方式反擊;在戰略遊戲中決策過程就顯得複雜許多,你必須要找資源、生產、建設、訓練與攻擊。在遊戲設計中要注意玩家的決策一定要對遊戲有影響,不同的決策會有不同的效果,不然這個決策設計是無意義的,不過蠻遺憾的,蠻多遊戲甚至包括經典大作,這部分都沒有做得很好,玩家的決策對遊戲來說無關痛癢,舉例來說,1943這算是名作了吧!我不知道全破多少遍了,但我總是用3方向彈全破,3方向彈幾乎是全能的,對空對地都很好用,就我觀察絕大多數的玩家也都是用3方向彈進行遊戲,其他的武器相較來說變成無關痛癢,似乎有無這個選項都對遊戲進行影響不大,試想如果說今天3方向彈因為面積廣所以對小飛機較有用,速射機砲對大型飛機較有用,魚雷對船艦較有用的話,玩家就會開始進行武器調度,遊戲變化性會更多。
廢話不用多,對空對海都好用,3方向彈是無敵的!

2.2.4    控制行為
所謂的控制行為,就是前面所提到的主控權,玩家在玩遊戲時與看電影不同,希望能擁有遊戲的主控權,掌控局面,不過時至今日,在遊戲中仍然會出現一些無法中斷的過場程序,或是電腦裝聰明自作主張的幫你做一些事,舉例來說,在電影中當角色靠近門邊時,音樂響起,鏡頭特寫到門上,這會給觀眾懸疑感,因為電影的劇本是寫好的,所以角色是一定要靠近門,從門外一定會出現一些東西,因此整個程序可以這樣設計,如果說這種程序放到遊戲中會如何呢?或許玩家只是要經過這扇門而已,他並不是要開門,可是電腦自作主張的進行了這段過場,在遊戲場景中每次經過那扇門,都得進行這段過場,這就讓人覺得很煩!雖然我很清楚的知道那扇門很重要,背後一定有他媽的什麼東西存在,但老子現在就是不想去開門!這就是遊戲玩家與電影觀眾的最大差異,在自由度跟戲劇效果之間平衡的拿捏是遊戲設計時必須要考量的地方,限制太多也不行,太過自由也不行,試想如果說玩家要從A區域坐火車移動到B區域,還得去買票、選擇車次、等車、搭車的話,雖然很自由,但也太累贅了,這時就可以用過場帶過,總之,原則是盡量讓玩家有自由可以掌控整個遊戲,如果因為某些因素考量要限制玩家的自由,則應該讓這個限制不會影響到遊戲順暢度。

2.2.5    遊戲物件
一般來說在遊戲中,玩家都會控制一些物件,比方說主角、武器、車輛…..等,在動作或射擊遊戲中,玩家往往只控制單一物件(主角),但在戰略遊戲中,玩家往往要控制許多不同的物件,而上述這些物件除了由玩家來控制外,相對的電腦也會控制屬於他的遊戲物件,不管是中立的場景物件(NPC、花、草、樹木)或是敵人,不管是何種遊戲物件,在遊戲中都扮演著一個重要的角色,有他的生命跟任務,這是與一般的程式不同之處,也是遊戲物件最重要的特性,一般程式當中的物件,如按鈕、下拉選單之類的,他們也是物件,但你不一定會用到他(有多少人用過word巨集物件?),他代表的意義只是對系統下指令的媒介而已,並不具生命,但遊戲物件不同,所以在設計遊戲時,要注意不要設計出無意義的物件,除了對效能造成影響外,還會讓玩家感到不知所謂。
遊戲物件構成場景,具有生命力

應用程式的物件只是傳遞命令的媒介

2.2.6    資源調度
在遊戲中,除了控制遊戲物件外,還有資源上的調度,這部分在戰略遊戲中最常見,比方說你要管理食物、木頭、金錢等資源,但並不是只有戰略遊戲才有資源調度的問題,在其他類型的遊戲也有,比方說FPS遊戲中的彈藥數,大絕的使用次數,補血補魔藥的個數等,都是資源的一部份,透過適當的規劃各項資源,讓資源間的重要性平衡,會讓遊戲的可玩性增加不少,與前面提到的遊戲物件一樣,各項資源也要有他的意義,不要做出雞肋資源,明明有補魔藥的設計,但整個遊戲只要從頭砍到尾就能過關,這個補魔藥就變成雞肋資源了。
世紀帝國要管理的資源非常的多

2.2.7    達成目標
我們從一開始到現在都一直強調一點,遊戲是有目標的,玩家在遊戲中就是要達成遊戲目標,以滿足成就感,但是如果遊戲時間過長,會導致疲乏,就好像你跑步看不到終點一樣,因此需要次要目標來輔助,比方說打倒中頭目、救助某人、取得某樣寶物等,透過次要目標來引導故事發展,並逐漸堆疊到主要目標上,玩家才能不斷的在遊戲過程中得到回饋,回饋的方式很多,可以是一段動畫、得分、經驗值或是道具等,但回饋機制的設計最好是能反映到遊戲中,讓玩家能夠直接體驗回饋結果在遊戲理所帶來的好處,比方說RPG裡面完成一個任務,給予你經驗值,讓你能升級,或是給予你神兵讓你砍怪更順手等,如果說給予的回饋與遊戲本身沒太大關係,那玩家解任務的動力就會降低,進而達成目標的動力就會降低,遊戲就會變得無趣。
遊戲進行過程中要有適當的回饋

第二篇主要是說明遊戲各項核心元素,這些元素在第三篇會再深入探討,並且舉出實例,同時,在第三篇中,我們也會探討故事、音樂、音效等商業元素的部分。

2010年7月15日 星期四

遊戲設計概論(1)

1.前言
當Atari公司第一台遊樂器(Atari2600)在1976年誕生時,當時遊樂器並不普及

一直到太空侵略者(台灣俗稱小蜜蜂)這款電腦遊戲(以下簡稱遊戲)出現並且隨機販售後,Atari的遊樂器才開始大賣

而這樣的風潮到了小精靈這款遊戲出現後,又再現一次;

類似的狀況在任天堂的Gameboy上也出現過,當時俄羅斯方塊在GB上也掀起大流行

到底小蜜蜂、小精靈、俄羅斯方塊這樣的遊戲有什麼特別的魅力,可以帶動遊樂器的買氣,甚至成為遊戲歷史上的經典,這些經典名作跟一些失敗作品相比,又有什麼不同?到底一款好遊戲應該具備哪些要素?要注意哪些事項?本篇文章主要將探討這些主題。
本篇文章主要包含五篇,第二篇探討遊戲的定義及遊戲的核心元素,第三篇探討構成一個好遊戲的核心元素及商業元素,第四篇探討現今遊戲的分類以及各分類的要項,第五篇提出結論及遊戲設計方面的建議。