舍得街 » 名媒 » COCOS » 正文

Cocos技术派-实时竞技小游戏技术实现分享

2018-11-24 02:10:18  #cocosengine#

原标题:Cocos技术派-实时竞技小游戏技术实现分享

这是此篇文章的封面图片

COCOS讯Cocos技术派-实时竞技小游戏技术实现分享是公众号【COCOS】发布的最新文章,以下是COCOS的文章摘要,希望对您有帮助哟. 在前阵子举办的 Cocos 开发者沙龙上,来自华夏乐游BigRoad 工作室的客户端主程李清,为现场开发者分享了其团队制作的实时竞技小游戏《保卫豆豆-欢乐枪战》技术实现方案,深受开发者喜爱。在征得华夏乐游的同意后,技术派专栏将通过本文对李清的演讲进行梳理总结,把他们宝贵的技术经验分享给因为各种原因没能去到沙龙现场的开发者伙伴们!

李清

关于华夏乐游
北京华夏乐游科技股份有限公司是一家专注于游戏研发与发行、泛娱乐IP打造和经营的创意文化企业。代表作品《奔跑吧-撕名牌大战》3、4、5系列,《极速前进-狂野飞车》、《星河战神》。目前聚焦于以 H5 为代表的无端和轻端游戏,先后研发和发行了《欢乐消消消》、《保卫豆豆-欢乐枪战》、《全民小镇》等微信小游戏,同时多款游戏上线微信小游戏精品平台。



游戏简介

《保卫豆豆-欢乐枪战》是一款基于Cocos 引擎研发的休闲射击乱斗小游戏,融合了射击、MOBA、吃鸡等热门玩法。



游戏特点:
  • 萌宠射击,实时竞技
  • 四人乱斗,双人组队
  • 多个英雄,身怀绝技


本文主要从三个方面来进行分享,分别是:
  • ECS 架构
  • 网络同步机制
  • 技术难点及解决方案




一、ECS架构

1、ECS 架构目的:

降低不断增长的代码库的复杂度。

2、游戏原型需求:
  • 子弹:移动、碰撞
  • 英雄:移动、碰撞、发射子弹
  • 炮台:发射子弹


3、传统架构的弊端


要实现游戏原型,按照我们之前的做法,是用一个类来实现一种游戏实体的所有功能,这个类既有状态,又有行为。代码复用使用继承来解决。如果用这种做法,那么类大概长这个样子:


类图

大家可以看到,父类会有很多共享的属性和方法,子类继承父类去做具体的事情。但是这种做法有很多弊端,比如说,随着项目规模的增长,代码库复杂度也不断增长,父类会越来越复杂,子类的功能越来越不明确,与多个类相关的代码你不能太确切知道应该放在哪里,拓展功能的时候极其不灵活,如果后期需要增加新功能的话,我们需要对整个继承树进行功能重构才能使其比较合理。

在经历过几个项目之后,我们回头反思,发现之前的做法,违反了很多面向对象设计原则。比如说:

  • 单一责任原则(Single responsibility principle)
    每个类都应该只有单一的功能,并且该功能应该由这个类完全封装起来。

  • 组合重用原则(Composite Reuse Principle)
    默认情况下应当使用组合,只有在必须时才使用继承。


在总结了从前的项目经验,并参考了大量技术文章后,我们找到了一种架构,把大量的模块进行拆分解耦,然后再集成起来,这就是我们接下来要介绍的 ECS 架构。

4、ECS架构
ECS 分别是:

  • Entity(实体)
  • Component(组件)
  • System(系统)


看到实体和组件大家可能觉得比较熟悉,但是这里要注意,这跟我们引擎中的实体组件框架可不是一回事,接下来我为大家简单介绍一下 ECS 架构的元素。

(1)ECS 架构元素:
Component:组件,存储游戏状态
Entity:实体,组件的集合
System:系统,实现游戏行为 World:系统和实体的集合,就是我们的游戏世界,他们的关系大概是这个样子的:



我们可以看到,游戏世界中有很多 System,每个 System 负责实现一种游戏行为,同时有很多组件,每种组件中会有一些游戏状态,实体上可以挂载一个或多个组件,实体和 System 聚合成了我们的游戏世界。

(2)ECS 架构设计:


  • 下一篇:
    小游戏渠道大盘点,不可错过的流量入口
    • 小游戏渠道大盘点,不可错过的流量入口

    • 在微信小游戏“去中心化”的形态下,不少团队顺势推出小游戏盒子,搭建第三方分发平台,想要从流量上分得小游戏的一杯羹。但在整治了山寨、诱导转发等不良问题之后,微信小游戏开始重拳出击,对“游戏盒子”这样的小游戏聚合平台进行规范整改,目前,iOS 小游戏盒子全封,直接停止了用户访问,包括腾讯系的小游戏盒子也。...
    • COCOScocosengine
  • 上一篇:
    CocosCreatorv2.1.0正式发布,新增3D支持
    • CocosCreatorv2.1.0正式发布,新增3D支持

    • Cocos Creator v2.1.0 今日正式发布,文末[阅读原文]可进入官网下载。Cocos Creatorv2.1 版本最大的改动就是支持了 3D 模型渲染、3D Camera、3D 骨骼动画、3D 点选等 3D 特性,同时编辑器原生支持解析 FBX 格式的 3D 模型文件,不需要额外的导入。...
    • COCOScocosengine

阅读原版

声明:此文观点仅代表作者本人,舍得街系信息发布平台,舍得街仅提供信息存储空间服务。
 
COCOS
Cocos引擎官方账号,第一时间为您送上引擎动态、精品教程、达人专访等干货,还会定期举办有奖活动喔!
最近文章