游戏制造

前些阵子研究了PBE,做下笔记

 

  • PBE是个啥

是个框架,他的口号是能包容其他的游戏开发框架:物理引擎,渲染引擎,等等

这是很好的设计,类似于eclispse这样的设计。

微内核+扩展

 

facebook上的成功的游戏,SocialCity用的就是这个。我反编译看到的

  • PBE核心概念
    • 四大管理器
      • 时间管理器
        • ProcessManager,负责提供稳定的(意思是尽量保持帧频均匀)帧频事件onTick(可用来处理逻辑),并提供帧事件onFrame(渲染吧),并提供定时任务的功能shedul()。
  •  
    •  
      • 对象管理器
        • NameManger,持有各个PBObject,这些可以以嵌套方式组合,并提供他们的添加,删除函数。
      • 资源管理器
        • ResourceManager,资源管理器,负责加载资源,功能较为完善。
      • 输入管理器
        • InputManager,处理输入用的,易于使用,不过对鼠标的支持并不是很好。
    • 核心数据结构
      • Entity:持有各个Componet,并担当EventDispatcher的只能,负责在各个Component之间传递事件。
      • Componet :这个是PBE的亮点了,Entity可以添加任意多个Component,每个Component负责一个相应模块的执行。
        • AnimationComp 每个原始帧会被触发
        • TickedComp 每隔逻辑帧会被触发
    • 总控器PBE
      • 提供静态方法,方便代码调用,都是对各个Manager的封装
  • PBE实战
    1. 别用它的viewComp了,又复杂又乱,自己写
    2. 物理引擎,PBE自带的物理引擎目前应用面不是很广,可以不考虑
    3. Entity和Componet的使用。
      1. entity应有一个VOComp,只管存储数据,并且被其他Comp引用。
      2. entity含有一个MediatorComp,接收各个Comp发来的命令做出仲裁并调用相应Comp来处理。这需要此comp要保存Entity全部Comp的引用
    4. Entity感知环境,通过PBE.nameManager可以得到感兴趣的PBGroup(可以理解为某一类Entity,比如坦克类的)
    5. Entity之间通信,通过GamePlay.as来持有entity并保持各Entity通信,并能接受外部命令

    你可能感兴趣的:(数据结构,游戏,框架,制造,Facebook)