通常,对于面向网络的游戏,也要记住五个概念:
事件。游戏引擎是一种事件软件,这意味着在游戏中每个通用对象(可以是单元、GUI 等)的状态下,您执行一个动作,这意味着您调用一个函数或什么也不做。
Dispatcher接受每个事件更改并将该更改分派到另一个子系统。
同步意味着在事件发生变化时,必须通知网络中的所有客户端将其调度员扔掉该变化,这样所有玩家都可以看到其他玩家的变化,同时渲染和模拟相同的事物。
渲染渲染读取每个对象的参数和相关状态并在屏幕上绘制。例如,您是否为每个单位都有一个名为life_points的属性,如果life_points>50,您可以绘制一个普通单位,如果life_point>0和life_point<50 ,您可以绘制一个损坏单位,如果life_point=0 ,您可以绘制一个被摧毁的单位。渲染不要对对象进行更改,只需绘制从它们读取的内容。
模拟读取每个对象并执行一些任务以计数状态和属性,例如,如果您有 cero 生命点,您将一个单元的状态标记为 DEAD(例如)或更改 de GUI,或者如果一个单元接近到另一个敌方队伍,您将状态从静态更改为移动靠近另一个单位。另外,在这里你可以制作单位的物理特性、改变位置、旋转等等……因为你让所有对象都通过网络同步,每个人都会看到同样的事情。
此致。