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-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-iPhone开发的游戏

使用Cocos2d-X开发的游戏

使用Cocos2d-X开发的游戏

Windows Phone游戏开发

Windows Phone 7是微软最新推出的移动操作系统,其全新Metro风格的界面,流畅的用户体验使其一推出及受到各方好评。据最新数据,Windows Phone Marketplace上已经有6万多款游戏及应用,还在保持着高速增长。该平台更由于诺基亚和微软的合作,加上与Windows生态系统的整合,被看做与iOS,Android具有强劲竞争力的新生移动生态系统。

Windows Phone操作系统

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的发布不论对Xocos2d-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和OpenXLive会持续地进行Cocos2d-X for XNA版本的维护和新功能开发,期待能够为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/

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐