2010年7月23日 星期五

工商服務之Sprite Resource

各位觀眾,歡迎來到每週五的工商服務時間,我是大法師Kazuya,今天要為各位介紹的是一個我常去挖寶的地方
http://www.spriters-resource.com/

有做遊戲的人都知道,sprite可以說是2D遊戲的靈魂,幾乎所有的2D遊戲物件都是由sprite構成的,可是對於缺乏資源的獨立開發者,要上哪邊生sprite?隨便一個角色的動畫,四方向就好,各方向4張,這樣就要生出16張圖片,遊戲裡面總不會只有一個物件吧,就只做4個物件好了,這樣總共就要生出64張圖片,隨隨便便一個2D遊戲的sprite就會畫死你!當然3D遊戲沒有sprite指數成長的問題,可是卻要面臨建模與貼圖的問題,加上3D遊戲多一個維度,要考量的變數更多,製程也比2D遊戲複雜,所以大部分的遊戲,還是2D為主。

既然如此,身為獨立開發者,要從哪邊取得sprite資源呢?
這個網站就是個好地方啦!
http://www.spriters-resource.com/

光首頁就一堆「熱門」的sprite,我們隨便點一個越南大戰來看看好了
越南大戰主角Marco的sprite

圖實在太大,請自己點圖放大仔細看,有沒有很感動!越南大戰會紅不是沒有原因的啦!你看主角的sprite動畫多麼細緻,各種動作都有,除此之外,看看專業遊戲公司的sprite,也能學到真正的製作方式,以越南大戰為例好了,主角的上下半身是拆分開來的,這樣做除了省容量之外,在動作控制上也更佳彈性,可以上下半身分開控制

也有遊戲背景圖
整個橫向捲軸遊戲背景圖

再看看左邊,分類是依照遊戲平台做分類,選擇分類之後,裡面是該平台下面的遊戲,遊戲則是以英文字母開頭做分類,所以你要找遊戲之前,必須要先知道該遊戲的英文名字才行,不過我覺得這不是太難的問題,問google大神就知道了…..
主機分類選單
選擇遊戲英文開頭字母

這網站是不可能做到完全收錄啦,不過收錄的項目也不少,如果你想找特定遊戲的sprite,可以透過分類搜尋的方式來找找看

來找一下銀河之星2
選擇遊戲

不但是有角色,還有NPC跟敵人的sprite
sprite種類很多

連關卡背景圖都有
整個關卡背景及相互關係圖

整個關卡抓下來,直接在上面做遊戲物件,整個關卡就收工了

要不把戰鬥背景整個抓下來,你遊戲中的戰鬥背景就不用愁了,當然也可以當成tile,那一個關卡的背景就收工了
所有戰鬥背景圖

其他的遊戲sprite非常多,就不一一介紹了,總之,對於欠遊戲sprite的製作者來說,這網站確實是一個寶庫,對我來說比較受用的地方在於敵人跟NPC的sprite,畢竟角色還是要有自己的特色,但敵人或NPC的話就未必了,有現成sprite可用的話,何樂不為?對程式背景的製作者來說,在找不到美術人員的狀況下,這個網站是一個不錯的解決方案,對於美術背景的製作者來說,也可透過這個網站了解一個遊戲的sprite要怎麼設計,最重要的,他是免費的,而且直到2010年的7月19日都還在更新
站長的留言

今天的工商服務就到這邊結束,希望對大家有幫助,下週五工商服務時間再見!

2010年7月21日 星期三

小精靈beta2版發佈

經過beta版的測試後,發佈beta2版,更新下列項目

1.小精靈移動支援方向鍵
2.小精靈移動不會卡在轉角了
3.鬼的巡邏密度提高,遇到岔路有一定機率會轉彎
4.鬼也會走隧道傳送到另一邊,不要再妄想用隧道躲鬼了
5.角色變大

beta3版預計更新項目
1.增加新關卡
2.增加新遊戲要素
3.增加遊戲操作說明
4.縮小迷宮
5.小精靈移動支援搖桿
6.調整音樂音量
7.增加老闆鍵
8.增加暫停功能

beta2版下載網址
http://www.cloudpeak.idv.tw/game/pacman_beta.zip

2010年7月19日 星期一

小精靈beta版發佈

有看我BLOG的人都會隱隱約約或明確感受到,我對小精靈這款遊戲的熱愛與重視,我已經不只在一篇文章中推崇這款超經典遊戲!我甚至認為,小精靈可以算是遊戲的鼻祖,幾乎所有遊戲的核心要素都可以在小精靈這款遊戲中看見,因此我認為如果想要從事遊戲開發的人,一定要對小精靈這款遊戲深入的了解,徹底的解析,對你遊戲開發之路絕對有幫助!

既然小精靈是這麼經典的遊戲,作為獨立開發者的我,拿他來當作第一款發佈的遊戲再適合也不過了,同時在製作過程中,也重新檢視了一遍整個遊戲的製程,做為未來發佈其他遊戲的基石

廢話不多說,趕快來介紹一下

這是開頭畫面
這畫面是由我一位朋友Kenzo設計的,他是一位天才設計師,雖然我很想請他幫我設計全部的圖案,不過我還需要一點努力才能凹到他,這畫面有沒有十分歡樂的感覺啊?玩遊戲就是要歡樂啊啊啊啊啊啊啊!

開始之後的遊戲畫面
對,非常傳統的小精靈,就跟你說是小精靈了嘛!鬼的移動是採隨機方式移動,並沒有做AI進去,其實我之前有做一個版本,是用A*路徑尋優作為AI,不過實在有點變態,我自己都走不出四分之一的迷宮.....所以改為隨機路徑

吃到大力丸
吃到大力丸後,鬼會變色變慢,這時就任人宰割啦!

吃到鬼後,鬼會變成兩顆眼睛,然後他必須想辦法回到本陣去才能重生,在重生前都是沒有攻擊力的

一共有三條命,如果死光了,就會Game Over

至於破關畫面我就先保留了,反正beta版只有一關,要破並不難,自己破了就知道了

為什麼這個版本還是beta版呢?主要是我還有一些有趣的要素想要加到這個遊戲裡,這些要素在後面的關卡會出現,此外,遊戲的目標也不明確,我打算要用多個關卡串成一個故事,讓玩家享受整個遊戲的過程,不過單以beta版來說,已經可以玩玩看了,但以我對遊戲的標準來說則還不夠完整,不過一步一步來,大家一起看著他長大,這不也很有意思嗎?

有興趣想試玩的,請到下面的網址下載,放心,絕對沒有毒!
http://www.cloudpeak.idv.tw/game/pacman_beta.zip

解壓縮後直接執行即可,記得開喇叭,然後用WASD控制小精靈的移動,剩下的不用我教,你應該知道怎麼玩

希望大家玩得愉快!

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月16日 星期五

工商服務之Unity3D

大家好,又到了每週五的工商服務時間
今天要介紹的是我常用的一套遊戲開發工具--Unity3D
http://www.unity3d.com

工欲善其事,必先利其器,本BLOG一向不鼓勵靠熱血、根性還有鬥魂去拼某件事,因為這不是日本熱血少年漫畫,這個世界很現實,不是靠爆氣就能逆轉勝,也不是有信念就會成功,所以本BLOG工商服務的宗旨就是希望能夠讓大家以最有效率的方式完成創作遊戲的夢想

身為獨立開發者的我們,沒有足夠的財力、人力與物力,所以選擇一套好的開發工具是很重要的,透過開發工具,可以事半功倍,本格派的C++交給遊戲公司的RD去做就好,我們獨立開發者不應該把時間花在底層的程式技術上面,應該專注在遊戲內涵上,因此今天的工商服務就是要來介紹Unity3D這個好物!

Unity3D是2005年由一群德國的蘋果迷創造出來的遊戲引擎,後來逐步演進為整合式的遊戲開發工具,原本只能在MAC上面使用,直至2.5版開始才發佈windows版本,對我來說,Unity最吸引人的地方有下列幾點

1.跨平台發佈
跨平台沒什麼了不起,跨平台發佈就很威了!換言之你只需要開發一次,剩下的跨平台發佈就交給Unity了,如果把尚未上市的Unity3納入考量,Unity能夠發佈的平台已經高達8個(PC、MAC、Web、iPhone、Android、Wii、PS3、XBOX360),這對開發者來說是一大福音,你不需要把心力花在Porting程式碼上,而對獨立開發者來說更是重要,為什麼呢?我再三強調,獨立開發者沒有足夠的財力打通路,所以這個跨平台特性對我們來說,可以讓我們的遊戲曝光率大幅提高,讓我們投資的時間成本更有效率的回收,所以Unity3D一開始最吸引我的地方在此。

2.Web瀏覽
這特性真的是很威,Unity在Web3D上面的表現,真的讓人讚嘆,不論是Flash3D還是html5的WebGL,跟Unity3D相比,完全被壓倒,他的原理跟flash是一樣的,必須要裝一個播放器,然後透過播放器來讀取放在網路上的unity檔案以做到web3D瀏覽的效果,如果大家不相信,可以先看看這個DEMO,沒有播放器的人,當你點到這個連結時,他會引導你去安裝播放器,不用擔心有病毒,放心的安裝吧!絕對值得!
http://unity3d.com/gallery/live-demos/tropical-paradise

當你試過這個DEMO後,你就會知道Unity的3D能力有多強了,而當這樣品質的遊戲,可以直接放在網路上面透過瀏覽器就可以遊玩,光想到就很興奮!

3.整合編輯介面
Unity的工作環境完全是所見即所得的,各位可以看一下下面的圖,如果你有製作3D的經驗,對這樣的介面一定不陌生,裡面遊戲場景的製作就跟一般3D製作方式一樣,也可以切3視圖幫助定位,打光跟貼圖的方式也跟一般的3D軟體幾乎一模一樣,所以對熟3D的人來說,上手速度很快
Testing A Shooter

4.物理效果
我想有寫過遊戲的都知道,物理效果跟碰撞偵測是很煩人的,光是一個簡單的彈性碰撞,就要寫不少程式碼,如果是非彈性碰撞、完全非彈性碰撞那就更麻煩,斜拋、平拋、自由落體、爆炸這些物理行為,真的會寫死你,但Unity裡面內建PhysX物理引擎,你只要設定好物件的剛體屬性,剩下的就交給物理引擎去計算了,這些底層的程式都不需要你煩惱,碰撞偵測也是一樣,可以設定各種的碰撞子做碰撞偵測,這部分也都幫你做好了,只要是一個遊戲中共通的底層元件,都不需要你重新刻一遍,大家可以看看這個Demo,體會一下他的物理效果
http://unity3d.com/gallery/live-demos/index.html#shadows

5.網路通訊
除了可以發佈單機版之外,Unity也可以做網路通訊,除了Socket通訊之外,也支援http的POST和GET方法,換言之,你可以用Unity做MMO,也可以做AJAX的遊戲,我想這個特點會讓很多一心想做線上遊戲的人很心動

6.動態光影效果
動態光影效果就是在遊戲場景中的光影變化可以隨著光源的變化,做動態改變,比方說,你在房間中開一盞燈,周圍景物就會伴隨做出光影變化,這聽起來沒什麼,很多軟體都做得到,但是Unity的效果特別真實,想想如果你的角色在洞窟裡,手上拿著火把,配合這種動態光影效果,那是多麼爽的事!而且到了Unity3之後,光影效果又更強!

Shadows
7.程式語言
好啦!這個可能對我比較有吸引力,對別人未必,這點要跟大家說清楚,做遊戲很難不碰程式,尤其你又是獨立開發者,十八般武藝樣樣精通這是你最基本的條件,去期望一個工具能完全幫你用拖拉方式建立遊戲,這是不切實際的幻想,連做網頁都要自己寫javascript了,做遊戲怎麼可能靠拖拉物件就能完成?只是Unity的程式語言跟AS3真的非常非常的像,如果說你跟我一樣是Flex/AS3出身的話,那Unity的語法你很快就上手了,Unity也支援C#語法,並且可以跟VS2008整合,所以如果你是.NET那邊的人,我想Unity的語法也難不倒你

8.免費
哼哼哼!我一直強調,獨立開發者是沒有財力的,所以我們不可能去買那種貴到爆表的AAA級遊戲引擎,而Unity的Indie版就是免費的,專給我們獨立開發者開發,功能已經十分的強悍,上面我提到的全部都有,並非閹割版(Lite版),如果說你有更進一步的需求,你可以花錢升級為Pro版,如果要發佈到手機平台或是遊樂器平台上,則要額外付費,iPhone跟Android的開發工具費用約台幣一萬元,說真的,相較於其他遊戲引擎及這兩個平台未來的商機來說,這並不貴,言下之意就是,你可以用Unity Indie版+iPhone/Android開發工具這樣的搭配,來殺進手機平台內,門檻只要1萬元台幣

遊戲引擎非常的多,有Torque、GameStudioA7、Unreal、ORGE.....,各家引擎都有其過人之處,如果你已經有了心愛的開發工具,就繼續用下去,因為遊戲的精髓在內涵,不在工具,做開發工具之爭的人是最愚蠢的(如html5 vs Flash),不過如果你還沒有選擇你的開發工具,或是你根本不知道有所謂遊戲開發工具的存在,只知道一味的死刻程式碼,然後不得其門而入的話,你可以考慮一下Unity,試用看看,我相信你不會後悔的!

這次的工商服務到此告一段落,我們下週同一時間再見!

2010年7月15日 星期四

遊戲設計概論(1)

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

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

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

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

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

2010年7月8日 星期四

工商服務http://www.the3dstudio.com

好啦!今天是星期五,又到了本BLOG的工商服務時間
今天要介紹的是我一個常去的網站
http://www.the3dstudio.com/

遊戲製作基本上是一個很講求精密分工和專案管理的領域,不是靠熱血跟根性就能完成,這不是日本少年漫畫,光有信念是沒有用的,要懂得運用跟掌握資源,嚴格控制時間跟成本,才能完成一個遊戲專案,否則你會發現,你永遠只是在寫企畫書,然後一個寫的比一個大,每份企畫書都是一心想做超級大作,卻搞不清要耗費多少人力、時間和成本,執行的時候專案總是只做完一部份,接著就是無限延期,最後連一個完整的小精靈遊戲都做不出來.....然後繼續寫下一份企畫書,週而復始

其實不單是遊戲,任何專案的執行都是這樣的概念

對獨立開發者來說,資源非常的少,你沒有金主可以讓你組一個TEAM去分工合作,你有的往往只是志同道合的朋友(還很難找.....) ,萬一這朋友臨時有事或是結婚生子,你的專案就準備失控了;你也不是全能的天才,從企畫、美術、程式、行銷樣樣精通,就算你是全能的天才好了,你一天也只有24小時,因此,外部資源對獨立開發者來說,就非常重要了

今天要介紹的這個網站http://www.the3dstudio.com/,可說是獨立開發者的福音啊!上面有許多高品質低面數的模型可供下載,而且分類詳細,當然有些要付費,絕大多數的模型附有材質跟貼圖,最重要的是,他提供檔案格式下載資訊,而且也提供模型面數資訊,檔案格式資訊可以讓你知道你所用的引擎或是框架支不支援,模型面數資訊則是直接跟你的遊戲效能有關係,這對開發者來說是非常重要的,但一般能讓你下載3D模型的網站通常沒有這樣的服務

以坦克為例好了
免費的

低價位$15美元

中價位$60美元

高價位$179美元

如果有注意看的人會發現,價位愈高,面數愈多,我想有玩3D的人都不否定這樣的規則,因為這往往代表模型愈精細,不過由於我們是要做遊戲,所以個人建議看30美元以下的就可以了,真正高面數的模型,就算能import進來場景,對大多數的電腦來說可能也跑不動.....而且如我之前所說,獨立開發者資源十分有限,資金當然也是資源的一部份,你必須要先評估遊戲本身的獲利和遊戲特性,再評估你要購買模型的價位與精細度,如果說你的遊戲是高空俯視的坦克射擊遊戲,那你用免費的就很夠了,如果是FPS遊戲,或許要買精細度高一點的,會比較有感覺

付費方式也很親切,直接信用卡網路交易 ,交易完會發確認信給你,確認完畢後,點連結就能下載了,不過確認後下載期間只有7天,換言之,7天內可以盡量下載,但7天後就不能下載了,所以要下要快

計算一下成本,以30美元來說,一個模型含貼圖約1000元台幣,直接買斷,說真的,我是覺得蠻便宜的,因為以DAZ(http://www.daz3d.com)的模型來說,也差不多這個價錢,但是DAZ的EULA只允許做靜態render,不允許用於遊戲中,而且DAZ的模型面數往往都很高.....不太適合用於遊戲中,花個1000元可以省去很多麻煩不算,倘若你又有3D的能力,更可以拿來加工,省時省力,不管在有沒有美術人員協力之下,購買模型都是一個選擇,這也就是我所謂的外部資源,畢竟時間跟人力都是成本項目之一,妥善的利用外部資源,就能降低這部分的成本

今天的工商服務就到這邊結束,希望對大家有幫助,下週五工商服務時間再見!

2010年7月5日 星期一

HTML5與Flash之我見

http://www.inside.com.tw/05/06/9-amazing-html5-applications

看到這篇文章,我實在忍不住跳出來說,又是一個搞不清HTML5跟Flash差異的傢伙寫的玩意兒

首先,線上繪圖的例子,就是一個笑話!拿這種東西來比,讓你們看看什麼叫做真正的線上繪圖
http://pixlr.com/editor/
這是用flex寫出來的,自己去比較看看流暢度、功能和資源消耗,html5充其量不過是笑話一場,而要做出這種線上繪圖的效果,很抱歉,就算給你html5的開發工具,你要做出這種效果,恐怕投入的人力跟時間將會是flex的數倍

再來下面的遊戲,唉.....這真的很值得誇耀嗎?感覺就像是小孩子會叫爸爸,旁邊大人高興的跳起來一樣,事實上離能辯論演講作簡報還差很遠,真不知道在興奮什麼?這種程度還不用拿unity這種技術來比,光flash你都幹不掉,你自己說要用chrome才有最佳體驗的是吧?真是不好意思,在Chrome Native Client中,已經內建flash player跟unity player,請問html5拿什麼來比?功能?效能?方便性?開發成本?html5沒一樣贏的

再來是月曆、行事曆、時間管理的東西,請問有比google厲害嗎?似乎是沒有.....顯見這東西跟html5沒太大關係,用現在的技術就能達到,這兩個案例充其量只是為html5而html5

最後一個是vnc,這是利用html5的web socket來實作的,這個算是一個創新的東西,也是我認為html5可以改變未來的東西,因為他可以改進現在web通訊中Polling造成的大量資料傳輸,但這個例子舉的不好,實驗性質居多,因為vnc首重安全,我不認為大家會喜歡把主機的帳號密碼透過中繼網站去連線,誰知道你裡面藏什麼鬼?所以我認為vnc還是會維持本機安裝

所以舉的例子,真的是一點魅力都沒有,反而凸顯html5的無力

html5大家都把它想的太美,太過期待,加上一堆搞不清狀況跟Steve Jobs人云亦云的人在那邊推波助瀾,你仔細想一想就會發現,就連Apple的html5作弊demo(safari5限定),花盡工程師的血淚硬刻出來的demo(請自行看他的原始碼有多複雜!),還safari5限定(內建效果),請問這跟裝Flash Player有啥不同?
 http://www.apple.com/html5/

而且做出來的東西充其量只能跟flash一樣(我真的很佩服apple的工程師能硬爆出這種效果),我真的不知道當html5充其量只能做到跟他競爭對手相同功能時,「html5成為flash殺手」這種推論是怎麼來的?首先,我必須要說,flash不是影片的播放器,大家要先把這觀念搞清楚,flash的架構是很大的,能力也很強,只是一般人不知道,以為他是播影片的,但沒關係,就單單講播影片好了,播影片有很多的功能需求,不是單純把影片用串流送給你就了事,其中影片的進階控制、字幕互動等,都不是html5能做到

再來是大家詬病的廣告橫幅,大家要搞清楚,廣告這種東西不是flash搞出來的,而是廣告商搞出來的,今天就算沒有flash,明天還是會有取代flash的東西來做廣告媒介,對!我非常看好html5在廣告上面的發展,商人的腦筋永遠動的比你快,到時我就看你怎麼擋!

最後是效能問題,大家要搞清楚一件事,程式效能本身往往跟程式設計師的功力有關,這些吃效能的flash,往往都是充滿了向量圖形和程式產生的垃圾物件,是不當的設計造成,換言之,用另一種語言也是一樣吃效能,試想,我如果用Steve Jobs最愛的Objective-C埋一個無窮迴圈,這程式有效能可言嗎?我能說Objective-C是個無效率的語言嗎?因此,html5如果他的寫作方式有問題,將來一樣會產生吃效能的網頁,君不見有些網頁的Javascript寫的不好,無意義的dom操作一大堆,導致瀏覽很lag,難道你要ban javascript不成?而且目前youtube實驗證明,html5播影片並沒有比flash省多少效能

我希望可以幫大家建立一個正確觀念,資訊的世界,不是零和的,不是你死我活的,事實上是剛好相反,是相輔相成的,是截長補短的,所以不會有誰必定把誰幹掉,誰出現就一定把誰淘汰這種道理,我隨便舉幾個例子,你們就可以知道現在HTML5跟Flash的論戰有多可笑了

AMD與Intel之爭,你說AMD對Intel有沒有威脅?從K6開始就一直跟Intel互有擅場,直至現在,甚至AMD還比Intel率先推出原生四核的CPU,請問AMD淘汰掉Intel了沒?或是Intel幹掉AMD了沒?都沒有,兩邊一直維持穩定的版圖,也豐富了整個資訊的世界,讓消費者有更多的選擇

這兩大CPU的論戰,到現在都還沒結束.....


瀏覽器戰爭,你說FF、Chrome、Safari、Opera這些瀏覽器對IE有沒有威脅?當然有,IE可說是大家罵到臭頭的瀏覽器了,我自己也不太用,不走標準、不穩定、速度慢、效能差,請問IE被幹掉了沒?其他的瀏覽器被幹掉了沒?都沒有,各瀏覽器都各有自己的使用群, 雖然苦了網頁設計師,但卻讓使用者也有更多的選擇,不會被IE壟斷

這幾大瀏覽器的論戰,到現在都還沒結束.....


LAMP架構,對微軟的Windows Server+IIS+MSSQL+.NET架構有沒有威脅?當然有,我自己就是LAMP死忠,但微軟的伺服器方案就這樣被LAMP擊垮了嗎?還是說微軟挾著大量銀彈淹沒了LAMP?都沒有,兩種架構都有自己的使用群,誰也沒併吞誰,相反的,我還看到很多混搭的應用,也讓程式設計師和MIS有更多的選擇,可以因人因時因地制宜

這兩種架構的論戰,到現在都還沒結束.....


從這麼多歷史的軌跡來看,同樣的道理,HTML5跟Flash之間,為什麼就一定是零和賽局呢?
我認為HTML5的出現,非但不會淘汰Flash,反而會跟Flash相輔相成,讓Flash回歸到他的本業,而不是淪為做廣告BANNER跟影片播放器的工具,同時,也會讓RIA更加的普及,讓網頁設計師跟程式設計師有更多的工具可以用,更多的方法可以選擇,對問題找出最佳的解決方案,最後兩者和平共存,就跟先前我舉的幾個例子一樣

這兩種技術的論戰,現在剛剛開打,我想未來也不會結束.....

 
各位,搞清楚了嗎?說這麼多就是要告訴大家,不要再被人云亦云的媒體跟Steve Jobs騙了!Steve Jobs有他的商業考量,說的是商業語言,媒體需要話題來炒新聞,這我可以理解,但其他人瞎起鬨就真的是莫名其妙,資訊科技的世界,不是零和而是競合,html5他是一個Option,而不是一個Solution,這兩種技術都有他的Destination,永遠輪不到你幫他們做Conclusion

2010年7月2日 星期五

我的iPhone再度變成白蘋果

莫非定律,真的由不得你不信,在今天上午iTunes更新失敗,無法同步後,晚上我的iPhone在充電時再度變成了幹他娘的白蘋果,這下可好,我又要作一次回復了,基本上這台iPhone買來不到半年,沒JB也不是水貨,一切都在正常使用,我甚至連App Store的軟體都很少下載,基本上就是把它當電話在用,這樣也能死掛兩次,當機無數次.....而且還經常莫名其妙的發燙.....

套Steve Jobs的邏輯來說,如果因為具中繼層的語言效能較差,產生不出最棒的應用程式,所以要被Apple拒絕在外(Java, C#),那不知道一直不斷當機的語言Objective-C,可以算是什麼了?如果以Steve Jobs的邏輯來說,早應該被揚棄在人類歷史的洪流中!

Steve Jobs的邏輯自然是愚蠢可笑的,程式寫的好不好跟語言的關係並不太大,試想,我如果用Objective-C寫一個無窮迴圈,難道會比用Java或C#最佳化後的程式來的好嗎?程式的好壞絕大多數是取決於程式設計師的功力,就好像iPhone的OS,讓我一天到晚當機,當完機後就是得進恢復模式重新刷機,把備份資料覆蓋回去,如果遇到iTunes無法更新(像今天上午的狀況),那是一整個欲哭無淚,這難道代表Objective-C這個語言很爛嗎?當然不是,但我可以確定的是這個世界上真的不能沒有蘋果,因為他讓我知道一個OS可以寫到這麼爛,爛到比Win95還爛

對了,我還沒提到我從App Store上面付費4.99美金下載的應用程式oscremote,一開啟就當機的事呢!真不知道App Store是在審核些什麼?不過相較於上面我的遭遇來說,這個算小事了,原廠作業系統都可以寫成這樣,我哪能奢求第三方應用程式的品質呢?哪能奢求Apple黑箱作業審核的品質呢?

畢竟Apple是不會犯錯的,有錯一定是使用者的錯啊啊啊啊啊啊

2010年7月1日 星期四

蘋果公司,這個世界真的不能沒有你

話說本法師也是蘋果產品的客戶,我有一台iPhone,有一台Mac Mini,還有一個貴死人不償命又無三小路用的MobileMe帳戶,秉持著本BLOG有實作才有真相的原則,我想我有必要發這篇文章來介紹今天上午蘋果公司帶給我的神秘之旅

今天一早開電腦,出現了下面這個畫面
身為工程師的我,當然二話不說就給他更新下去了啊!有更新就更新,有Patch就Patch,這是很重要的基本觀念

由於Apple的軟體一向不是很穩定,我還特別乖乖的不敢動,靜靜的讓他更新,結果.....

好!沒關係,人有失言馬有亂蹄,吃燒餅沒有不掉芝麻的,你提醒我一句,少不了你一份多不了我一塊,自動更新發生了錯誤,但體貼的Apple還是告訴我該怎麼做,所以我就乖乖的到工具-->僅供下載的地方去下載了


結果.....
偉大的Apple給了我一個空白畫面,我想這應該叫做「國王的下載」,因為我不夠聰明,所以看不到下載了啥小,對不對?偉大的Apple怎麼可能會犯錯呢?

好吧!沒關係,大概是今天無緣吧!那我就先不下載了,反正一天不更新也不會死人,等改天有緣再說囉!

我插上了我的iPhone.....
幹!不能同步!?因為我的iTunes不是最新的9.2版,大人!冤枉啊啊啊啊!我乖乖的去更新,是你們不讓我更新的啊啊啊啊!

好吧!身為程式設計師的我,怎麼可以因此退縮呢!仔細看看,偉大又體貼的Apple,在跳出視窗中再度給了我一個訊息,叫我到一個網址上去下載

不愧是Apple,什麼事都設想的很周到,都有雨天備案啊!我便直接連到官網上去下載了
結果.....
 過了3秒
ㄟ~~~怎麼會這樣呢?我仔細的想了一想!喔~~~對了!我連到Apple官網上,怎麼可以用死對頭的Chrome呢?當然要用標榜最佳使用者體驗跟最快速網頁瀏覽的Safari5才行嘛!到Apple地盤,多少也要尊重一下是不是,所以我換了safari5連過去

 過了30秒.....
 嗯,結果是一樣的,不過多花了10倍的時間,我想Apple應該是為了要鍛鍊使用者的心性,所以一個錯誤頁面才讓我等30秒的,畢竟safari5是能帶給使用者體驗的最佳瀏覽器啊!這種用心良苦,不是一般俗人能理解的

好吧!看樣子下載無望,那我就試試iTunes的更新功能好了!這內建的總沒問題了吧!

結果.....
最好我的網路連線有問題!不過既然永遠不會錯的Apple公司這樣說,我當然要檢查一下,這也是身為程式設計師的我,應該要有的態度

檢查當然要用Apple提供的工具囉!

不愧是Apple,真的檢查出錯誤來了!只是我不太懂這是什麼意思,但Apple也很體貼的放上了說明按鈕,讓你可以查詢,我當然是按了下去
雖然我對這說明不是很認同,因為我認為這跟DNS快取沒啥關係,分明就是iTune在爛,不過我還是照做了,因為偉大的Apple是不會錯的,他的東西是絕對不會有問題的


好,做完了,再試一次
如我所料,還是不行,怎麼辦呢?當然身為程式設計師的我,是不會就此放棄的,這定是Apple為了鍛鍊我們trouble shooting的能力,所以特別安排的網路版「大地遊戲」啊!

直接連到官網總可以了吧!畢竟Apple可是以「帶給使用者最佳體驗」作為訴求的公司,他的產品支援與客戶服務一定是全宇宙最棒的!
各位觀眾!看到沒有!看到沒有!光是iTunes的連結,Apple就提供了整整三個之多啊!任君選擇!果然提到了客戶服務,Apple就是跟別人不一樣,好吧!也花了不少時間,這場大地遊戲該劃下句點了,就點右上方的連結去下載吧!


咦?一定是哪邊搞錯了,那.....那點左下方那個好了

我想Apple一定是要讓我們了解「無三不成理」這個道理,所以才安排三個連結給我們,所以我信心滿滿的點了上方的iTune按鈕

好!好一個Apple!我想在理解「無三不成理」這句話的含意之前,我已經徹底理解「金玉其外,敗絮其中」的精義了,經過一上午的「大地遊戲」,我只能說,「蘋果公司,這個世界真的不能沒有你」,如果沒有你,我永遠不會知道一個最簡單的更新下載,可以做到這麼爛,爛的無以復加,爛到無怨無悔,爛到深處無怨尤,一家還比一家爛啊!啊!蘋果公司,若要人不爛,除非己莫爛,當你在大肆批評別人之前,請先好好把你該做的基本服務做好吧!

PS.我到現在還是沒成功下載,換言之,我的iPhone還是無法同步,這下只好祈禱不要再碰到白蘋果,因為我已經遇過一次了.....