2014年2月21日 星期五
開發日誌-sp gamesalad開發注意事項
終於開始製作第二部遊戲了,
先把到目前為止使用gamesalad這套工具可能會遇到的問題,
以及工具的bug紀錄一下,
截至今日(2014/02/21),
gamesalad最新的版本號為"0.10.4.1b",
這裡的b代表的意思是beta,
也就是說即使gamesalad已經出到10幾版,
在歐美以及世界各地也都有不算少的pro版付費使用者用來創作商業作品,
但在官方眼裡它仍然屬於beat版,
不過對這套工具有興趣的朋友,
這也表示還有很多官方想做的功能還會陸續增加,
基本上是可以放心使用的,
拿來製作2D遊戲的話非常好用,
官方在0.11版也打算再放出許多實用的新功能(如多人連線遊戲相關function)
前兩天因為看到unity更新4.3版之後新增了官方的2D功能,
試用過後,
發現其實unity還是針對3D為主下去更新2D開發功能的,
它所謂的2D開發功能其實只是把視角鎖定在正視圖,
操作思維及ui都沒有太大的更改@@"
因此本來打算跳去用unity的我,
在考量工具順手度的情形下,
還是決定繼續使用gamesalad了,
畢竟以個人獨立創作來說,
我的時間及精力只能專注在2D遊戲,
gamesalad算是針對2D遊戲開發而生的工具,
個人覺得使用起來的確很順手以及開發速度真的很快,
畢竟自己用的順手而且能快速把想法完成的工具才是選擇的重點,
==================================
使用gamesalad開發有一些需要注意的地方,
一.記憶體控管
gamesalad這套能跨多平台發佈的2D遊戲工具,
有許多記憶體效能的問題存在.
在不同裝置運作的時候,
因為每種裝置的記憶體不一樣,
很容易就遇到效能爆掉的問題,
尤其是在電腦模擬器上運作的時候往往是沒問題的,
一但到實機測試就crash掉.
因為電腦的記憶體至少4G~8G,
iPod touch4只有512mb的記憶體,
iPod touch5有1G的記憶體,
個人則是以iPod touch4為主要iOS的測試裝置,
基本上只要iPod touch4能運作,
其他iOS裝置應該都沒問題,
最常發生的情形是
在電腦端做的很開心,
但傳送到iPod touch4測試時因為記憶體不夠,
遊戲很容易crash掉
gamesalad的viewer左方會有一個記憶體使用數字在跳動,
反映GameEngine在進行物理數學運算時使用到的情形,
即使同樣的場景(scene)
數字每次也不會都一模一樣,
大致上來說物理運算愈多的場景,
跳動的會愈劇烈,
大約保持在80以內是比較保險的,
超過80的話,
iPod touch4 crash的機率就很高.
如果已經做到後期數字飆很高了,
要解決這個問題,
可以針對以下方向著手改善.
1.把場景中不需要用到物理運算的演員(actor)移除物理運算.
具體的做法就是在演員(actor)中的設定裡Attribute→Phisics→Movable
把movable的框框取消勾選.
2.只需要直線運動,不需要做物理運算的話,
該actor可以使用self.Position的方式,
再用Interpolate去針對x或y座標做數值的變化就好.
3.部份圖像以及除了遊戲啟動之後每個場景都一定會用到的物件以外,
要用到的時候再載入到記憶體裡,
具體的做法是在actor設定裡把Attribute→Preload Art的框框取消勾選.
4.需要物理運算的actor盡量不要做多餘的動作,
尤其是針對碰撞的運算如果太多,會在一瞬間消耗大量的記憶體,
一撞可能就crash了...
5.物理運算的偵測形狀比起使用●,使用■消耗的記憶體較少.
當然除了以上這些部份,
圖像跟聲音也都會使用記憶體,
這些能盡量壓縮節約使用當然也是必要的,
retina視網膜2倍密的圖像也比想像中耗費記憶體,
最好隨時確認有哪些圖像一載入就佔用了很大的記憶體.
掌握以上的原則的話.
基本上就能好好使用gamesalad,避免crash的發生.
二.存/讀檔bug
這邊指的不是開發專案的存檔,
而是玩家在遊戲作品中的存/讀檔.
gamesalad的遊戲中存檔的function存在致命的bug,
一度讓我找不到原因改了好幾次,
非常痛苦,
最後是gamesalad論壇那有外國人也遇到,
我才知道不是我個人的問題,
1.存檔的function是save Attribute >輸入自訂名稱,
這邊要注意的是,
一定要按在空白輸入框上那個input的的地方直接打字輸入,
而不要去點旁邊的"..."打開選擇框再輸入,
這樣的差異我猜應該是打開選擇框再輸入後的結果會變成自動加上""的符號,
導致存檔的參數名稱對不起來,
這個非常重要,
讓我重新送審好幾次@@
2.In-App Purchase跟GameCenter的參數名稱輸入部份好像也有這個問題,
不知道下一次更新會不會修正,
最好是都使用最保險的做法直接打在input輸入框會比較安全.
==================================
會想換用unity,
是因為它最近實在是太熱門了,
已經是市場上NO1的遊戲引擎了.
在台灣跟中國非常多人都在用這套進行創作,
unity也很用心在進行中文市場的推廣,
包括巴哈辦的比賽甚至還有針對unity的項目...
微軟前陣子也跟unity合辦活動,
只要用unity移植遊戲到windows phone就送我好想要的xbox one!!
不是使用unity製作的作品就沒辦法參加真的很可惜,
不過再試用過4.3版之後,
發現並沒有官方廣告的針對2D開發功能有那麼大的進化,
對我個人來說總覺得不順手,
所以還是就繼續用gamesalad了,
gamesalad在國外也是有常常在舉辦一些活動,
像前陣子的amazon上架送pro版license,
amazon比賽送kindle平板,
以及最近跟samaung合作的上架tizen就送50美金的活動等,
看一看其實也蠻多活動跟比賽的,
也不好看著碗裡的想著碗外的,
就專心用自己覺得順手的工具吧,
畢竟也不是大家都說好用就是好用,
自己覺得順手才是最重要的.
雖然台灣沒什麼人在用,
不過沒關係,
一個人獨立開發遊戲之路本來就是在走人煙稀少的路,
用的工具冷門又有何妨:)
野原先生希望自己是日本第一的gmesalad開發者,
那麼我就希望自己是台灣第一的gmesalad開發者吧.
台灣沒什麼人用gamesalad,
應該容易一點^^"
不過有出現更好用更順手的開發工具的話...
其實還是會隨時換,
畢竟創作遊戲用什麼工具去做其實不是重點,
遊戲好玩才是重點^^"
訂閱:
張貼留言 (Atom)
HI:
回覆刪除寫得很棒喔
期待你的第二個遊戲
文裡有一個小小錯誤
"beat" -> "beta"
PS:前天送審二款 GameSaald 遊戲 等待審核中...
感謝提醒,
刪除打太快沒注意到打錯字了,
已經修正文章了,
你一次開發2款啊
動作真快!
預祝你審查順利!
你好請問一下
回覆刪除目前我們想要做一個桌游方面的andriod app
對這個軟體還不太熟悉
如果要做能夠多台手機連再一起玩 可能是藍芽或wifi
這個軟體有提供這種功能嗎?
基本版好像不能支援andriod??
是啊,基本免費版不支援發佈android,
刪除必須要付費的pro版才可以^^",
至於連線遊玩的功能,
最新版本(0.11預覽版)看官方的說明已經可以支援了,
不過這方面的功能我還沒有實做過,
可能要等你當台灣第一人嘗試過,再分享心得給大家了^^"