安玉璞-实体组件模型在游戏后台开发中的应用.pdf

安玉璞-实体组件模型在游戏后台开发中的应用.pdf

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ECS实体组件模型 在游戏开发中的应用 kevinan 腾讯互娱,高级工程师 注:请您在提供照片后, 我们为您进行修改 目录 01 个人履历 02 话题背景 03 ECS是什么 04 ECS vs OOP 05 ECS in Game Server 个人履历 01 腾讯游戏,后台开发,高级工程师 02 参与或主导过的项目: 03 《QQ农场》、 《疯狂联盟》、 《火影忍者》 04 目前负责一款“多人FPS手游” 话题背景 – 游戏开发进化史 01 Web Game, 请求响应式 02 RPC ,框架,数据分区 03 Scalability ,容灾,协程 04 PVP & Authoritative Server 话题背景 – 权威服务器 01 后台逻辑开始变得复杂 02 反外挂、竞技向 03 状态同步 04 游戏逻辑全量模拟 话题背景 –游戏逻辑全量模拟 01 节奏快,网络延迟容忍度低 02 前后台开发融合 03 需要一个高效的编程模型 04 降低代码复杂度 游戏到底是如何做的呢? OOP Entity & Component Terminology 01 实体(Entity ) 02 组件(Component ) Game Engine Tick For (auto * entity : entities) { For (auto * c : components) { entity->Update(); c->Update(); } // Update里有大量逻辑 } Entity Component vs. OOP 01 修改游戏逻辑,无需程序员参与 02 立项时无法确定所有实体的相互关系 03 常常有些策划需求是要“横切”传统OOP 04 编译更快,测试更快,调试更快 05 开发起来更加敏捷 EC实战 对象如何获得组件 01 如果这个类创建了自己的组件 02 如果由外部代码提供组件 组件之间如何传递信息 组件间解耦 01 通过修改容器对象的状态 浪费内存、顺序依赖 简洁高效 02 直接互相引用 紧耦合、hardcode 03 通过传递信息* 04 间接引用* GetComponent<Movement>() 消息队列 01 中心事件队列 & Ringbuffer 02 优先级管理 03 事件回调 – C++11的std::bind 绑定“类成员函数” 痛点1 :伤害计算的纠结? Entity A Entity B Attack 攻

文档评论(0)

文人教参 + 关注
实名认证
内容提供者

老师教学,学生学习备考课程、成人语言培训课程及教材等为提升学生终身学习竞争力,塑造学生综合能力素质,赋能学生而努力

版权声明书
用户编号:6103150140000005

1亿VIP精品文档

相关文档