小游戏欢乐垣克大战怎么下载坦克大展怎么该头像

欢乐坦克大战 - 欢乐坦克大战小游戏 - 欢乐坦克大战小程序 - 欢乐坦克大战微信二维码
欢乐坦克大战欢乐坦克大战欢乐坦克大战小程序信息欢乐坦克大战小程序使用指南 微信扫描体验
欢乐坦克大战小程序截图
欢乐坦克大战小程序简介 《欢乐坦克大战》是一款光子工作室群自研的多人休闲坦克竞技。重温经典坦克玩法,融合激烈竞技体验,一炮绝杀,谁与争锋!
欢乐坦克大战小程序使用方法:使用微信扫描页面上方二维码进入在微信中搜索“欢乐坦克大战”即可进入小程序欢乐坦克大战小程序由欢乐坦克大战团队开发,并于日发布于小程序商店www.91ud.com
看了欢乐坦克大战的人还看了<!-- super cache你的位置:
> 干货分享:《欢乐坦克大战》微信小游戏开发总结
干货分享:《欢乐坦克大战》微信小游戏开发总结
发表于( 14:02) 本文标签:
浏览量:76次
&&&&值班编辑QQ:
《欢乐坦克大战》是一款支持 3V3 实时对战并首批参与上线的微信小游戏中的作品。因为该游戏为微信小游戏中的重度之作,项目开发周期非常短,所以游戏复杂度、开发难度、性能挑战也是挺大的;项目组在一个月内就完成了单机、网络对战玩法的开发。
同时,因为客户端开发团队的核心成员有多年的 Cocos2d-x 引擎开发经验,所以项目组决定使用 Cocos Creator v1.6.1 版本的引擎进行开发。而对于微信小游戏平台采用的 javascript 语言,开发团队基本上是从 0 开始做,边学边做,对自身挑战很大。
网络通信方面项目采用了 WebSocket 协议进行通信,而通信格式是 json。为了迎合 tdr 的 xml 协议,项目组自己开发了 tdr-&json 的转换工具。
为了方便策划同学使用 excel 表格进行数据配置,项目组又开发了将 excel 转换成 json 文件的工具,以便供客户端读取配置文件。
地图方面我们没有使用 cocos 引擎自带的 TileMap,而是自己实现了一个类 TileMap 机制。策划同学可以在 excel 中配置地图信息,使用工具将 excil 转换成 json 格式的地图文件供客户端加载。
由于开发进度紧张,需要同时开发单机和 PVP 玩法。所以我们封装了一个命令层(CMD 层)来进行战斗逻辑驱动。比如使用摇杆控制坦克运动,是由表现层发送 CMD 命令给逻辑层进行处理,在单机模式下 CMD 会存储于客户端本地列表,然后由命令管理器 CMDMgr 在 Update 时读取本地命令列表驱动逻辑层进行处理。而在对战模式中,CMD 命令会被发往服务器,由服务器广播给所有玩家,玩家客户端的命令管理器 CMDMgr 在 Update 时驱动逻辑层进行处理。引入命令层(CMD 层)之后,战斗逻辑层是抽象独立的,开发不需要关心当前的玩法模式,可以方便的复用,减少了开发成本。
我们 PVP 实时对战采用的是 c/s 模式的同步架构,客户端做碰撞检测,将碰撞检测结果通知服务器,服务器进行校验并做伤害计算,然后广播给其他玩家。游戏支持断线重连、客户端 crash 重连机制,服务器拥有战斗中的所有状态数据,重连时将所有数据发送给客户端,客户端进行战斗场景还原。
玩家位置同步采用了基于时间戳的位置点同步算法。这个算法原先应用于《全民飞机大战》的双打模式、对抗模式中。《全民飞机大战》中实时对战采用的是 UDP 通信。而在《欢乐坦克大战的》WebSocketTCP 环境下也取得了不错的效果。算法原理如下:
在开发过程中,我们也遇到了不少挑战,但是我们都一一解决了,具体遇到的问题如下:
1、微信小游戏平台增加了动态执行代码的限制
微信小游戏平台增加了动态执行代码的限制,比如:eval ( console.log (1) )、new Function ( console.log (1) )、setTimeout ( console.log (1) ) 等调用方式无法调用。而在Cocos Creator v1.6.1源码中大量使用了 Function,为了解决这个问题,我们和 cocos 引擎开发商沟通了下,又参考 cocos 在 1.7 版本(当时尚未发布)中的修改,修改了一些源码,解决了此问题。
2、微信小游戏不允许超过 4M
正如标题所示,微信小程序严格要求了大小,为了解决这个问题,我们又想了不少办法。
措施1:引擎定制裁剪去掉不必要的模块减少引擎体积,这块通过设置引擎模块即可。
措施2:图片压缩
使用 png 图片压缩工具 pngquant,可以有效的减小 png 图片的文件大小(通常能压缩 60%-70%)左右。
通过以上 2 个措施,资源仍然会超标,只能采用资源动态下载的方案了。
措施3:资源动态下载
我们在游戏中增加了一个资源更新场景。游戏启动时,场景进行资源更新时游戏业务模块都没有创建,等到游戏场景中再进行业务模块的创建和初始化工作,然后再进行场景切换。具体方案如下:
1. 先下载一个资源更新配置文件,此文件中有待资源下载列表、资源校验 MD5 信息。
2. 根据资源下载列表,将校验 MD5 和本地文件进行对比,如果相同则不下载,如果不同则下载。
3. 下载完毕后,进行 MD5 校验,如果校验不通过则删除本地文件,重新走下载流程。这里的 MD5 校验,不仅可以校验资源下载是否正确;对于防止资源被恶意修改,资源反作弊也有一定作用。
4. 修改 cocos 引擎源码, 在 load-pipeline 中,将资源读取替换成读取本地的下载文件。
由于游戏运营中可能会有 Bug 发生,需要下发客户端补丁。资源更新配置文件可能会被多次修改,而 CDN 更新会有延迟问题,导致部分玩家下载的配置文件可能是较旧的版本。而且有部分中小运营商,为了成本考虑,会缓存旧的文件。以往的项目在发生这种情况时,一般是联系玩家进行定位,发现是运营商问题再反馈给运维同学,由网络部门的同事推动运营商进行修改,效率不高。为了减少这种情况发生的可能性,我们使用了双 CDN 策略。
具体的做法是,对于同名文件增加版本号机制,更新文件时将文件内部存储版本号 +1,并在 2 个不同的 CDN 进行更新。客户端下载时,下载 2 份文件,取版本号大的为准。这样当更新配置文件时,2 个不同 CDN 只要有一个同步到即可,既能减少了 CDN 更新延迟,又降低了运营商缓存问题出现的概率。
3、性能优化
和一般的游戏不同的是,微信小游戏平台本身的 js 脚本执行效率较弱,iOS 环境小游戏 javascript 引擎目前使用的是 JavaScriptCore,默认没开 jit 优化,js 执行速度会比手机 safari 慢,从简单测试结果来看,速度会慢两倍左右。从 Profiler 来看,js 脚本执行时间会占到 80% 左右。因此减少脚本的计算量也是性能优化一个重要的方面。
为了解决这些问题,项目组做了以下优化
渲染批次合并和大多游戏项目类似,需要合理的规划图集的使用,将同一个层次的 GameObj 使用的图片资源进行拼图。
可以分为地图背景层、地表、地图物件、坦克、子弹、特效、UI 等拼图,尽量确保同一个层次的游戏对象使用相同的图集,相邻的精灵使用的材质相同。
游戏中会显示玩家的圆形头像,而微信平台下载的头像是矩形。原先头像显示使用的是 cocos 的 mask 组件进行渲染,效率较低。我们自己实现了一个基于 mesh 的控件,将一个圆等分为 n 个三角形,给这些三角形顶点赋予相应的 UV,从而画出一个圆形头像。减少了头像渲染时的批次开销。
Cocos Creator自带的碰撞系统效率不高,没有做空间划分,不适合大量单位的碰撞检测。并且每帧都需要更新碰撞体的碰撞盒。我们游戏地图中存在大量的静态物件(如地图中的砖块、主基地、钢板等),而玩家在场景中移动时,是通过移动摄像机达到地图视野的变化,所以大量的地图静态物件的世界坐标是不变的,他们的碰撞盒只需要计算一次即可。
为了解决这个问题,我们给 cocos 的 node 增加了一个属性 static,static 节点的计算结果可以缓存起来,避免重复计算。
游戏中的坦克、子弹、砖块等采用对象池,进入战斗场景时有足够数量的预加载,战斗过程中进行复用,避免实时的对象创建与销毁。
避免场景、节点更新
分析 Cocos Creator 的源码发现,当有节点发生 active,会触发递归遍历场景,开销较大。
为了避免这类开销,游戏中的物体死亡时,不会将其从场景中移除或禁用,而是设置死亡状态,通过移动坐标到很远的地方,代码中不执行相应的逻辑处理。尽量保持帧率平稳,避免性能曲线的毛刺
当物体不在主角视野范围内并且不是持久播放的特效和声音可以进行裁剪不播放。
对于美术资源进行了高、中、低 3 档分级,由策划在资源表格中配置不同分级下的资源名称。游戏过程中,根据机型和实际性能表现,选择一种档次进行表现。
图中横坐标是时间(单位秒),纵坐标是 FPS,可以看出 FPS 有了明显提升。通过一系列的优化措施,最终保证了低端机 iphone5S 基本能满足游戏需要。
以上就是《欢乐坦克大战》微信小游戏开发总结,有兴趣的小伙伴可以一起来交流哦~热点资讯[]&&&&[]&&&&[]&&&&[]&&&&[]&&&&[]&&&&[]&&&&[]&&&&[]&&&&[]&&&&
2018年人工智能如何发展,从这四个方面为你解读
自动驾驶技术是否是汽车行业的未来?
达沃斯论坛:机器学习、大数据、自动驾驶、机器人、人工智能相关的议题备受关注
人工智能与最强大脑,机器与人脑的差距还有多大?
李飞飞宣布谷歌云里程碑事件:推出Cloud AutoML
无人驾驶汽车撞人 通用汽车被摩托车手告上法庭
中国物联网产业应用联盟联合深圳市物联传媒有限公司、乐智网,将于日在苏州国际博览中心举行“2018智能家居行业高峰论坛暨经销商大会”、“2018智能门锁产业应用高峰论坛”。
环球网 张阳 美国波士顿初创公司Lightelligence于近日获得了1000万美元种子轮融资,投资方为百度风投和美国半导体行业高管组建的一个财团。 Lightelligence希望通过一种新兴的光子电路(Photonic Circuits)技术来加速信息处理,这种技术使用光子而非电子进行
在智慧化浪潮下,各类高科技的应运而生为各大产业带来新的发展机遇,对于零售行业来说,新技术的注入给传统零售行业带来更多的创新灵感,与互联网技术的融合亦是对传统零售行业的一场变革。它由以往单纯的营销转化为 ...
乐智网 作者丽珠 过去一年里,随着亚马逊Echo等家居智能语音产品的崛起,之前大热的情感陪伴类服务机器人反而有所降温。短短几年里,机器人产业如此高潮迭起,不免让人担忧,在短期内,服务机器人会不会被智能语音产品取代?NXROBO创始人杨帆从公司自身业务
史蒂夫沃兹尼亚克 资料图 澎湃新闻见习记者 承天蒙 综合报道 苹果公司联合创始人史蒂夫沃兹尼亚克(Steve Wozniak)透露,他最近卖掉了自己的全部比特币。此前沃兹尼亚克购入比特币的价格是700美元一枚。 据商业内幕网站报道,在1月24日瑞典斯德哥尔摩举办的
中新网客户端北京1月16日电(记者 阚枫)记者从教育部获悉,今年秋季即将执行的普通高中新课程标准中,物理课程将引导学生关注宇宙学研究新进展,开展引力波讨论活动等;信息技术、通用技术、数学等课程价格要求学生学习了解物联网、人工智能、大数据处理等相
现在的苹果铅笔手写笔只适用于iPad Pro,但似乎苹果有更大的指针设备的计划。该公司最新的专利展示了一种新型设备,能够在任何表面上进行书写,甚至在半空中进行书写。 由于安装在笔记本电脑或显示器顶部的摄像头传感器使得空气写入功能成为可能,因此按照苹后使用快捷导航没有帐号?
查看: 496|回复: 4
新人欢迎积分1 阅读权限1积分3187精华0UID帖子金钱8679 威望11
UID帖子威望11 多玩草225 草
[attach][/attach]
图中 蓝色的字
[url=http://
新人欢迎积分1 阅读权限50积分1702精华0UID帖子金钱11559 威望10
Lv.5, 积分 1702, 距离下一级还需 798 积分
UID帖子威望10 多玩草105 草
新人欢迎积分1 阅读权限105积分101196精华10UID帖子金钱697808 威望181
Lv.12, 积分 101196, 距离下一级还需 33804 积分
UID帖子威望181 多玩草27021 草
凯萨大地 发表于
图中 蓝色的字
首先看你名字边上的设置,点进去
[attach][/attach]
在个人信息里
[attach][/attach]
填写上你的昵称就可以了
[attach][/attach]
新人欢迎积分0 阅读权限40积分936精华0UID帖子金钱2555 威望0
Lv.4, 积分 936, 距离下一级还需 64 积分
UID帖子威望0 多玩草0 草
新人欢迎积分1 阅读权限1积分3187精华0UID帖子金钱8679 威望11
UID帖子威望11 多玩草225 草
3Q& && && && && && &&&
活动奖励勋章
活动奖励勋章
相恋情侣勋章
相恋情侣勋章
元宝专属一阶勋章。已绝版
QQ西游功勋勋章
QQ西游功勋勋章
斗战神功勋勋章
斗战神版块功勋勋章
九阴功勋勋章
九阴功勋勋章
天涯明月刀功勋勋章
这就是武侠
用玩盒模拟器,轻松抽出SSR!
爱蜂蜜的小维尼
春天纪念勋章
夏天纪念勋章
秋天纪念勋章
冬天纪念勋章
需要金钱:1100
手机盒子客户端点击或扫描下载
Powered by}

我要回帖

更多关于 欢乐垣克大战怎么下载 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信