當iOS游戲開發(fā)像做份沙拉那么簡單
寫在所有之前:這個工具更適合沒有編碼基礎又喜歡折騰的設計師們,并不一定適合開發(fā)同事。
當你有一個好的游戲創(chuàng)意卻因沒有代碼基礎而擱淺時,是不是很期待一款這樣的軟件,讓ios游戲開發(fā)變得像做份沙拉那么簡單?現(xiàn)在GameSaladInc.就為我們提供了這樣一個便利的開發(fā)工具GameSalad。
簡單介紹一下GameSalad:這是一款可視化編程的游戲引擎,使用者無需編碼就能為iPhone, iPad, Mac和Web來設計,發(fā)布和分銷原創(chuàng)游戲,簡單易上手,很適合交互和視覺。開發(fā)完成的游戲可以通過云端上傳到GS的服務器,發(fā)布到的APP store。同類的游戲引擎還有Corona和Unity, 但相比之下GameSalad是最簡單的一款,而Unity則是最強大的一款。到目前為止,已有16萬游戲開發(fā)員利用GameSalad在iTunes應用店里開發(fā)了16000款游戲,其中有30多款游戲在Apple應用店游戲前100名中榜上有名。
著手使用這個工具開發(fā)IOS游戲前,開發(fā)者一定要想好整個流程和游戲框架,雖然也許制作過程只是簡單的拖拽行為,但創(chuàng)作中的制圖、音效、關卡設計、故事情節(jié)都需要時間去完成。所以我們需要了解一下GameSalad的結(jié)構(gòu),如下所示:

GameSalad故事板的形式去設計游戲,用場景內(nèi)來承載不同的事件和物理環(huán)境。整個引擎以事件驅(qū)動行為,在效率方面表現(xiàn)相當不俗,即使屏幕內(nèi)有大量的sprite(2D元件)也能保持FPS,不會出現(xiàn)卡幀。

使用GameSalad來制作游戲就像玩2D拼圖,能很快的把元件們組成故事
在物理引擎方面,GameSalad提供了一些基礎的物理參數(shù):重力、摩擦力、加速度、密度、角速度等。這些參數(shù)已經(jīng)可以搭起一個簡單的物理環(huán)境。

物理環(huán)境決定了游戲里的蘋果會不會落在牛頓頭上 用這些物理屬性,我們可以做一個憤怒的小鳥里最簡單的關卡:
1、我們創(chuàng)建一個球的行為者,為他賦予初速度、加速度和方向,這樣球就會自己動起來啦。

2、為球增加與不同物體的碰撞檢測,如碰到木板時水平速度大于多少時是有效碰撞,之后我們會判定該木板的狀態(tài)為已擊破,播放一個撞擊的動畫,同時生成破碎的木板并賦予他們一些物理數(shù)據(jù)。(這里與實際使用BOX2D或者其他物理環(huán)境時原理不同,控制上較生硬)

GameSalad有著明顯的局限性。在推廣方面,用戶需花費一番功夫才能學會學會發(fā)行和推廣他們的游戲。而且通過云端上傳源代碼到服務器也讓很多人持觀望態(tài)度,這也是為什么Gamesalad不像Unity或Cocos2D那樣經(jīng)常有大作出現(xiàn)。在技術(shù)方面,GameSalad則有以下重要的技術(shù)門檻:
1、開發(fā)的同時也限制了引擎,其中最重要的就是繼承的管理。Actor和Attribute的分離導致整個引擎只有兩種變量,全局變量和Actor變量Tag。全局變量會同時控制某Actor的父類與子類,而Actor變量只能控制自身。

如上圖,PAPA這個父類可以通過控制TAG來控制自己的行為,子類A和B也能通過控制TAG來控制自己的行為,但不能有一個外部的全局控制器Control來區(qū)分控制他們,即一旦對Attribute這種全局變量做出修改,PAPA\A\B的行為都會改變。這個設計導致了無法進行跨類控制,父類也無法控制子類,在游戲設計上導致了很多限制。
2、另一個局限性在于碰撞盒。由于物理引擎的不開源,無法自定義碰撞盒,導致曲面碰撞檢測無法控制。GameSalad里的默認碰撞盒只有矩形和圓形兩種,我們雖然可以通過微積分的方式去制作曲面的碰撞檢測,但這樣就導致工作量和靈活性大大降低,而且無法對物品運行的方向做好控制。
比如Tiny wings里的弧形山脈,如果使用GameSalad去做就必須要用很多窄矩形疊加去模擬弧線(如下圖),但這樣也會拖低系統(tǒng)的效率。

利用窄矩形的碰撞盒去模擬弧線是一件很費力的事情
綜上,GameSalad更適合開發(fā)射擊類、橫版闖關類、迷宮類和一些簡單的休閑類游戲。那么在熱門游戲里,哪些可以使用GameSalad開發(fā)呢?

此外,GameSalad是率先支持使用HTML5發(fā)布游戲的游戲創(chuàng)作平臺之一,這就可以使用戶更簡便地將游戲分享到那些不支持Flash游戲的平臺中去。因此這款支持HTML5的游戲制作工具有著特殊的意義。
最近發(fā)布的PRO版增加了更多新的支持,如對Game Center排行榜的開放式接口。

不論如何,GameSalad對想要磨練游戲設計能力的人來說,是一個低成本的試驗平臺。希望這一篇簡單的推廣文能讓更多人了解并嘗試使用這個工具——GameSalad可以讓你從枯燥的游戲制作過程中解脫出來,發(fā)揮你的積極性和技能來創(chuàng)造出他人可能會欣賞的東西。