0

我正在设计一个基于网络的游戏。在这个游戏中,几乎所有动作都需要一定的时间,但我不确定在哪里存储和执行动作。

例如,一个角色想要从 A 到 B,假设这需要 30 秒。在我的字符表中有一个名为 Location 的列,女巫正在存储当前位置的 Id。所以我必须在 30 秒后更改此 ID。

到目前为止,我能想到的最好的解决方案是创建 SQL 作业。由于我没有测试 100.000 个 Sql 作业将如何影响服务器性能的环境,我想问有没有其他方法或者我应该坚持使用 Sql 作业?

PS:逻辑与其他基于网络的游戏基本相同,任何其他游戏中关于他们如何处理此类事情的直接示例将不胜感激

4

3 回答 3

1

使用 sql 数据库以后会给你带来很多痛苦,因为它不适合你正在尝试的东西https://gamedev.stackexchange.com/questions/40215/use-a-sql-database-for-a-desktop-game

仅当您想存储大量登录详细信息时才使用 sql,而不是使用类似于 couchbase nosql 数据库的东西

http://www.couchbase.com/why-nosql/nosql-database

只是我的 2 美分希望我能帮上忙

于 2014-06-09T08:39:22.527 回答
0

我只使用 ASP.NET 实现了一个简单的调度机制。您可以在http://weblogs.asp.net/ricardoperes/using-the-asp-net-cache-as-a-scheduler找到概念证明。

于 2014-06-09T08:42:07.570 回答
0

你不需要为此做任何工作。

如果我们停留在上面的例子中,那么我们可以说我们的角色所在的每个地方都可以有额外的信息(在一个额外的表中,这些地方和角色连接在一起),例如何时开始记录的有效性:

  1. 球员 A 从 2014-05-01T00:00:00 到 NULL 在布莱顿
  2. 但他要搬到伦敦,这需要 30 秒
  3. 玩家 A 从 2014-06-09T10:30:30 到 NULL 在伦敦,之前的位置记录将被关闭(设置为值),当前起始日期为 (2014-06-09T10:30:30)。
于 2014-06-09T08:30:53.863 回答