Cocos2d開源社區進軍Windows Phone7 Cocos2d-x for XNA游戲引擎
2012年 2 月 17 日,著名的開源社區 Cocos2d 發布 Cocos2d-X for XNA 版本。該游戲引擎針對微軟最新移動操作系統 Windows Phone 7 平臺,開發者可以采用 C# 語言開發基于 Windows Phone 平臺的游戲,而無需學習 XNA 繪圖接口。據悉,該游戲引擎由 Cocos2d-X團隊和 OpenXLive 合作開發。OpenXLive 是 Windows Phone 上最早的游戲社交平臺。
雖然在一年的時間內,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 目前不支持 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-xna 的源代碼可以從 git 下載,地址:http://github.com/cocos2d/cocos2d-x-for-xna/
你也可以從 http://www.cocos2d-x.org 網站找到大量關于 cocos2d 的資源。
為了幫助新手入門學習和使用 cocos2d-xna 引擎,cocos2d-xna 移植小組成員劉凱威寫了一個小例子,并將源代碼開源到 Codeplex 上,大家可以從這里下載:http://tweejump.codeplex.com/
總結
在過去的幾個月中,兩個團隊的開發者付出了巨大的努力,成功地解決了很多棘手的技術問題。今后,Cocos2d-x和 OpenXLive 會持續地進行 Cocos2d-X for XNA 版本的維護和新功能開發,期待能夠為 Windows Phone 開發者提供可靠的開源游戲引擎平臺而努力。
在這期間,開發團隊得到了 CocoaChina 的大力支持,在此表示感謝。