Questions tagged «node.js»

1
多人HTML5,Node.js,Socket.IO [关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 5年前关闭。 我尝试使用HTML5 Canvas,JavaScript(太使用John Resig简单继承库)和带有Socket.IO的Node.js创建简单的多人游戏。我的客户代码: var canvas = document.getElementById('game'); var context = canvas.getContext('2d'); var socket = new io.Socket('127.0.0.1',{port:8080}); var player = null; var UP ='UP', LEFT ='LEFT', DOWN ='DOWN', RIGHT ='正确'; socket.connect(); socket.on('connect',function(){socket.send(); console.log('Connected!'); 玩家=新玩家(50,50); }); socket.on('message',function(msg){ if(msg =='UP'){ player.moveUP(); } else if(msg =='LEFT'){ player.moveLEFT(); } else if(msg =='DOWN'){ …

3
Node.js的实时多人游戏设计原则
我一直在阅读关于多人网络的Valve 文章,该文章改编自Yahn Bernier在2001年发表的名为“ 客户端/服务器游戏内协议设计和优化中的延迟补偿方法”的论文。我正在使用通过socket.io连接到客户端的node.js服务器制作实时多人游戏,我对以下详述的原理有一些疑问: 实体插值 [插值]通过缓冲服务器更新,然后平滑地插补它们之间的间隔来播放,从而防止通常会引起的抖动。它还可以防止数据包丢失引起的故障。 客户端预测 预测是指客户无需等待服务器确认本地参与者的行为即可对其行为进行预测的概念。当服务器命令到达时,将对实体的预测状态进行测试,直到检测到匹配或不匹配。 滞后补偿 延迟补偿是服务器的一种概念,它在处理[用户输入]时使用播放器的延迟来倒回时间,以便查看播放器在发送命令时看到了什么。与预测相结合,延迟补偿可以帮助将网络延迟降低到从攻击者的角度来看几乎可以消除的水平。 这些原则是否适用于TCP,就像适用于UDP一样,在实现上是否会有任何差异?我可以看到实体插值不需要保护以防止丢包,仅此而已。 我什至可以使用UDP和Node.js在服务器和Web浏览器之间进行通信,反之亦然? 由于该论文已有十多年的历史,这些原理是否仍在使用中?还是出现了其他技术? 任何帮助将非常感激。

3
如何在运行时的动态环境中生成二维导航网格?
因此,我已经掌握了如何使用A *进行路径查找,并且能够在网格上使用它。但是,我的游戏世界很大,我有很多敌人向玩家移动,而玩家是移动的目标,因此网格系统对于寻路太慢。我需要通过使用导航网格来简化节点图。 我掌握了网格“如何工作”的概念(通过顶点和/或多边形边缘中心找到一条路径)。 我的游戏使用在运行时程序性生成的动态障碍。 我不太了解如何拍摄一个有多个障碍物的飞机,并以编程方式将可步行区域划分为用于导航网格的多边形,如下图所示。 我从哪里开始?我怎么知道何时已经定义了一个可行走区域,或更糟糕的是,当我意识到我需要在算法“遍历”地图时细分一个先前定义的可行走区域时? 如果有问题,我正在nodejs中使用javascript。

3
在持久性在线游戏中多久保存一次玩家的状态?
在在线游戏中,人们喜欢随时随地登录和注销。通常,他们的游戏成就会无缝保存在服务器上。这并不是很难实现,但是我想知道如何以有效且可行的方式完成并扩展规模。 每次发送时都保存玩家的坐标和状态是否有意义?我的node.js服务器可以轻松地做到这一点而不会阻塞响应,我想使用Mongo数据库,但是也许每秒一次并且在服务器范围内的事件中一次收集所有一次更合适?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.