2011-11-23 14 views
4

我計劃創建一個在線RTS遊戲,它將使用Quartz .NET來更新postgresql數據庫中的值。用於在線遊戲調度的Quartz .NET

以下是遊戲中的場景示例。

  1. 玩家將創建一座建築物,並且在完成建築之前需要花費大量時間。完成時間將被計算並保存在數據庫中。

  2. 一旦建築物開始生產,我將創建一個石英觸發器,當建築物完成時間到達時,石英觸發器將啓動。觸發器將啓動一個作業,該作業將更新數據庫上的一個值,以提示該建築物已完成。

在這種情況下,我們可以得出結論,可以有一百的千石英觸發器,可以給予玩家對遊戲中的大量產生。

這是我的問題。

  1. Quartz是否適合此在線應用?如果是的話,我應該有一個單獨的服務器來託管Quartz及其作業和觸發器嗎?什麼應該是我的服務器的最低規格?

  2. 如果Quartz不適合這個,有什麼可以替代的解決方案?我在網上看到了很多在線RTS遊戲,這些遊戲處理單元生產時間的獨特完成,但我沒有實現它們的想法。

謝謝。

你的,

馬克

+1

從技術上講,如果您知道什麼時候建築物將要完工,則無需更新數據庫 – driushkin

回答

0

至於說,你可以預期完成時間更新數據庫。另外,完成時可能不需要與客戶同步。你可以告訴客戶:除非我以不同的方式告訴你,否則這座大樓將完成XYZ。

大多數遊戲服務器可能不使用石英,而是某種事件循環。也;不要使用數據庫進行實時更新。在內存中進行更新並在後臺寫入以獲得更好的性能。在發生崩潰的情況下,您只會放棄自上次直寫操作後發生的事件。