当前位置: 首页 > 知识库问答 >
问题:

如何在多人策略游戏中正确管理同步战斗的套接字

白赞
2023-03-14

我正在建立一个策略游戏,玩家可以互相战斗。至于现在,我的重点是制作1v1的PvP战斗,但我也想建立一个架构,这将允许进一步扩展到3v3战斗。

我创建的游戏是基于套接字客户机/服务器架构的。每一个进入游戏并按下“查找匹配”按钮的玩家都将被置于与其他玩家中的一个单独的战斗中。

>

  • 我是否需要一个单独的插座(“房间插座”)用于每次同时进行的战斗?

    谁应该创建和绑定房间插座?如果是客户机,如果客户机端口关闭,服务器如何连接到这个套接字?如果是服务器,请参阅p。3

    是否可以将所有这些套接字绑定到一个端口?如果地址和端口相同,客户端如何连接到“他的”套接字?

    我将不胜感激对它的任何帮助

    注:由于我编写服务器所使用的语言不是很流行,所以我不能使用任何现成的解决方案

  • 共有1个答案

    万阳嘉
    2023-03-14

    从您的问题来看,我怀疑您可以从复习Beej网络编程指南中受益。

    1. 每次同时进行的战斗是否需要单独的插座(“房间插座”)?

    我不知道你说的“房间”插座是什么意思。如果你的意思是每个游戏都要分配一个不同的监听套接字,那是不实际的。

    是的,这是可能的,这就是服务器的实际工作方式。

    监听套接字的行为与连接套接字稍有不同,这是因为监听套接字可以“接受”连接,并为每个连接创建一个新的套接字。

    这是语言依赖的。大多数语言都有Beej网络编程指南中的函数listen的一些变化。

    这实际上取决于在服务器上执行的工作量和在客户端计算机上执行的工作量。

     类似资料:
    • 利用 cocos2d 制作的一个RPG回合制战斗游戏,包括人物在有障碍物的瓷砖地图中走动、回合制战斗场面,技能效果、抽奖效果。 作者说:(使用本网站代码里面的图片素材,望原作者见谅),算是自己琢磨一个月的总结吧,希望对像我一样的新手有点帮助,高手勿喷。 [Code4App.com]

    • 同步策略即通过设置标签与资源映射项目的对应关系,将公有云下的资源按照规则设置分配给指定项目。 同步策略即通过设置标签与资源映射项目的对应关系,将公有云下的资源按照规则设置分配给指定项目,同步策略仅在云账号同步的时候生效。目前支持的资源为所有带标签的项目资源。 说明 当磁盘、快照、eip等项目资源绑定到其他资源上时,将会按照其他资源上的标签,将其同步到对应项目中,若磁盘、快照、eip等未关联资源,则

    • 不知道为啥在****上投了一万个数据分析岗没回应,结果多益的hr直接找上来问我对游戏玩的多不多,对游戏策划感不感兴趣,莫名其妙的就投了简历,填完了测评(看别人都说有些都乱填,就我兢兢业业填了快一千多个字?),明天笔试不知道考啥 多益很缺策划?鼠鼠就一破打游戏的能面游戏策划吗? 8.5一面(面试官的麦经常会听不清,反问了好几次,然后回答问题的时候眼睛不由自主往左下瞄,我也不知道为啥,下次屏幕中间贴个

    • 每2个玩家,服务器将创建1个房间(我的游戏是PvP,一对一) 每个房间处理游戏逻辑 我将使用作为我的游戏循环 服务器FPS=5 每个房间都可以处理玩家的移动和一些物理操作 关于实际问题: 基于下面的点数,我应该使用什么样的游戏循环?下面每种类型的游戏循环的利弊是什么。 null

    • 根据Karpath的RL教程,我正在尝试为游戏2048实现一个策略网络代理。我知道算法将需要玩一些游戏,记住输入和采取的行动,规范化和平均中心的结局分数。然而,我在损失函数的设计上陷入了困境。如何正确地鼓励最终得分较高的行为,并阻止最终得分较低的行为? 当在输出层使用softmax时,我沿着这个设计了一些东西: 其中,操作采用一种热格式。然而,这一损失似乎没有多大作用,网络没有学到什么。我在PyT

    • 我正在做一个多人游戏。每个客户端都有一个在共享环境中移动的字符。 我使用socket.io创建rooms,使用peer.js创建客户端之间的点对点连接。 我正在尝试做的是使每个客户端能够更新他的地图中其他玩家的角色的位置。 为此,每个客户端应该拥有其他玩家的键盘光标(箭头键)的状态,以便他能够用行走动画移动他们对应的角色。 p2p:我正在考虑在客户端之间创建双工流,这样每个客户端将拥有其他玩家的键