Questions tagged «multiplayer»

由多个玩家共同或竞争地在本地或远程播放。

14
如何为10位玩家找到最佳的颜色?
我想给10位玩家中的每一个赋予独特的识别颜色。为此有最佳的颜色集吗?如何创建一个? 我想出的每一组都包含太相似的颜色。 更新:下面有人问我这是干什么的(公平问题)。现在,我可以告诉您-Windwardopolis和颜色效果很好。

6
如何编写网络游戏?[关闭]
基于为什么开发MMO如此困难?: 网络游戏的发展并非易事。不仅要克服延迟,而且还要防止作弊,状态管理和负载平衡,这是一大障碍。如果您没有编写网络游戏的经验,那么这将是一个困难的学习练习。 我知道有关套接字,服务器,客户端,协议,连接之类的理论。 现在,我想知道如何学习编写网络游戏: 如何平衡负载问题? 如何管理游戏状态? 如何保持事物同步? 如何保护通信和客户端免受逆向工程的影响? 如何解决延迟问题? 应该在本地计算哪些内容,在服务器上计算哪些内容? ... 是否有关于此的好书,教程,网站,有趣的文章或其他问题? 我正在寻找广泛的答案,但是也可以使用特定的答案来学习区别。

14
为什么有些游戏始终坚持一种可行的策略,而另一些却有很多可行的策略呢?
英雄联盟中有趣的是“元”的存在,出于这个问题的目的,可以将其定义为“统御一切的一种策略”。元在补丁之间移动;但是在补丁发布后不久,新的meta变体就出现了,每个人都同意这种特定策略在大多数情况下是客观上最好的。 并不是Riot Games不会试图减轻这种影响。例如,他们引入了符文,这种符文应该使个人喜好成为游戏玩法中更大的因素–也就是说,允许更大范围的可行策略。但是大多数这样的尝试适得其反:无论如何很快就会出现一个“冠军的正确符文页面”。 奇怪的是,我被告知并在互联网上阅读,《Dota 2》中的情况并非如此。(我不知道;我不玩Dota。)根据我收集到的信息,在Dota中 “什么都没有定下来”,可以有效地扮演许多英雄的许多角色,存在多种可行的通道分布以及多种可行的策略。 这似乎是违反直觉的,因为经常指出两款游戏之间存在另一个差异–即Dota包含硬计数器的概念(即,如果您在游戏前选择了错误的英雄,并且几乎无法在游戏中找到相关的东西)然后运气不好,您应该选择另一个英雄),而LoL认为此类机制已失效,而是主要尝试提供软计数器。从表面上看,强硬计数器似乎会使游戏倾向于“定型”策略(正确的选择权是以前的自己的团队和敌人的团队选择权所决定的),而软计数器由于允许更大的选择而似乎允许更多样化的策略在任何给定情况下都可以选择冠军。 我可能会问,究竟是什么使游戏拥有全部统治一个策略,又是什么使游戏具有多种可行策略呢?我提供了LoL和Dota的示例,因为鉴于两款游戏之间的相似性,我认为两者之间的差异最为明显,但我认为这个问题很容易适用于几乎所有竞争性多人游戏。

10
如何检测和防止滥用在线游戏API?
我一直在业余时间一直在致力于游戏创意。游戏玩法和内容使其可以实现为使用完善的网络技术构建的在线多人游戏。您应该知道,它属于策略和模拟类型。这意味着:不能与字符或类似内容四处奔波,而只能执行诸如“在位置X上构建事物A”之类的原子动作(关于客户端-服务器通信)。 有一次我意识到存在一个巨大的问题:基于REST API后端的基于浏览器的前端使其成为机器人的绝佳目标。尽管自动化对于企业来说是可取的,但它却对游戏乐趣无益。过去,我是在浏览器游戏中亲身经历的,最成功的玩家是机器人,它征服了所有人。 从我当前的角度来看,在基于REST API构建多人在线游戏时,我看不出有任何防范僵尸程序的可能性。例外:将其开源,以便每个人都可以托管自己的私有组实例,甚至只是一个人(以免被僵尸机器人惹恼)。 有什么办法可以区分只为下一个可能的动作设置警报的诚实玩家和自动抓住一切机会出现的机器人。除了诸如captchas这样的节目停止者。如果没有,我会考虑另一种技术堆栈,这至少会使与客户端-服务器通信(本机代码客户端中的专有加密二进制协议)混乱的难度更大。 编辑:谢谢,您的回答令人鼓舞,但也让我意识到,不能通过进一步研究游戏细节来制定特定的对策。但是,对于Stack Exchange上的一个问题来说,这太多了。所以我只想指出最重要的几点: 玩家随时随地都在探索,发展和管理。脱机时,他们的业务仍然运转良好(这是一个和平的游戏,不涉及任何武器)。只有扩张和进步才需要玩家采取行动。这些动作受到以下因素的限制: 时间是关键资源之一(例如在EVE Online技能培训中)。游戏中的所有流程都需要它。24/7全天候在线是没有意义的。普通玩家应该已经成功,每天花一两个小时不超过一个小时(大致来说,这个概念还在开发中)。


4
客户端预测如何工作?
我已经阅读了Valve + Gafferon和Google的数百页内容,但是出于任何原因,我都无法理解客户预测。 据我了解,基本问题是: 客户端A在以下位置发送输入 T0 服务器在以下位置接收输入 T1 所有客户都在以下位置收到更改 T2 在T2然而,使用客户预测,客户端A现在是在合适的位置来T4。 在预测服务器将接受移动请求时,如何确保客户端A不在服务器之前?显然,它们一直都在前进,这导致返回到服务器上次看到它们的位置。经过我尝试的所有更正,当您停止时这仍然很明显,因为服务器在您身后停止了

5
如何在随机数生成中避免“太”幸运/不幸的条纹?
我目前正在使用一种多人战斗系统,其中玩家造成的伤害总是乘以0.8到1.2之间的随机因子。 从理论上讲,真正随机的RNG最终可能会多次产生相同的数目(请参阅“ 俄罗斯方块困境”)。这可能导致一场比赛,其中一名球员总是造成很高的伤害,而另一名球员总是造成非常低的伤害。 我该怎么做才能确保不会发生这种情况?有些RNG在避免重复方面比其他RNG好吗?

14
如何在多人游戏中实现“子弹时间”?
我以前从未见过这样的功能,但是它应该提供一个有趣的游戏机会。 是的,在多人/实时环境(想象中的FPS)中,如何实现慢动作/子弹时间效果? 对于目前正在慢动作的玩家来说,这是一种幻想。因此,每个人都看到他“实时”,但他看到一切都变慢了。 更新资料 旁注:请记住,FPS游戏必须保持平衡才能使其有趣。因此,是的,此子弹时间功能必须牢固,在不影响其他玩家的情况下,给“玩家”带来一点好处。 另外,两个玩家有可能同时激活其子弹时间。 此外: 无论将来如何,我都将在将来实现。并且,想法是为所有这些构建一个全新的游戏引擎。如果这提供了新的选择,那么我对听取这些想法会更感兴趣。 同时,在这里,我们也与我的团队一起考虑这一点,当我们的理论将被拟定时,我将在这里与大家分享。 这有可能吗?因此,已经回答了“这是否有可能”的问题,现在是时候找到最佳解决方案了。 我会一直保持“答案”,直到出现特别出色的东西,例如具有类似于伪代码的原型理论为止。 物理学家和哲学家怎么说: 链接供您使用,因为主题已关闭。 https://physics.stackexchange.com/questions/17118/time-traveling-and-time-dilation-within-a-multiplayer-videogame https://philosophy.stackexchange.com/questions/1704/seeing-everything-in-slow-motion-but-being-real-time 我在物理站点上写问题时想到的条件(已复制): 播放器在慢动作的影响下具有优势,可以进行更精确的动作(射击,移动等),这是因为以慢得多的速度观看所有内容。 他的行为应实时影响其他玩家。 看着我们受影响的玩家的玩家没有任何区别,只是他们可以体验到他所做的动作(例如,玩家被射击/影响躲避了火箭)。 当玩家摆脱这种影响时,他只是继续以平常的速度前进。(如果这不可能,那么我想他将不得不受苦,直到时间恢复同步) 关于子弹时间(慢动作)的参考: 可悲的是,大多数实现仅是单人游戏 http://www.gamesradar.com/a-videogame-history-of-bullet-time/

2
多人游戏应如何处理身份验证?
我一直在潜伏以了解身份验证系统在游戏中的工作方式,但是经过多次搜索后,似乎对于只有容量比MMO小得多的多人游戏而言,使用ssl /证书可能会有些复杂。 我知道成功的多人游戏需要这样做,但是我想检查其他多人游戏是否通常采取这种预防措施。 编辑:我将描述我的想法。服务器不仅处理游戏逻辑,还处理身份验证。因此,为了在特定服务器上播放(每个人都可以启动),您首先需要在该服务器上注册一个帐户,每次要在该服务器上播放时,请照常登录(密码/名称用户)。 我的问题是,在这种情况下,为登录/注册帐户提供安全的渠道是否可以原谅/理解?我也很想知道具有类似架构的游戏将如何处理这一问题。


2
实时FPS游戏向服务器发送什么?
将本地播放器的位置告诉服务器的正确方法是什么?一些文档说,最好在产生输入时发送输入。还有一些文件说,客户以固定的间隔发送其头寸。 使用发送输入方法:如果玩家按住方向键该怎么办?这意味着我需要在每个帧中将包发送到服务器。是不是太多了?鼠标输入还可以播放播放器。这是一个例子: http://www.gabrielgambetta.com/fpm_live.html 如何以固定间隔的方式发送头寸。它向服务器发送的消息太少。但这也会降低响应速度。 那么哪种方法更好呢?

9
防止非官方客户端参与网络游戏的技术?
在多人网络游戏中,存在哪些技术可以尝试确保用户与官方客户端应用程序连接,而不是与某些被黑客入侵的客户端应用程序连接? 我意识到可能没有确定的方法可以做到这一点,但是我对可以用来减轻问题的技术很感兴趣。 我对可以用于基于Web的游戏的任何技术特别感兴趣,但是我想大多数可以普遍应用。 谢谢!

3
玩家不可见时如何正确预测动作?
我有一个多人游戏,并且正在做客户端预测,但是有些玩家可以喝一剂药,然后变得看不见... 问题在于,当他们变得不可见时,我不会分享客户可以用来知道他在那里的任何东西,因此,当玩家尝试进入一个不可见的玩家所占据的区域时,他会预测自己成功了,然后得到了服务器发送的丑陋位置校正。 一种解决方案是共享某些内容,以便客户端知道,但是黑客可以使用它来找出隐形玩家所在的位置,并作弊。 顺便说一句,我已经解决了常规运动预测问题,它的工作原理非常完美。

3
如何使多人游戏在NAT之后可靠地工作?
当客户端位于NAT之后,即使是100%客户端/服务器的游戏有时也会出现问题。小便对等游戏甚至是更大的问题。某些游戏需要使用多种传输方式(例如UDP和TCP)或多种连接方式(例如用于语音的其他UDP端口)。 有什么方法可以确保游戏在NAT路由器后面运行时可靠运行? 对等:不存在集中式服务器。玩家A开始游戏,而玩家B想加入 客户端-服务器:知名地址(主机名)上的集中式服务器接受所有传入连接。每个客户端仅与该服务器通信。 组合:服务器只是配对,但游戏更新是对等的。不同的对等方可能会看到每个播放器具有不同的IP /端口(例如,某些客户端位于同一NAT之后,而某些客户端位于不同的路由器上)

4
如何使用抵御客户端黑客入侵的视觉效果实现多人游戏伪装?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我一直在考虑在多人游戏中实现隐身。这是一个MOBA风格的游戏,因此请考虑英雄联盟(LoL)和风暴英雄(HotS)。多个客户端连接到单个服务器,该服务器将游戏状态广播到所有客户端。客户端将其输入数据发送到服务器,服务器在遇到无效命令时可能会拒绝输入数据,从而使作弊成为不可能(理论上是这样)。 现在,我故意提及这些游戏是因为两者的隐身方式有所不同。大声笑具有两种可能的状态:您要么完全可见,要么完全不可见。另一方面,HotS通过隐约可见的方式实现隐身: 我认为这是一个精巧的技工,因为它提升/奖励关注您周围的环境。但是,这是一款多人游戏,让我意识到这可能很容易利用。 当您以“ LoL”方式实现隐身时,您可以简单地停止将玩家坐标发送给其他客户端。当玩家的角色隐身时,服务器可以再次广播该位置。但是,使用HotS模型,可以在角色正在移动的空中看到微光。这意味着服务器必须将播放器的位置发送给其他客户端。这意味着改变纹理或模型甚至游戏代码本身的玩家可能会使披风技工变得毫无用处。这是 HotS板上的一个线程。 我的问题是,是否有某种方法可以实现隐身(使用“ Shimmer”,即“ HotS”),而不会出现狡猾的玩家可以修改游戏(数据)和“击败系统”的问题。这可能吗?如果没有,采用这种机制的其他多人游戏如何处理呢?唯一的LoL隐身风格无法企及吗? 我曾考虑过让服务器不时地发送虚假的“隐身”位置,但这也损害了只注意的公平玩家,因此不会这样做。

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.