training_general_cn.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
training_general_cn

BigWorld 技术培训 基本概念 概要 系统结构概览 Entity Space 游戏资源 Python API 概览 Session 1 系统结构概要 / Entity 系统结构概要 系统结构概要 系统结构概要 Client BaseApp Client端的固定通信接口 与CellApp间的通信中介 CellApp 世界的处理 基于世界里的entity的数量的负载平衡机制 Entity Entity是一个游戏对象 “一个可以与之交户的东西” 示例: Player NPC 门 凳子 Entity 拥有整个游戏世界唯一的ID 用Python实现 发布的对象 最多3个的发布点 Client BaseApp CellApp Client Entity 为玩家实现可视化 玩家周围的粒子特效 加载和变换模型 模型的动画 存贮了需要与可视的entity交互的数据 玩家的背包里的道具 当前装备的武器 Player当前的目标 Cell Entity 类似于client entity但是更集中于交互 存储了其它的周围的entity需要知道我们的数据 NPC HP 当前装备的武器 用于决定攻击产生的伤害 Base Entity 没有空间的概念 账户 工会管理系统 拍卖行 长期的entity的属性 一个玩家的朋友列表 用于数据的长期存储以防服务器重启动 Entity 属性 表明entity在当前部件的状态 左手的武器 朋友列表 可以存在于多个部件 例如: 玩家HP (Client 和 Cell) Entity属性 当被修改时自动被发布 由属性发布标记控制 客户端回调 set_property_name() 发布的工作与AoI配合 仅仅发送周围entity的属性更新 更新的优先度因距离的不同而不同 Entity 方法 用于与一个entity交互 Entity对自己执行操作 Entity之间交互 在部件间执行操作 方法是与一个部件相关联的 例如: Base 实现 addToFriendsList( newFriend ) Cell 实现 notifyNewFriend( newFriend ) Client 实现 receiveFriendNotifaction( player,newFriend ) Entity 方法 在其它entity上调用的方法是异步的 没有返回值 (必须要用回调函数) 只有entity是在同一个部件上时才是同步的 不要依赖于这样的假设, 这样会在后期造成扩容的问题. Entity 方法 Cell方法只在real entity上被调用 Server的培训会有更多详细 从cell上,client方法可以被在一个entity的AoI范围内的所有client上调用 例如: Player对世界叫喊 “I am not an animal!” 所有在该player附近的player们收到该文字并显示 Entity定义 Entity必须有一个定义文件 通常是 ‘entity def’ 或 ‘.def’ Entity_name.def 象C++头文件或Java接口一样 XML 文件 每个entity类型必须存在于entities.xml Entity 定义 定义: 属性: 它们存在于哪个部件以及怎样被发布 方法: 在每个部件上什么方法被实现了 可以从其它的entity定义继承 要成功连接服务器,client端的定义文件必须和服务器端的定义文件匹配 Entity 定义 示例: Entity 实现 大小写是很重要的 使用的entity名字必须一致 .def必须匹配.py实现的类 Entity的文件 Session 2 Space Space 一个space是一个player可以看见贺交互的世界 由下列组成: 地形 静态模型 (房子, 喷泉, …) NPCs (出生点) NPC 寻路信息 空间的元数据 (User Data Object – 后有细节) Space数据可以在多个space间共享 Space 不同类型的space应用: 每个server多个独立的大型space 所有玩家存在于的主要的游戏世界 相互隔离的玩家的副本space 地下城副本 玩家自己的房间 Space 空间信息 - Chunks 分割成很多chunk单元 100m x 100m 一个单元, x-z 轴对齐 加载的单元 Chunk根据需要实时加载和卸载 Client端: 加载chunk范围为稍微远于far plane的距离 Server端: 加载范围+800m的管理的space的边界 卸载比加载稍微缓和以避免频繁地反复加载最近看到的chunk Session 3 游戏资源 游戏资源 每个游戏需要一些资源以使得看起

文档评论(0)

2266670 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档