近日,中国风新派回合手游《仙侠道》正式开启全平台公测。这也是首款登陆微信游戏中心的Cocos2d-JS游戏,让人眼前一亮。本期我们邀请了《仙侠道》主程陈剑,请他来聊聊《仙侠道》上线前后的故事。


【cocos】《仙侠道》的制作背景是什么?为何选择以中国风为题材?

(《仙侠道》团队合影)

【陈剑】《仙侠道》的制作人和团队都喜欢武侠小说,每个人心里都有一个大侠梦。目前在市场上,回合制游戏并不是主流。但是《仙侠道》这个游戏是为我们自己的梦想而创作的。我们相信自己用心做出来的游戏一定会受到大家的欢迎。


【cocos】《仙侠道》的核心玩法有什么特点呢?最大亮点是什么?

【陈剑】我认为主要有两点。

第一,和别的回合制游戏相比,《仙侠道》战斗系统采用了手动战斗,不像自动战斗形式的《神仙道》,它给了玩家更多的主动参与感。

第二,《仙侠道》的剧情非常丰富,玩家可以跟随主人公闯荡江湖,见证不一样的豪情故事。


【cocos】《仙侠道》的开发周期是多长呢?团队规模大概有多大?

【陈剑】《仙侠道》在今年4月份立项后,团队去厦门出差了两个月,到11月底上线,大概花了半年多一点的时间。目前团队有20多个人,包括美术,开发,策划等等。


【cocos】从页游移植到手游,《仙侠道》有做出哪些优化调整?具体在哪些方面呢?

【陈剑】《仙侠道》并不是一款简单的移植产品。这是一款专门针对手机打造的全新游戏。

事实上,我们在2013年9月左右做过一个完全移植版本,就是把网页游戏原原本本搬到手机平台上,结果效果不太理想。因此今年4月我们决定从头再来,专门开发一款新作。剧情,UI,战斗系统改动非常大,甚至完全不一样,可以说《仙侠道》手机版是一款完全重新制作的产品。

我们追求极致唯美的游戏,对场景地图、UI、角色等细节要求很高。 《仙侠道》UI是找专业团队量身定制,在安卓机型如此多的情况下,我们依然能够做到适配主流分辨率。


手游操作和网页有很大区别。以战斗界面为例,玩家选择伙伴,点击绝招,这些按钮布局,我们都针对手机用户做了适配和处理,让玩家操作起来更加方便。


【cocos】《仙侠道》得到了腾讯游戏的高度认可,并得到了大量的推广资源。如果一款游戏想要得到业界大公司的认可, 您认为必须具备什么元素呢?

【陈剑】拿我们《仙侠道》来说,主要有三点可以参考:

第一,我们拥有专业的策划、美术、研发团队,这点得到了腾讯的高度认可。

第二,腾讯和我们两方的理念相同。游戏必须追求卓越品质,走精品路线,我们在这点上达成了高度共识。

最后,游戏本身要有吸引力,品质要好,如果不能吸引玩家,也自然就无法得到大公司的认可。


【cocos】《仙侠道》最初是怎么决定采用Cocos2d-JS引擎工具来开发?主要考虑哪些方面因素?

【陈剑】第一点,代码可以做到一致。iOS,安卓,甚至以后要推出的WP版,只需要一套代码即可完成开发工作。Cocos2d-JS引擎使用JS作为主要开发语言,让多平台共用一份代码、快速开发游戏成为了可能。

为什么我们如此重视这点呢?这是从《神仙道》项目里吸取的教训。《神仙道》的iOS版本是用Objective-C写的。后来iOS做得比较好,想要移植到安卓,我们就不得不用C++重新写了一遍,代价比较高。

第二点,Cocos2d-JS能够帮助快速开发,脚本语言也比较方便。 传统的Cocos2d-x使用C++,虽然也可以跨平台,但C++的学习成本极高,编写和维护代码并不容易,而且容易出现内存泄露等问题。JS相对于C++来说更容易学习和使用,脚本语言写起来也比C++要方便。

第三点,调试方便。C++需要编译才能执行。Cocos2d-JS可以在浏览器里面运行,非常方便。我们自己做了一套系统,现在我们的开发人员都是直接在Chrome中运行和调试《仙侠道》代码,编写完JS后通过打包服务器自动打包,其他人就能够直接在手机上安装运行,开发和测试的效率都得到了很大的提升。

第四点,Cocos2d-JS支持热更新。在游戏上线后,自然需要打补丁、修Bug。手游和页游的区别在于:页游客户端要更新的话,玩家只需要刷新页面即可;而手游做为一个App,无法像页游那么方便。因此Cocos2d-JS的热更新就显得非常重要。我们做了一套补丁机制,Android玩家不需要强制更新版本就能看到新的功能。


【cocos】您认为与其他游戏引擎相比,Cocos2d-JS引擎的优劣势各是什么?还有哪些值得改进的空间?

【陈剑】作为一款开源引擎,Cocos2d-JS的引擎架构相当清晰。在研发时候可以轻松查找,改代码, 实现我想要的效果。当然还有上面我提到的四点也是不容忽视的优势。

不足之处的话,就是目前Cocos2d-JS整体缺少周边制作工具,比如特效用的Cocos Builder,现在已经很久没有维护了。还有回合制游戏普遍需要的UI编辑器也比较缺乏。希望Cocos2d-JS未来能有更多的第三方工具。


【cocos】在《仙侠道》开发过程中,团队曾经遇到哪些困难和挑战? 你们是如何克服?

【陈剑】第一个是缺乏前鉴之师。《仙侠道》立项后,刚开始只有我一个人在熟悉Cocos2d-JS,边学习边摸索,直到搭好了整个游戏的大框架,这当然是一个比较痛苦的过程。当时心想万一做不好就还用C++,后来发现用得越来越顺手。

第二个是项目很赶。刚开始,我们是仿照网页版进行开发,后来发现这个版本的体验很不好。当时已经到了4月份了, 制作时间所剩无几。 整个团队经历了2个多月封闭开发,每天都忙到12点。最后每个人都坚持了下来,一直到游戏成功。大家都克服了许多困难,终于实现了这个梦想。


【cocos】在开发过程中,有没有得到过Cocos2d-JS官方团队的技术支持?感觉如何?

【陈剑】在这里非常感谢Cocos团队提供这么优秀的游戏引擎,实现了我们自己都觉得不可能的梦想。如果没有这款引擎,我们仍然使用C++的话,很有可能没办法在这么短时间内完成《仙侠道》,更别说能够让安卓版本和iOS版本同时发布上线。总之,非常感谢Cocos引擎团队。

事实上,Cocos团队曾经来过我们公司,做过技术交流。后来林顺(Cocos2d-JS创始人)一直和我们保持联系,听取反馈意见。 当时反馈的问题在Cocos2d-JS新版当中都有得到解决。


【cocos】《仙侠道》的下一步计划是什么?

【陈剑】主要是有三点。一是开发更多城镇,完善剧情;二是为玩家推出更多互动功能;三是做更多推广,利用心动和腾讯的资源争取让更多的人认识到这款游戏。


【cocos】最后还有什么想要和大家说的话吗?

【陈剑】主要有两点想要和大家说的话:

首先当然希望玩家能够喜欢这款游戏,我们会不断完善游戏,做到自己满意,玩家也满意。

然后是介绍我们的公司品志文化,它是一家有梦想的企业,欢迎热爱游戏的同学加入到我们团队,一起实现游戏梦想。


【cocos】感谢您在百忙之中抽空接受我们的采访,预祝《仙侠道》大获成功!

【陈剑】谢谢。


受访者简介:

陈剑,来自湖北,2010年毕业于武汉科技大学计算机专业,现任上海品志文化传播有限公司仙侠道项目组客户端主程,专注于iOS和Android手游开发。

大学毕业后来到上海,加入上海射手信息科技有限公司,参与射手播放器的开发工作。2011年下半年公司转型做手游,便随着进入了手游行业。第一个项目是iOS《神仙道》,开发半年后于2012年初上线运营,并长期排在App Store畅销榜前列。自《神仙道》上线后便开始负责后续内容开发,一直到2013年下半年。同年9月份《仙侠道》项目立项,开始组建新的团队去做项目,2014年腾讯独家代理了《仙侠道》手游,目前已在iOS和Android平台成功上线。


《仙侠道》游戏下载地址:https://itunes.apple.com/cn/app/id913517781

Cocos2d-JS游戏《仙侠道》主程陈剑:以游戏圆大侠梦的更多相关文章

  1. html5 canvas合成海报所遇问题及解决方案总结

    这篇文章主要介绍了html5 canvas合成海报所遇问题及解决方案总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. Html5 video标签视频的最佳实践

    这篇文章主要介绍了Html5 video标签视频的最佳实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  3. HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题

    HTML5在微信内置浏览器下,在右上角菜单的调整字体导致页面显示错乱的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

  4. ios – containerURLForSecurityApplicationGroupIdentifier:在iPhone和Watch模拟器上给出不同的结果

    我使用默认的XCode模板创建了一个WatchKit应用程序.我向iOSTarget,WatchkitAppTarget和WatchkitAppExtensionTarget添加了应用程序组权利.(这是应用程序组名称:group.com.lombax.fiveminutes)然后,我尝试使用iOSApp和WatchKitExtension访问共享文件夹URL:延期:iOS应用:但是,测试NSURL

  5. Ionic – Splash Screen适用于iOS,但不适用于Android

    我有一个离子应用程序,其中使用CLI命令离子资源生成的启动画面和图标iOS版本与正在渲染的启动画面完美配合,但在Android版本中,只有在加载应用程序时才会显示白屏.我检查了config.xml文件,所有路径看起来都是正确的,生成的图像出现在相应的文件夹中.(我使用了splash.psd模板来生成它们.我错过了什么?这是config.xml文件供参考,我觉得我在这里做错了–解决方法在config.xml中添加以下键:它对我有用!

  6. ios – 无法启动iPhone模拟器

    /Library/Developer/CoreSimulator/Devices/530A44CB-5978-4926-9E91-E9DBD5BFB105/data/Containers/Bundle/Application/07612A5C-659D-4C04-ACD3-D211D2830E17/ProductName.app/ProductName然后,如果您在Xcode构建设置中选择标准体系结构并再次构建和运行,则会产生以下结果:dyld:lazysymbolbindingFailed:Symbol

  7. Xamarin iOS图像在Grid内部重叠

    heyo,所以在Xamarin我有一个使用并在其中包含一对,所有这些都包含在内.这在Xamarin.Android中看起来完全没问题,但是在Xamarin.iOS中,图像与标签重叠.我不确定它的区别是什么–为什么它在Xamarin.Android中看起来不错但在iOS中它的全部都不稳定?

  8. 在iOS上向后播放HTML5视频

    我试图在iPad上反向播放HTML5视频.HTML5元素包括一个名为playbackRate的属性,它允许以更快或更慢的速率或相反的方式播放视频.根据Apple’sdocumentation,iOS不支持此属性.通过每秒多次设置currentTime属性,可以反复播放,而无需使用playbackRate.这种方法适用于桌面Safari,但似乎在iOS设备上的搜索限制为每秒1次更新–在我的情况下太慢了.有没有办法在iOS设备上向后播放HTML5视频?解决方法iOS6Safari现在支持playbackRat

  9. 使用 Swift 语言编写 Android 应用入门

    Swift标准库可以编译安卓armv7的内核,这使得可以在安卓移动设备上执行Swift语句代码。做梦,虽然Swift编译器可以胜任在安卓设备上编译Swift代码并运行。这需要的不仅仅是用Swift标准库编写一个APP,更多的是你需要一些框架来搭建你的应用用户界面,以上这些Swift标准库不能提供。简单来说,构建在安卓设备上使用的Swiftstdlib需要libiconv和libicu。通过命令行执行以下命令:gitclonegit@github.com:SwiftAndroid/libiconv-libi

  10. Android – 调用GONE然后VISIBLE使视图显示在错误的位置

    我有两个视图,A和B,视图A在视图B上方.当我以编程方式将视图A设置为GONE时,它将消失,并且它正下方的视图将转到视图A的位置.但是,当我再次将相同的视图设置为VISIBLE时,它会在视图B上显示.我不希望这样.我希望视图B回到原来的位置,这是我认为会发生的事情.我怎样才能做到这一点?编辑–代码}这里是XML:解决方法您可以尝试将两个视图放在RelativeLayout中并相对于彼此设置它们的位置.

随机推荐

  1. 【cocos2d-x 3.x 学习笔记】对象内存管理

    Cocos2d-x的内存管理cocos2d-x中使用的是上面的引用计数来管理内存,但是又增加了一些自己的特色。cocos2d-x中通过Ref类来实现引用计数,所有需要实现内存自动回收的类都应该继承自Ref类。下面是Ref类的定义:在cocos2d-x中创建对象通常有两种方式:这两中方式的差异可以参见我另一篇博文“对象创建方式讨论”。在cocos2d-x中提倡使用第二种方式,为了避免误用第一种方式,一般将构造函数设为protected或private。参考资料:[1]cocos2d-x高级开发教程2.3节[

  2. 利用cocos2dx 3.2开发消灭星星六如何在cocos2dx中显示中文

    由于编码的不同,在cocos2dx中的Label控件中如果放入中文字,往往会出现乱码。为了方便使用,我把这个从文档中获取中文字的方法放在一个头文件里面Chinese.h这里的tex_vec是cocos2dx提供的一个保存文档内容的一个容器。这里给出ChineseWords,xml的格式再看看ChineseWord的实现Chinese.cpp就这样,以后在需要用到中文字的地方,就先include这个头文件然后调用ChineseWord函数,获取一串中文字符串。

  3. 利用cocos2dx 3.2开发消灭星星七关于星星的算法

    在前面,我们已经在GameLayer中利用随机数初始化了一个StarMatrix,如果还不知道怎么创建星星矩阵请回去看看而且我们也讲了整个游戏的触摸事件的派发了。

  4. cocos2dx3.x 新手打包APK注意事项!

    这个在编译的时候就可以发现了比较好弄这只是我遇到的,其他的以后遇到再补充吧。。。以前被这两个问题坑了好久

  5. 利用cocos2dx 3.2开发消灭星星八游戏的结束判断与数据控制

    如果你看完之前的,那么你基本已经拥有一个消灭星星游戏的雏形。开始把剩下的两两互不相连的星星消去。那么如何判断是GameOver还是进入下一关呢。。其实游戏数据贯穿整个游戏,包括星星消除的时候要加到获得分数上,消去剩下两两不相连的星星的时候的加分政策等,因此如果前面没有做这一块的,最好回去搞一搞。

  6. 利用cocos2dx 3.2开发消灭星星九为游戏添加一些特效

    needClear是一个flag,当游戏判断不能再继续后,这个flag变为true,开始消除剩下的星星clearSumTime是一个累加器ONE_CLEAR_TIME就是每颗星星消除的时间2.连击加分信息一般消除一次星星都会有连击信息和加多少分的信息。其实这些combo标签就是一张图片,也是通过控制其属性或者runAction来实现。源码ComboEffect.hComboEffect.cpp4.消除星星粒子效果消除星星时,为了实现星星爆裂散落的效果,使用了cocos2d提供的粒子特效引擎对于粒子特效不了

  7. 02 Cocos2D-x引擎win7环境搭建及创建项目

    官网有搭建的文章,直接转载记录。环境搭建:本文介绍如何搭建Cocos2d-x3.2版本的开发环境。项目创建:一、通过命令创建项目前面搭建好环境后,怎样创建自己的Cocos2d-x项目呢?先来看看Cocos2d-x3.2的目录吧这就是Cocos2d-x3.2的目录。输入cocosnew项目名–p包名–lcpp–d路径回车就创建成功了例如:成功后,找到这个项目打开proj.win32目录下的Hello.slnF5成功了。

  8. 利用cocos2dx 3.2开发消灭星星十为游戏添加音效项目源码分享

    一个游戏,声音也是非常的重要,其实cocos2dx里面的简单音效引擎的使用是非常简单的。我这里只不过是用一个类对所有的音效进行管理罢了。Audio.hAudio.cpp好了,本系列教程到此结束,第一次写教程如有不对请见谅或指教,谢谢大家。最后附上整个项目的源代码点击打开链接

  9. 03 Helloworld

    程序都有一个入口点,在C++就是main函数了,打开main.cpp,代码如下:123456789101112131415161718#include"main.h"#include"AppDelegate.h"#include"cocos2d.h"USING_NS_CC;intAPIENTRY_tWinMain{UNREFERENCED_ParaMETER;UNREFERENCED_ParaMETER;//createtheapplicationinstanceAppDelegateapp;return

  10. MenuItemImage*图标菜单创建注意事项

    学习cocos2dx,看的是cocos2d-x3.x手游开发实例详解,这本书错误一大把,本着探索求知勇于发现错误改正错误的精神,我跟着书上的例子一起调试,当学习到场景切换这个小节的时候,出了个错误,卡了我好几个小时。

返回
顶部