2014-07-17 138 views
-1

我想知道,當你想製作一款基於PHP的遊戲時,需要玩家等待一些東西,例如:我支付了100金幣來探索,並且每5分鐘我會收到戰利品。例如,探索將在30分鐘內結束。我想知道,哪個最好,爲什麼。下面是選項:基於PHP的遊戲

  1. 保持開始頒發的勘查命令的時間的記錄,那麼每次一個具體的探索播放器中打開該頁面,計算一切,並顯示結果,然後把它在數據庫中。

  2. 創建一個cron作業來計算當前每5分鐘探索的每個玩家的探索並將其更新到數據庫。

  3. 做一個cron作業每30分鐘計算,併爲每一位玩家都更新,也讓特定玩家更新就像選項1

選項3基本上是選擇1和2的組合。 謝謝您的幫助。我不確定性能問題,所以我需要從已經有這方面經驗的人那裏知道。

+0

這取決於遊戲應該做什麼。如果玩家每5分鐘收到一次關於他們獲得的戰利品的電子郵件,那麼顯然需要進行某種定期更新。如果玩家的行爲可以互相影響,這可能會使事情進一步複雜化。您當然在正確的軌道上存儲數據的方式可以讓您在需要時計算新的遊戲狀態。除此之外,無法確定何時需要更新您的特定遊戲的工作狀態。 – deceze

回答

0

這些只是一些個人意見,可能不是最好的選擇。

2)更具有玩家互動的多人遊戲的一般方法,但它會給服務器帶來不斷的壓力,這似乎超過了殺人,因爲我嚴重懷疑你的遊戲會在玩家之間產生複雜的交互。

1)可能是要走的路,除非你的計算非常複雜,需要很長時間。可能的缺點是,您可能無法處理大量的同時請求更新。但從你所描述的我不認爲會發生。

3)這很難評論,因爲我不知道您的計算時間是否取決於它自上次更新以來已經過了多少時間。如果你的計算是不依賴於時間的,那麼當你花時間更新任何人可能需要的數據時,這是一種可怕的方法,而且你也對流量飆升感到開放。

+0

所以我假設我應該堅持第一種方法,並且只有當玩家檢查頁面時才計算一個玩家的一切? – Vauvalon

+0

ug ...我想你可以這麼說嗎?我的回答主要是根據你的描述指出我注意到的一些事情。您應該在設計時嘗試分析您的系統,並確定哪一個對您來說最合適。除非我知道有關係統的所有信息,否則我實在無法給出確切的建議。總體而言,我認爲[1]是您最簡單的方式。 –