Colyseus — HTML5多人游戏变得简单(v0.5.0更新)

大约2年前,发布了Colyseus的第一个版本。 它最初是我自己的多人游戏实验的狂野而幼稚的实验。

从那时起,社区逐渐开始尝试并发布一些使用它的游戏,例如:

  • GunFight.io-@tinydobbins制作
  • Splatty.io-@bmovement制作

一直以来,Colyseus的重点一直是使用JavaScript和HTML5构建具有极简主义架构的多人游戏体验的最简单解决方案。 它仍处于某种试验阶段,但正在稳步发展为具体解决方案。

v0.5.0上有什么新功能?

  • 垂直可伸缩性: 0.5.0版通过使用NodeJS的集群模块引入了新的体系结构。 现在,您的游戏服务器可以垂直扩展。 这种架构上的改变应该很快朝着水平可扩展性发展(#57)。
  • 排名匹配:您可能已经知道,每当客户端请求加入游戏会话时, requestJoin(options)在服务器端调用requestJoin(options)以确定是否允许该用户加入游戏室。 以前,将选择返回true的可用房间列表中的第一个房间进行连接。 现在,您可以返回浮点数( 0..1 )而不是boolean 。 对接服务将选择编号最大的房间进行连接。 阅读更多。
  • 唯一的客户端/会话ID:现在,您可以确定同一用户何时多次连接同一房间。 client.id每个用户的唯一标识符client.sessionId 始终是唯一的。 简而言之,如果您不想在意这一点,请始终使用client.sessionId来标识您的用户。
  • 布置房间:引入了autoDispose属性(默认为true ),该属性确定在最后一个客户端断开与房间的连接时是否应自动布置房间。 (感谢@seiyria)-同样在this.clock内设置的所有间隔/超时也将在处置时清除。

重大更改:

服务器端和客户端都有一些重大更改。 如果您要从以前的版本迁移到0.5.0,请参见下面的链接。

  • 服务器端迁移亮点(从0.4到0.5)
  • 客户端迁移重点(从0.6到0.7)

1.0.0版的路线图:

现在,我们为仍然必须制定清晰的路线图 释放 版本1.0.0。 最需要的功能之一是能够在向特定客户端发送补丁之前对房间状态进行过滤(#59)。

Colyseus有其第一个赞助商!

EvenNode提供Node.js托管。 折扣可应要求提供给Colyseus项目。 请与支持联系以获取更多信息。

去看看他们!

加入我们!

Gitter Channel中的社区超级友好且开放。 如果您有任何疑问,或者只是想分享您的疯狂想法,您会在那找到可爱的同伴! 也总是欢迎新的代码和/或文档贡献者!