我正在考虑在Node.js中创build一个Web多人游戏。 这意味着我将在后端和前端使用相同的语言。 这将是实时的,每个“房间”最多有20个人,所以我有几个想法: 我如何弥补所有用户之间的延迟,以便每个人都能同时看到相同的东西? 我想跟踪每个玩家的平均ping时间,find最慢的一个,并且通知其他客户端时间(以毫秒为单位),他们必须被延迟每个玩家,以便每个人尽可能地同步。 我正在考虑在后端和前端运行游戏代码(因为它的两端都是JavaScript),并且只是有一个错误纠正机制来与后端的“真实游戏”同步。 这样游戏在前端应该能够顺利执行,并且在同步发生时只有很less的毛刺。 此外,这将使前端JavaScript黑客最小化,因为作弊者将被同步到后端游戏。 我是否应该通过套接字(按键)接收玩家动作,通知所有其他玩家的动作,同时在后台“玩”游戏,并且每隔一次向整个游戏状态的每个人发送同步信息同时他们? 你怎么看? 有更多的东西我应该考虑或注意? 请发表任何想法或链接到多人游戏文件或文章。 编辑:这些是有用的: Gaffer on Games – Glenn Fiedler在多人游戏networking和物理方面的很好的文章 Quake3networking模型
我正在使用Android Play Games – Real Time Multiplayer我的应用程序的Android Play Games – Real Time Multiplayer 。 当我创build一个新房间时,callbackonRoomCreated()返回STATUS_NETWORK_ERROR_NO_DATA 5%的时间。 我不知道为什么我得到这个零星的错误。 在创build新build议之前,应先closures一些build议。 在super.onstop()被调用之前,我总是离开我的房间。 在创build一个新房间之前,我还等待着onLeftRoom() 。 堆栈跟踪 02-20 22:57:07.208: I/libjingle(1763): Token type:OAuth2 02-20 22:57:07.208: I/libjingle(1763): Final XMPP server hostname talk.google.com port to 5222 02-20 22:57:07.316: I/libjingle(1763): OpenSSLAdapter::OnConnectEvent 02-20 22:57:07.416: I/libjingle(1763): BeginSSL: talk.google.com 02-20 22:57:07.476: W/libjingle(1763): Warning(openssladapter.cc:388): ContinueSSL — error -1 […]