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