Cocos2d進軍WP7:Cocos2d-x for XNA游戲引擎發布
雖然在一年的時間內,Windows Phone的應用數量達到6萬款,但是長期以來Windows Phone上缺乏好的游戲引擎,阻礙了游戲開發者進入這個新興的手機操作系統。Cocos2d-X for XNA的發布,相信對于那些想進入Windows Phone的iOS或Android開發者來說無疑是一個好消息。
Cocos2d-X for XNA Hello world
Cocos2d概述
Cocos2d-x是一個開源的,跨平臺的,輕量級的2D游戲引擎。它基于ios平臺上著名的游戲引擎cocos2d-iphone移植,支持包括iOS, Android, Bada, BlackBerry Playbook, Windows XP, Windows 7,Linux,等多個平臺。使游戲開發者能夠以同一套API、甚至同一套代碼將游戲分發至多個游戲平臺,大大減少多個平臺之間的研發和維護成本。
截至今日,已經有3000多款使用Cocos2d-iphone引擎的游戲,和200多款使用cocos2d-x實現跨平臺的游戲,其中不乏Zynga、Glu、Disney Mobile、空中網、網龍、Chillingo各手游大廠的作品,和大量榮登AppStore Top10的中小團隊乃至個人開發者作品。去年以來國內大熱的《捕魚達人》也正是基于cocos2d-x引擎開發。
使用cocos2d-iphone開發的游戲
使用cocos2d-x開發的游戲
Windows Phone游戲開發
Windows Phone 7是微軟最新推出的移動操作系統,其全新Metro風格的界面,流暢的用戶體驗使其一推出及受到各方好評。據最新數據,Windows Phone Marketplace上已經有6萬多款游戲及應用,還在保持著高速增長。該平臺更由于諾基亞和微軟的合作,加上與Windows生態系統的整合,被看做與iOS,Android具有強勁競爭力的新生移動生態系統。
Windows Phone操作系統
然而,由于Windows Phone目前不支持C++語言開發應用程序,且該平臺采用XNA框架作為Windows Phone上的游戲開發接口。所以基于C++的cocos2d-x和基于Objective-C語言的cocos2d-iphone版本均無法在Windows Phone平臺運行。而與此同時,Windows Phone上也沒有比較好的游戲引擎,使得在Windows Phone平臺開發游戲具有一定的門檻。
Cocos2d-X for XNA的遠景
正是在此背景下,cocos2d-x與最早開發Windows Phone平臺的游戲社交平臺OpenXLive合作移植了Cocos2d-X for XNA版本,此版本的發布對于Windows Phone平臺具有重要意義:
首先,Windows Phone平臺還沒有比較成熟的游戲引擎,大大增加了該平臺游戲開發的難度和進入門檻。
“XNA本身在2D方面只提供基本的Sprite繪制和變換,你要管理游戲中無數個精靈的動作,位置,狀態,觸摸事件;同時對于游戲中的多個場景的管理,對于地圖文件的解析等等,這些對于基于XNA開發游戲要做大量的工作,甚至你不得不去學習3D繪制,矩陣變換等方面的一些知識。而Cocos2d-X for XNA引擎做了這些基礎工作,大大降低在Windows Phone平臺上開發游戲的難度,使得游戲開發者可以更多關注在游戲設計本身,而不是學習新的技術框架和接口”——Cocos2d-X for XNA游戲引擎移植的核心開發者,OpenXLive開發經理秦春林說。
其次,對于新生的移動操作系統Windows Phone而言,iOs和Android上面有大量的成熟的游戲。怎樣讓這些游戲能快速移植到Windows Phone平臺?cocos2d-x開源社區提供了完美的方案,Cocos2d-x for XNA盡量保持了和Cocos2d框架一致的API接口,使游戲廠商只需要少量工作即可以將游戲發布至Windows Phone平臺。
第三,Cocos2d是一個非常成熟的游戲引擎,它已經開發出上千款游戲,Cocos2d社區具有大量的開發資源,各種教程及官方文檔,以及活躍的開發者社區。秦春林表示Cocos2d-x for XNA移植團隊后續也會寫大量的博客教程文檔。
所以,Cocos2d-x for XNA的發布不論對cocos2d-x游戲開發者,還是對Windows Phone開發者無疑是一件重大喜事。Cocos2d-x社區組織者王哲表示。
當然,這只是第一個版本,引擎本身還不夠完善,還有一部分功能沒有實現。但是在這個版本之上開發者可以開始移植基于Cocos2d家族其他平臺的游戲到Windows Phone,或者直接使用Cocos2d-X for XNA開發新游戲了。Cocos2d-X for XNA開源游戲引擎的完善和成熟需要大家的不斷反饋和提出建議 。
“我們會按照cocos2d-x其他版本的進度,大概每隔一個月進行一次版本更新。下一個版本我們盡量完善所有功能,再經過2個版本左右,給大家一個比較穩定的版本”,秦春林描述了下一步計劃。
按照這個計劃,也就是今年5月份左右就可以使用比較穩定的版本,期待Cocos2d游戲引擎可以為Windows Phone平臺帶來更多優秀的游戲。
開發資源
Cocos2d-x for xna的源代碼下載地址:http://down.51cto.com/data/330311
Cocos2d-x for xna的源代碼您也可以從git下載,下載地址:http://github.com/cocos2d/cocos2d-x-for-xna/
你也可以從http://www.cocos2d-x.org 網站找到大量關于cocos2d的資源。
為了幫助新手入門學習和使用cocos2d-x for xna引擎,cocos2d-x for xna移植小組成員劉凱威寫了一個小例子,并將源代碼開源到Codeplex上,大家可以從這里下載:http://tweejump.codeplex.com/
下面我們將提供一個WP7游戲開發的例子:TweeJump(cocos2d-x for xna) http://xnagame.blog.51cto.com/4387996/781990
總結
在過去的幾個月中,兩個團隊的開發者付出了巨大的努力,成功地解決了很多棘手的技術問題。今后,Cocos2d-x和OpenXLive會持續地進行Cocos2d-X for XNA版本的維護和新功能開發,期待能夠為Windows Phone開發者提供可靠的開源游戲引擎平臺而努力。