寫在所有之前:這個工具更適合沒有編碼基礎又喜歡折騰的設計師們,並不一定適合開發者。
當你有乙個好的遊戲創意卻因沒有**基礎而擱淺時,是不是很期待一款這樣的軟體,讓ios遊戲開發變得像做份沙拉那麼簡單?現在gamesaladinc.就為我們提供了這樣乙個便利的開發工具gamesalad。
著手使用這個工具開發ios遊戲前,開發者一定要想好整個流程和遊戲框架,雖然也許製作過程只是簡單的拖拽行為,但創作中的製圖、音效、關卡設計、故事情節都需要時間去完成。所以我們需要了解一下gamesalad的結構,如下所示:
gamesalad故事板的形式去設計遊戲,用場景內來承載不同的事件和物理環境。整個引擎以事件驅動行為,在效率方面表現相當不俗,即使螢幕內有大量的sprite(2d元件)也能保持fps,不會出現卡幀。
使用gamesalad來製作遊戲就像玩2d拼圖,能很快的把元件們組成故事
在物理引擎方面,gamesalad提供了一些基礎的物理引數:重力、摩擦力、加速度、密度、角速度等。這些引數已經可以搭起乙個簡單的物理環境。
物理環境決定了遊戲裡的蘋果會不會落在牛頓頭上
用這些物理屬性,我們可以做乙個憤怒的小鳥裡最簡單的關卡:
1、我們建立乙個球的行為者,為他賦予初速度、加速度和方向,這樣球就會自己動起來啦。
gamesalad有著明顯的侷限性。在推廣方面,使用者需花費一番功夫才能學會學會發行和推廣他們的遊戲。而且通過雲端上傳源**到伺服器也讓很多 人持觀望態度,這也是為什麼gamesalad不像unity或cocos2d那樣經常有大作出現。在技術方面,gamesalad則有以下重要的技術門 檻:
1、開發的同時也限制了引擎,其中最重要的就是繼承的管理。actor和attribute的分離導致整個引擎只有兩種變數,全域性變數和actor變數tag。全域性變數會同時控制某actor的父類與子類,而actor變數只能控制自身。
如上圖,papa這個父類可以通過控制tag來控制自己的行為,子類a和b也能通過控制tag來控制自己的行為,但不能有乙個外部的全域性控制器 control來區分控制他們,即一旦對attribute這種全域性變數做出修改,papa\a\b的行為都會改變。這個設計導致了無法進行跨類控制,父 類也無法控制子類,在遊戲設計上導致了很多限制。
2、另乙個侷限性在於碰撞盒。由於物理引擎的不開源,無法自定義碰撞盒,導致曲面碰撞檢測無法控制。gamesalad裡的預設碰撞盒只有矩形和圓 形兩種,我們雖然可以通過微積分的方式去製作曲面的碰撞檢測,但這樣就導致工作量和靈活性大大降低,而且無法對物品執行的方向做好控制。
比如tiny wings裡的弧形山脈,如果使用gamesalad去做就必須要用很多窄矩形疊加去模擬弧線(如下圖),但這樣也會拖低系統的效率。
利用窄矩形的碰撞盒去模擬弧線是一件很費力的事情
綜上,gamesalad更適合開發射擊類、橫版闖關類、迷宮類和一些簡單的休閒類遊戲。那麼在熱門遊戲裡,哪些可以使用gamesalad開發呢?
此外,gamesalad是率先支援使用html5發布遊戲的遊戲創作平台之一,這就可以使使用者更簡便地將遊戲分享到那些不支援flash遊戲的平台中去。因此這款支援html5的遊戲製作工具有著特殊的意義。
最近發布的pro版增加了更多新的支援,如對game center排行榜的開放式介面。
不論如何,gamesalad對想要磨練遊戲設計能力的人來說,是乙個低成本的試驗平台。希望這一篇簡單的推廣文能讓更多人了解並嘗試使用這個工具——gamesalad可以讓你從枯燥的遊戲製作過程中解脫出來,發揮你的積極性和技能來創造出他人可能會欣賞的東西。
遊戲開發 iOS 遊戲開發教程資源
ios 遊戲開發教程資源 羅朝輝 本文遵循 署名 非商業用途 保持一致 創作公用協議 cocos2d 入門 如何使用cocos2d製作一款簡單的iphone遊戲 1 如何使用cocos2d製作一款基於tile的遊戲 如何使用cocos2d製作一款基於tile的遊戲第2部分 碰撞與拾取 如何使用coc...
當C 遇到IOS應用開發
在object c中,字典 key value 使用nsdictionary 和nsmutabledictionary 可變長 使用語法如下 cpp nsdictionary dict nsdictionary dictionarywithobjectsandkeys value1 key1 val...
AIR開發ios遊戲總結
1,盡量使用位圖,如果是純色塊的話,可以用向量。2,資源和素材最好用外部載入的方式,特別是 這樣可以動態的更新 3,遮罩的效率不高,如果非要用的話,最好把裡面的先載入好。因為在移動裝置裡,外部資源載入消耗很大,可以在遊戲剛開始把大部分載入好。4,字型上是關鍵,最好選擇裝置有的字型,不要嵌入字型。嵌入...