【问题标题】:Asp.Net MVC And SQL server - Best way of using automated jobsAsp.Net MVC 和 SQL server - 使用自动化作业的最佳方式
【发布时间】:2014-06-07 08:14:17
【问题描述】:

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

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

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

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

【问题讨论】:

  • ok vgSefa 我只是想知道您为什么要使用数据库 除非您打算制作游戏以便多个用户可以登录,否则所需的一切都发生在您的 javascript 文件中,等等请给我只是关于您希望完成什么以及它将是什么类型的游戏的更多信息,例如farmville等等

标签: sql asp.net-mvc-4 sql-job


【解决方案1】:

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

如果您想存储大量登录详细信息,而不是使用类似于 couchbase 的内容,请仅使用 sql nosql数据库

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

只是我的 2 美分,希望对我有所帮助

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2011-01-21
        • 2011-08-25
        • 1970-01-01
        • 1970-01-01
        • 2010-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多