2011-11-23 34 views
4

我计划创建一个在线RTS游戏,它将使用Quartz .NET来更新postgresql数据库中的值。用于在线游戏调度的Quartz .NET

以下是游戏中的场景示例。

  1. 玩家将创建一座建筑物,并且在完成建筑之前需要花费大量时间。完成时间将被计算并保存在数据库中。

  2. 一旦建筑物开始生产,我将创建一个石英触发器,当建筑物完成时间到达时,石英触发器将启动。触发器将启动一个作业,该作业将更新数据库上的一个值,以提示该建筑物已完成。

在这种情况下,我们可以得出结论,可以有一百的千石英触发器,可以给予玩家对游戏中的大量产生。

这是我的问题。

  1. Quartz是否适合此在线应用?如果是的话,我应该有一个单独的服务器来托管Quartz及其作业和触发器吗?什么应该是我的服务器的最低规格?

  2. 如果Quartz不适合这个,有什么可以替代的解决方案?我在网上看到了很多在线RTS游戏,这些游戏处理单元生产时间的独特完成,但我没有实现它们的想法。

谢谢。

你的,

马克

+1

从技术上讲,如果您知道什么时候建筑物将要完工,则无需更新数据库 – driushkin

回答

0

至于说,你可以预期完成时间更新数据库。另外,完成时可能不需要与客户同步。你可以告诉客户:除非我以不同的方式告诉你,否则这座大楼将完成XYZ。

大多数游戏服务器可能不使用石英,而是某种事件循环。也;不要使用数据库进行实时更新。在内存中进行更新并在后台写入以获得更好的性能。在发生崩溃的情况下,您只会放弃自上次直写操作后发生的事件。