2011年2月23日 星期三

AndEngine - Android的遊戲引擎

Android發展也有一段時間了,隨著性能越來越好的硬體被推出之後,遊戲也越來越多,但是對於一個遊戲開發的初學者來說,到底哪一套遊戲引擎比較適合呢?比較過幾套Android上的引擎之後,決定以AndEngine作為我的第一步。

這套引擎有什麼特點呢?
  1. 完全公開原始碼:作者將所有的程式碼都公開,想要了解程式的實作方式,可以自己trace程式碼。
  2. 完全免費:是的!這是一套免費的package,你不需要額外花錢買授權或是支援。
  3. 豐富的範例程式:作者針對每個可能用到的功能寫了範例,極具參考價值。
  4. 強大的功能:使用少量的程式碼,就可以做到許多複雜的動作。
  5. 無須公開自己的程式碼:雖然這套引擎的授權是採用LGPL(稍稍鬆綁的堅持 - LGPL),但是你不需要公開你的遊戲原始碼。唯一要注意的地方是,當你修改了引擎的原始碼,就必須要公開你所修改的程式碼
但是也有一些缺點:
  1. 沒有文件可以看:嗯....對於習慣有各種white book啦,developer cookbook閱讀的人來說,這套引擎完全沒有相關文件可以看,就連安裝教學都是在他的論壇中才找到的。想要了解有什麼功能,就要自己爬原始碼(編按:所以才會完全公開程式碼.....)。
  2. 2D only:這是2D的引擎,不要以為是哪裡搞錯了,怎麼都是平面的...。
  3. 需要有java或是物件導向的基礎:沒有的話,光是看他繼承來實作去的,就會搞死你的腦細胞了。
  4. 中文討論與教學較少:中文以簡體中文的討論占大多數,但是還是不足以撐起一片天,所以要有硬啃英文跟用英文在作者的論壇苦戰的心理準備。
AndEngine 首頁:http://www.andengine.org/
AndEngine 論壇:http://www.andengine.org/forums/
AndEngine 原始碼:http://code.google.com/p/andengine/
AndEngine 範例:http://code.google.com/p/andengineexamples/

這邊有一些教學的文章可以參考:

Beginner
Getting Started with AndEngine, Eclipse and a Hello World Application
Using Timer's - Sprite Spawn Example
Update Handlers - Using their power!

Medium
Updating Sprites/Objects - Using Listeners
Scrolling with Touch Events
Live Wallpaper Settings - Example by Nasc (until I have done a tutorial)

Advanced
XML Parsing within AndEngine

Other
Live Wallpaper Template
Particle Effect Sprites
2D Polygon Class for AndEngine - Perfect for Debugging without Textures!