我可以使用Lance制作多人Phaser游戏吗?

时间:2017-05-20 10:56:53

标签: multiplayer phaser-framework lance

如何使用现有的Phaser游戏并将其设为多人游戏?

我可以将Lance库用于此目的吗?两个库都控制着自己的游戏对象,所以我不知道如何在同一个游戏中一起使用这两个框架。

1 个答案:

答案 0 :(得分:9)

免责声明:我是Lance

的共同创作者之一

不幸的是,Phaser的2. *架构使得很难与Lance配对以制作实时Javascript多人游戏。

问题在于Phaser做出了很多假设,而这些假设并不适用于多人游戏设置。例如,渲染和游戏循环绑在一起。服务器显然不需要渲染任何东西。

Phaser还假设存在DOM和服务器上也不存在的window对象。此外,所有包含世界游戏状态对象,精灵等的数据结构都保存在扩展实例PIXI对象上,这些对象在服务器上下文中没有意义。这些限制和紧耦合与Lance的模块化方法不兼容。

使用模拟DOM和Canvas的库(如JSDOMNode Canvas完全可以在服务器上运行Phaser,但它确实意味着通过在服务器上运行PIXI会显着降低性能,并且你还有同步PIXI数据结构的问题。

好消息是Phaser 3.0是一个持续的,完全重写的Phaser 2.0,采用更加模块化的方法,希望能够更轻松地与Lance集成。我们计划在不久的将来更轻松地实现这种集成。