Articles of 在线

通过Socket服务器的基本连接

我正在devise一个简单的2播放RTS与Stencyl,一个程序使用块编码。 当演员移动时(新的X和Y),当前的代码更新列表,我希望服务器更新列表中的每个更改的游戏状态。 但是,要开始:我甚至不知道如何设置套接字服务器。 Stencyl教会了我逻辑的基础知识,但是我还没有学习任何编程语言。 我已经下载了一个我打算使用的Smartfox 2X套接字服务器。 现在我只是想要做一些小小的步骤; 我想做一些这样的事情:“当有人连接到服务器, 在这里打开插入文件 ”。 我怎样才能做到这一点? 我的意图是让这个文件成为游戏客户端。 这是“打开文件连接时”的方法去这个最好的方法? 当回答时:假设我什么都不知道,因为真的,虽然我已经做了研究(我知道UDP> TCP实时),但实施方面我什么都不知道。

如何显示自上而下的2D在线游戏

我不熟悉游戏开发(但对软件开发并不陌生)。 作为一个个人/学习项目,我正在devise一个顶视图2D在线RTS游戏(静态,不滚动)。 第一次剪切将只需要简单的精灵,典型的菜单,文本和button。 大部分的游戏逻辑将在服务器端发生,单元位置和其他命令以约30 fps的速度发送到浏览器。 除了显示和UI之外,客户端不会做太多的工作。 服务器的东西对我来说很简单,但我需要浏览器显示器上的一些指导。 阅读了几个新的浏览器技术/ HTML5库后,我越来越被选项所压倒,而不是更less! 我不一定需要绝对最好的工具; 我想要的是一个技术,可以很容易地实现一个简单的精灵游戏,并做一个体面的工作。 我非常了解JS本身,但没有任何花哨的graphics/游戏库。 我知道Flash / AS3(在Flash中做我想做的事就足够简单了,但是移动浏览器支持关注我 – 如果我需要iOS支持,我应该清楚一点)。 我有整个Adobe套件(订阅),如果有帮助。 当然,我并不反对学习一种新的语言/ API /工具,但我可以把我所知道的越多越好。 所以,我的问题(是的,这里有一个!)是,我的(最好的)选项是基于上述目标实现所述基于2D在线浏览器的游戏的浏览器内(显示)部分说明的技能/可用工具? 既然可能难以完全客观,请说明为什么你相信你的答案是这份工作的正确工具。 我不是要求博士论文,在这里,只是一两个。 🙂

服务器端敌人攻击附近玩家的高效解决scheme

我有一个工作的在线游戏服务器,NPC的敌人在那里四处游荡,并在攻击时作出反应。 然而,我很乐意让他们攻击附近的球员,并且可以想到两种方式的performance有问题:从技术上讲,我把游戏世界划分为更小的地方,像玩家,地上的物品,NPC。 1)在每个NpcMove步骤中,遍历同一位置的所有玩家,并检查它们是否接近。 但是,这将需要使用位置的客户端集合上的ReadLock。 我正在考虑制作一个集合的副本,然后迭代呢? 2)有一个静态地图(string[,]),并为每一个玩家的步骤,它会把它的名字到相应的坐标。 NPC AI然后会查看例如相邻的瓷砖,并检查是否有任何玩家进行攻击。 同样,这需要同步访问以写入和读取来自该地图的数据,并且考虑到步行是超频的… 任何想法赞赏

我应该在哪里放置服务器的input/输出控制台?

我正在开发一个简单的2D在线游戏,现在我正在devise我的服务器。 服务器将在linux vps上运行,我需要一个与之通信的方式(例如closures它,因为它将在vps上运行,简单地closuresterminal将不起作用)。 所以我觉得有两个select: 1)写2 apllications – 服务器不说任何东西,不接受控制台input和第二个应用程序是控制台发送命令到服务器(如出口,上网玩家等)。 2)在服务器appplication上有两个线程 – 一个是真正的服务器,第二个线程将用于cin和cout。 不过,我不知道这是否会工作在VPS … 或者,也许有更好的方法? 通常的做法是什么?

什么时候计算能力足够强大,可以玩像“战地”这样的大型游戏,来自云端的COD?

有没有类似Steam的现有服务,但不必下载任何游戏? 换句话说,购买数字权利玩和从云播放? 纯粹的在线播放需要多less带宽?networking的速度有多快? 你认为在不久的将来(例如未来10年)会成为现实吗?

未知表基于已知列值单个查询的SQLite查询

我正在开发一个数据库来备份我的在线TCG。 目前它是SQLite,但我将在稍后将其转换为MySQL数据库。 目前,我有三种不同types的卡与自己独特的领域。 例如。 但是,所有卡都有一个唯一的,我用来指代他们。 TABLE cards { CARD_ID as INT CARD_TYPE as INT TYPE_ID as INT } TABLE creature_cards { CARD_ID as INT TYPE_ID as INT NAME as TEXT FLAVOR as TEXT ATTACK as INT DEFENSE as INT ELEMENT as INT FLAGS as INT MANA_COST as TEXT } TABLE spell_cards { CARD_ID as INT […]

在低功耗的服务器上连接多人游戏(配对)的最佳方式?

好,所以我使用统一来制作多人游戏,但我不知道如何通过互联网连接玩家。 不像其他问题,这不是一个普遍的问题,如何做UPnp或使用团结的婚介服务器。 我的问题是,我会使用我的服务器是一个简单的低功耗电脑(运行正常的Windows 10,不知道如何使用Windows服务器)。 我认为它足够强大,足以让玩家相互配合,但不能举办一两个以上的实际游戏。 另一个问题是,我有一个住宅互联网连接dynamicIP,每隔几个月更改一次。 但是速度应该是可以的(150Mb / s的下载,20Mb / s的下载)。 另外,我不打算每个月都花钱买一台服务器(比如团结的婚介服务),因为我打算花尽可能less的钱(到目前为止,我已经向微软支付了12英镑的开发账户,我从他们那里得到了200英镑的代金券,所以我现在的花费是189英镑!) 所以我的问题是我应该使用我的服务器(它会工作),是否有任何使用非常便宜的在线服务,还是有另一种方式来使这项工作? 另一件事情是我可以一次用20个用户在统一的配对上,但是这个限制太小了吗? 编辑:只是信息,我的游戏是一个简单的坦克射手。 我正考虑在8-20的比赛中限制坦克的数量。 我的游戏中的子弹是刚体的物理对象,他们以较慢的速度移动(如果你曾经玩过坦克的麻烦,看起来就是这样)。 世界在3D。 一场戏中最多有一百个子弹是最有可能的。 在连接了7个连接大约20-30分钟的球员的局域网世界之后,windows报告数据使用量大约为3-4MB。

如何在Photon C ++客户端API中获得最快的区域服务器?

我面临着我的在线多人棋盘游戏的问题。 创建和join房间需要很长时间。 有时候其他玩家也不会得到这些数据。 在search完所有的Photon C ++代码后,我发现这个函数: void NetworkLogic::onAvailableRegions(const ExitGames::Common::JVector<ExitGames::Common::JString>& availableRegions, const ExitGames::Common::JVector<ExitGames::Common::JString>& availableRegionServers) { EGLOG(ExitGames::Common::DebugLevel::INFO, L"%ls / %ls", availableRegions.toString().cstr(), availableRegionServers.toString().cstr()); mpOutputListener->writeLine(L"onAvailableRegions: " + availableRegions.toString() + L" / " + availableRegionServers.toString()); // select first region from list mpOutputListener->writeLine(L"selecting region: " + availableRegions[0]); mLoadBalancingClient.selectRegion(availableRegions[0]); } 在最后一行,它只是通过可用区域的第0个区域。 我认为这个地区可能是较慢的地区。 无论如何,我仍然面临着这个问题,我需要帮助。 谢谢。

什么技术被用来创建“决斗networking”?

我想做一个类似的浏览器在线多人游戏,如“决斗networking”(下面的链接),但为一个不同的TCG。 你认为他们用什么技术创造它? 任何人都可以提及任何好的资源/书籍,所以事实上(不是很快),我自己可以创造一些类似于上面提到的游戏,或许更简单一些。 假设涉及到Flash和AS3,我对它们有了一些了解。 只有暴露于VB,C#和大多数networking编程语言。 决斗networking NSFW:嘈杂的音乐

早期的devise决策对于创建“高性能”多人游戏来说很重要?

我想创建networking游戏,并从一开始就关注性能。 我在互联网上search,但没有find任何关于devise水平或开发水平方面的具体答案,如 devise模式, 协议, 技术, 数据传输(游戏状态), 格式(JSON /串行化) ; 这对于创建高性能的在线游戏至关重要,大多数文章都在讨论硬件方面的考虑,但是你知道这不是我正在寻找的东西。