问题标签 [mmo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java中HTTP-MMO游戏的问题
我即将编写一个 MMO,使用以 JSON 响应的 HTTP 请求。
我是用 Java EE 风格编写的,希望移植到 Java EE 不会比它更难。但后来我发现我的几个 sinleton 的静态实例变量没有正确创建——类加载器在从 servlet 调用 SingletonClass.getInstance() 时生成了一堆。
我非常绝望,并认为添加@Singleton 描述会有所帮助。但事情并不那么容易。我的类在使用@EJB ClassName var 添加它们时根本不起作用。上下文查找也不起作用。
我尝试在 Eclipse、NetBeans 中开发,使用 Glassfish,尝试设置它,但没有任何帮助。我不知道该怎么办,现在真的很绝望。
我所需要的只是几个类,它们在加载应用程序时一直工作以处理游戏事件并保存记录的用户数据(分布在保存用户数据、怪物等的非 EJB 对象中),每个类都有一些定时事件记录的用户和使用 JSON 响应 HTTP POST 请求的能力。我什至不需要 ORM,我自己编写了所有查询,但仍然......必须工作的东西根本行不通。
我知道所有这些听起来很混乱且没有信息,但我不知道该怎么做——我的问题在哪里?也许,我应该填写 web.xml,或者使用不同的端口,或者飞向月球?或者只是改变编程语言?很抱歉您花时间阅读本文。
UPD。一些应用方案部分。包“服务器”中的前两个。
处理所有数据库连接,DbConnectionPool 是非单例类,它处理 java.sql.Conneciton 池。
是另一个处理所有游戏内事件的类,它包含已登录用户的 HashMap。用户和怪物类来自包“实体”(用户持有怪物列表)。
包“servlets”包含 HttpServlet 后代,注解 @WebServlet("/pathname"),尝试使用
例如。但是诸如 world.getUser(id_user) 之类的东西根本行不通。
至于 JDBC - postgres jar 包含在 GlassFish 域的 /lib 中。
至于 JSON - 我使用在这里找到的 org.json:https ://github.com/douglascrockford/JSON-java
actionscript-3 - AS3:通过 AS3 更改动画影片剪辑的子影片剪辑
我有一个具有不同身体部位的角色:头发、头部、身体、手臂、腿。我用行走动画和站立动画为角色设置了动画。我在每个动画中为角色的头发指定了一个头发实例名称,因此我可以通过 AS3 访问它。假设我有一个不同的影片剪辑,它是不同类型头发的静态图像。我希望能够使用 AS3 将角色的头发更改为那个头发。
实例:模型 = 持有者影片剪辑中的动画影片剪辑。头发 = 模型的孩子,但是是动画的
类:Anim = holdermovieclip(用于更改参考点和调整大小) Hair2 我想将头发更改为 Hair2 的一个实例
anim.model.hair = new Hair2();
当我跟踪它时,它显示对象已更改,但在显示时并未更改。我正在使用 AS3IsoLib,所以这是一个示例代码:
我测试了缩放头发,效果很好,但没有替换实例本身。
我想知道我怎么能做到这一点。如果你玩过一些 MMO 游戏,用户可以选择修改他或她的身体部位。Adventure Quest Worlds 就是一个例子。这就是我想要达到的效果。
.net - 如何组织 .NET 在线 MMORPG 服务器和客户端之间的交互
我目前正在考虑构建一个简单的 MMORPG。
这个想法是拥有一个 .NET 服务器和可下载的客户端应用程序。
组织客户端-服务器交互的最简单有效的方法是什么?
我想到了一个网络服务,但它看起来效率很低,只要客户端必须快速执行许多游戏动作(例如移动、拾取物品、攻击其他玩家等)
创建自定义通信协议是一项非常复杂的任务。
是否存在任何现成的解决方案?
android - 2d 安卓 mmorpg 游戏
我想做一个mmorpg游戏,在开始之前我想知道一些事情,
嗯,首先,我知道如何为android制作游戏,我一直在使用canvas,opengl es 1.0/1.1和一些andengine(还有opengl es 1.0/1.1)。我想知道我应该使用什么来获得良好的可靠和快速的 mmorpg,是否有任何其他选择可以获得更好的性能?
该游戏目前仅针对 android,我正在使用 android sdk 和 eclipse 来编写我的游戏。
另外,我在哪里可以学习如何制作合适的客户端和服务器?因为我从来没有这方面的经验。到目前为止,我只制作了 2d 和一些 3d 游戏,它们都不是在线游戏或任何类型的 MMO。
如果需要,我也有一些网站开发的 sql 和 php 经验。我曾为我的网站与 PhpMyAdmin 合作过。
谢谢!
node.js - Node.js 游戏逻辑
我正在制作实时多人赛车游戏。现在我需要帮助在 Node.js TCP(网络)服务器中编写游戏逻辑。我不知道这是否可能,我不知道我是否做得对,但我正在尽我所能。我知道很难理解我蹩脚的英语,所以我做了这幅“画”:)
谢谢你的时间
vb.net - mmo 数据库连接/安全问题
开发一个进行 ADO 调用的 MMO 有多安全或不安全?如果反编译,连接字符串将被暴露。跟踪用户位置等的最佳方法是什么?
c++ - 为 MMO 游戏设计日志服务器
我是游戏服务器设计的新手,现在分配了一项任务来重构我们的日志服务器。我为游戏服务器和日志服务器之间的通信创建了一个类 Log。
在游戏服务器上,有一个向日志服务器发送日志请求的类。
问题是:
我应该在游戏服务器上生成 sql 文本吗?如果在游戏服务器上生成sql文本,对游戏服务器的性能有影响吗?
如果不在游戏服务器上生成 sql 文本,则应该在日志服务器上生成 sql 文本。我应该将 GameItem 和 PackageChangeDetails 实例数据发送到日志服务器,这会使日志服务器复杂化,有人有好的想法吗?
c# - 提高 MMO 游戏性能
我们都知道MMO游戏的流行趋势。玩家面对面的地方。
我关心的领域是存储玩家动作和游戏结果。
通过 NPGSQL 适配器使用 Csharp 和 PostgreSql v9.0
游戏客户端是基于浏览器的 ASP.NET,并为所有与数据库相关的处理调用 Csharp 函数
要了解我的查询,请考虑以下情况
我们将游戏进度存储在 postgres 表中。
例如,锦标赛以四名玩家和以下活动开始
- 每个玩家一开始有 100 个生命值
- 玩家 1 进行罢工(我们参考图表将打击转换为随机范围 % 的生命值)
- 玩家 2 有 92HP,并且还击,所以玩家 1 有 98HP
上述两轮现在将在游戏进度表中,如
要确定锦标赛是否已经结束,我们检查 3 名玩家的生命值为零或游戏时间已超过上次进度的规定超时值
我们的桌子有一个主键作为锦标赛ID 基于玩家ID的随机32个字符代码(每个玩家8个)
还有其他列,例如护甲,法力,法术,所有这些都为每个玩家结转,总共有48列-每个玩家及其属性为12
最后有一个 gameResult 表,其中包含比赛的结果,带有比赛 ID、比赛时间戳、比赛结果(完成、PlayerSurrender、InvalidSession、SecurityHack、TimeOut)、winnerPlayer、playerMetrics、rowIDfrom、rowIDto
询问
我的问题集中在减少游戏数据库或 Sql 查询的负载
a) 如何检测玩家是否未同时登录并打开两个游戏会话但无需参考数据库或使用 Sql
b) 如何控制 GameProgress 表中记录的激增。让玩家更快得到响应。服务器在高峰时段或 1000 名玩家在线时开始延迟
我还在考虑在 Csharp 中使用后台进程,该进程不断将过期的锦标赛记录从 GameProgresstable 移动到另一个数据库,在该数据库中我们的服务器没有游戏负载。
c)我们应该多久运行一次充满 postgres 的 vaccum 。
我对可以提高性能的新应用程序开源或 toPay 持开放态度。例如。我们使用 FastCsvReader http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader来改进服务器日志文件的枚举。
问候阿文德
c# - 提高游戏性能 C#
我们都知道MMO游戏的流行趋势。玩家面对面的地方。然而,在游戏过程中,有大量的 SQL 插入和查询,如下所示
- 每 12 分钟或 500 名玩家/小时平均/最少 100 场在线锦标赛
- 在游戏进度表中,我们正在存储每个玩家的移动
- 12轮4人锦标赛可有48条记录
- 加上大约相同数量的法术或特殊物品
- 每场比赛总共 96 个或每小时 48000 个记录插入(500 名玩家/小时)
针对我之前的问题(提高 MMO 游戏性能),我更改了架构并且我们没有直接写入数据库。
而是在 a 中累积所有值DataTable
。然后,只要DataTable
有超过 100k 行(有时甚至可能在一小时内),该过程就会以 csv 格式写入文本文件。另一个后台应用程序经常扫描文件夹中的 CSV 文件,读取任何可用的 CSV 文件并将信息存储到服务器数据库中。
问题
我们是否可以直接从另一个应用程序访问游戏应用程序中存在的数据表(它读取数据表并清除已读取的记录)。这样就代替了从磁盘写入和读取,我们直接从内存中读取和写入。
有没有比 DataTable 更快的方法,它可以保存大数据,但在排序和更新操作中相当快。因为我们必须经常扫描用户 ID,更新游戏状态(几乎在每次插入时)。它可以是缓存实用程序或快速扫描/搜索算法甚至是 CollectionModel。现在,我们使用 foreach 循环遍历 a 中的所有记录并在
DataTable
用户存在时更新行。如果没有,那么我们创建一个新行。我尝试使用SortedList
和类,但它不仅使工作量加倍,内存使用量的增加也大大降低了整体游戏性能。
谢谢
阿文德
directx - 未来型 MMO,引擎选择?
我们是一小群开发者,我们希望创造一个未来的 MMO,它将城市建设、RTS、经济和政治类型的游戏结合起来。
我们不确定是否应该从头开始开发 DirectX9 引擎或使用 XNA、DXstudio 等工具。(我们有使用 DirectX 创建简单的类似 FPS 引擎的经验)
另一个问题是,像 UnrealEngine/UDK、Unity 这样的引擎是否真的适合像我们这样的复杂游戏(使用这些引擎开发的大多数游戏都是 FP/3rdP Shooters)?
关于从哪里开始使用引擎的任何想法都会有所帮助。