Questions tagged «multiplayer»

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

3
为多人游戏实施配对和社区系统[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 2年前关闭。 如今,游戏通常具有带有聊天频道的多人门户和针对游戏多人方面的匹配系统。 例如:battle.net,魔术聚会在线聊天室,光环等。 现在,对于我们其余的独立游戏玩家来说,他们可能无法花费大量的开发精力从头开始创建这些后端,那么我们有哪些选择呢? 我在考虑使用IRC作为系统主干的思路。从那里开始,实现“社区”方面,玩家跟踪,游戏跟踪以及配对。这似乎是旧的Battle.net(育成战争时代)过去的样子。 问题是,这容易做到吗?运行irc服务器需要些什么,我想这还需要编写IRC客户端(这几天似乎做得很多?)? 如果还有其他方法(例如,针对此类内容的开放框架),也让我们听听他们的看法。

3
您如何设计频繁变化的游戏的记录/重播系统?
我正在使用免费的MMORPG,但遇到了问题。 我(和其他人)正在开发游戏的视频记录系统。这个想法基本上是:我们记录所有带有时间戳的发送和接收的包,以及来自客户端的一些本地数据,然后将其转储到文件中。为了播放视频,我们仅模拟文件中的所有内容。我们还可以选择使用ffmpeg将视频导出到avi。 问题是:当我们在游戏的各个版本之间进行更改时,很难保持视频的向后兼容性(添加/删除命令,功能更改等)。有解决这个问题的好方法吗?而不是拥有一堆不同的播放器,并为每个版本的视频文件选择合适的播放器? 了解其他游戏如何处理这种情况将很有帮助。 感谢您的帮助,对不起我的英语。

3
与全状态更新相比,我如何更有效地同步多人游戏状态?
我之前已经做过一些游戏网络编码,但是主要使用TCP来实现无实时需求的游戏。我正在使用网络多人游戏开发2D Java游戏。为了学习,我想自己做,而不需要现有的网络API。 如何有效表示从服务器发送给客户端的游戏状态?有一种最明显但可能效率最低的方法,该方法是使用每个玩家的位置,动画状态等创建某种游戏状态上下文对象,并将每次更新发送给每个玩家。这似乎很难实现,但可能太大而无法实现接近实时交互的功能(当然,我的经验有限,因此我可能是错误的)。 你们中的任何人以前是否曾使用过可靠的方法来仅传输状态变化,并且在性能上是否存在足够大的差异以值得进行额外的工作?

5
如何在玩家合作中平衡经验积累?
我正在与朋友一起开发在线游戏,目前我们受到总体游戏设计问题的困扰:您如何通过经验值和战利品/金币奖励玩家,同时仍然鼓励他们一起玩,特别是与不一定并存的玩家一起玩时在他们的技能范围内? 我们游戏的技术细节: 基于网格的自上而下的全球地图布局(想想《塞尔达传说》) 随机生成的回合制地牢(想想《口袋妖怪神秘地牢》) 体验曲线,非战斗技能,交易,社交互动(想想Runescape) 该计划的目的是让玩家进行社交活动,完成部分任务并掌握游戏技能,然后与约4个朋友组成的小组进入地牢,以进行技能战斗并获得战利品。理想情况下,技能更强的玩家可以进入难度较高的地牢并执行更艰巨的任务,但仍然能够在较简单的副本中加入较新的玩家,而不会变得平凡,也不会强迫一名玩家承担大部分战斗。 可能的修复: 删除各种体验曲线和奖励,并使所有内容保持平衡(缺点:没有理由要磨) 将“升级”限制为获得更多的金钱和更好的武器(缺点:更多的战利品实际上变成了更高的等级) 在地牢中时,将低等级的玩家提升到最高等级的团队成员的水平(缺点:可能是一个漏洞,允许玩家快速进行技能训练) 在游戏中添加需要用户技巧的额外组件,这样玩家就不会仅仅依靠关卡来擅长游戏(例如快速时间事件)(缺点:在回合制游戏中难以实现,含糊不清) 这些只是一些想法,我已经思考了一段时间。对这个问题有什么想法,可以采用什么机制来调和?

5
为什么在Vector3s中不能使用运算符'> ='?
我正在尝试获得一个矩形,以便在我称为_positionA和的两个位置之间移动_positionB。两者都是类型Vector3。矩形移动得很好。但是,到达时_positionB它不会像应该的那样朝相反的方向移动。 我回到代码中看一看。我得出的结论是,随着对象的移动,if代码中的语句错过了rects位置等于的框架_positionB。如果rects的位置大于或等于, 我决定将代码修改为反向_positionB。我的代码不太长,因此我将在下面显示它: using UnityEngine; using System.Collections; public class Rectangle : MonoBehaviour { private Vector3 _positionA = new Vector3(-0.97f, -4.28f); //Start position private Vector3 _positionB = new Vector3(11.87f, -4.28f); //End position private Transform _rect_tfm; private bool _atPosA = false, _atPosB = false; public Vector2 speed = new Vector2(1f, 0f); private …
9 unity  c#  vector  mathematics  vector  matrix  unity  c#  transformation  java  3d  terrain-rendering  shading  ios  opengl-es  opengl  rendering  optimization  python  scripting  minecraft-modding  modding  pc  3d-meshes  mesh  culling  point-cloud  networking  interpolation  mathematics  game-design  ai  game-mechanics  animation  unreal-4  skeletal-animation  3dsmax  unity  c#  3d  opengl  c++  textures  unity  ide  cocos2d  cocos2d-x-js  unity  c#  mono  il2cpp  c++  game-loop  timer  linux  flash  actionscript-3  java  glsl  c++  vector  entity-component  c++  directx11  windows  visual-studio  libgdx  mouse  unity  c#  architecture  storage  unity  c#  rotation  coordinates  quaternion  vrpn  movement  vector  unreal-4  unity  shaders  unity  gui  text  bug  shooter  3d  animation  rendering  voxels  c++  mmo  multithreading  linux  textures  procedural-generation  terrain-rendering  multiplayer  mmo  game-state  java  android  libgdx  opengl  procedural-generation  unity  gui  3d  animation  tools  geometry-shader  mobile  advertisements  unity  c#  animation  scripting  unity  animation  unityscript  coroutines  unity  shaders  lighting  camera 

2
我如何进行投票以公平地踢“领先”玩家?
我的游戏有很多房间,大约有10个人参加比赛。从根本上说,这是一个大家伙,对着另外9个小家伙。 但是,有时一个人会故意“拖钓”并为其他9个人制作一个有趣的游戏。这些人想踢一个人用另一个9代替他。 如果要求投票是一致的(不是被踢的人),那么他只有一个朋友参加比赛将阻止投票通过。同样,如果您一致减一,那么两个朋友可以停止投票,依此类推。 小房间有问题。如果一个房间只有两个或三个人,那么一个人可以琐碎踢别人。 是否有任何研究针对将某人踢出某个房间所需的最佳票数进行了研究,具体取决于房间中有多少人?

2
通过LAN的​​Android实时多人游戏
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我已经为Android平台开发了几款游戏,现在计划创建自己的第一款多人游戏。我想到的基本上是一个2人游戏女巫,您可以通过本地连接/ WiFi用2个电话玩游戏。 两部电话都需要能够将3个整数值实时传递给另一部电话。到目前为止,我已经考虑过使用Socket,但是在我深入研究它之前,我想问一下是否有更好的方法? 谢谢!

4
具有数百名玩家的服务器端物理模拟
我目前正在开发一款面向物理的单人游戏,希望在服务器端模拟物理。这是因为游戏将具有排行榜,持续的玩家进度等,并且我想防止任何类型的作弊-基本上是纯客户端-服务器架构,客户端是“哑巴”,仅显示服务器希望您显示的内容。 但是,问题在于该游戏很可能同时由数百人(可能是数千人)玩。这使我感到担忧,因为如果我必须同时执行并维护数百个状态,它很可能会破坏服务器的处理能力。 我将所有物理模拟都移到客户端不会有任何问题,但是我真的需要一种方法来验证客户端模拟的结果是否有效。但是,我不知道如何。 我曾考虑过不时地运行模拟服务器端,以验证客户端是否仍然处于公平状态,但我确实希望服务器尽可能减轻压力。 物理将变得像Glenn Fiedler的GDC 2011演示一样复杂,甚至更简单。但是,更多总是碰撞的刚体会在一个场景中,并且它们一次都会可见。 对于这个特殊的情况,我很难回答,因为网络上的大多数资源(再次是Glenn Fiedlers站点都是很棒的站点)谈论小型网络物理(例如,具有30个播放器的FPS,例如Halo)。 对此主题的任何建议,网站,论文等将不胜感激。 我想回答以下问题: 客户-服务器模型的可行性如何?我的服务器处理能力是否合法并接地? 是否可以可靠地验证客户端在服务器上运行的物理模拟?如果是这样,怎么办?


2
在线多人游戏基础知识
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 6年前关闭。 我目前正在实时开发ac#在线多人游戏。目的是使用UDP协议建立基于客户端/服务器的连接。到目前为止,我已经使用UDP进行玩家的移动,并使用TCP进行事件(玩家射击,玩家丧命),因为我需要确保这些数据将到达连接到服务器的所有玩家。我知道UDP被称为“不可靠”,并且某些数据包可能会丢失。但是我到处都读到永远不要混用TCP和UDP,因为它会影响连接。 主要问题是我应该如何组织我的网络? UDP是无连接的,我该如何保存谁是谁?我应该在列表中保存客户端的IP地址吗? 我应该使用TCP处理重要事件还是使用UDP?如果需要使用UDP,如何确保数据不会丢失? 通过同时使用TCP和UDP,我需要为每个播放器将其IP保存在一个列表中(用于UDP),并将TcpClient保存在另一个列表中(对于UDP)。我如何才能使其更有效?

2
Xbox Live是否适合多人FPS?
我正在研究基本的第一人称射击游戏。我最终还是希望将其发布在Xbox Live上。 如果这样做,我仍然可以参加聚会(邀请和聊天)吗?Microsoft是否提供用于多人游戏的服务器,或者我必须提供自己的服务器?我可以在游戏中从Xbox系统自由连接自己的服务器IP吗?是否可以在Xbox之外的网页上向人们收取微交易等费用或维持服务器成本?

1
创建棋盘游戏AI
我想编写一个棋盘游戏,名字叫Okey,在土耳其最受欢迎。http://en.wikipedia.org/wiki/Okey 但是我有一些关于AI的问题。 Firslty让我解释一下游戏。 该游戏由4位玩家进行。 在这个游戏中,共有106张磁贴,其中2张是假小丑。其他104个瓷砖分为4种颜色,通常为绿色,黑色,蓝色和红色。所有颜色都有两组瓷砖。一组ise包含13个图块,其顺序为1到13。 每个玩家开始14个磁贴(一个是开始15,然后首先开始),然后将下一个玩家抛出最不需要的磁贴之一。下一个玩家可以获取此图块,也可以从桌子中间的堆栈中获取另一个图块。游戏以逆时针方向播放。 该游戏的目的是尽快找到14个图块的有效序列。玩家可以使用相同的颜色按顺序编号对齐图块,直到13。例如绿色1,绿色2,绿色3。这里有一个例外,可以跟1到13。例如红色12,红色13和红色1是有效集。但是红色13,红色1和红色2无效。 或者玩家可以按相同编号的颜色对齐图块。例如绿色1,黑色1,红色1,蓝色1。 每个集合必须是3个或更多的图块才能有效,并且每个集合都称为“每”。少于3个图块对完成无效。有效的整理集可以是这样的。G:绿色,B:蓝色,R:红色,BL:黑色G1 | G2 | G3 B2 | R2 | BL2 R9 | R10 | R11 | R12 BL13 | R13 | G13 最后一件事,当开始游戏时,选择一个图块来确定小丑(okey)。例如,如果选择“蓝色3”,则选择“蓝色”。蓝色4将是小丑(okey),玩家可以使用此图块,而不是玩家赢得或完成一组(每张)所需的任何图块。 当然,这些规则是一般性规则,可以概括以解释问题。如果您可以阅读英文,则可以查看此链接以获取更多信息http://tr.wikipedia.org/wiki/Okey或Google Translate的翻译页 http://translate.google.com/translate?js=n&prev=_t&hl= zh-CN&ie = UTF-8&layout = 2&eotf = 1&sl = tr&tl = zh-CN&u = http://tr.wikipedia.org/wiki/Okey 那我可以使用哪种AI算法?我搜索了minimax理论和alpha beta修剪。但是这些理论通常是大约2个象棋或井字游戏的玩家游戏。 原始问题在stackoverflow上:https …

2
如何为多人游戏构造简单的游戏服务器?
我想为一个简单的游戏创建一个简单的多人游戏服务器: 游戏应该类似于《命令与征服》,您有一些战车和一些士兵。您可以选择一名士兵,然后单击地图以选择该士兵应去的地方。如果士兵来到他不能去的地方,他就会走来走去。士兵会被敌人击落。 我应该如何构造游戏服务器,以及在客户端应该做什么? 即,如果一个士兵从X移到Y但在建筑物Z周围,我想服务器必须能够准确计算出士兵所在的位置(以防敌人向他开枪),客户也必须知道位置画士兵。 应该在服务器上做什么,我想我必须为此设计一个协议。我认为服务器必须跟踪游戏状态和时间。是否有人对此有建议?还是可以推荐一些阅读材料?
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.