2015-04-03 33 views
1

我想知道一個實時瀏覽器遊戲如何像ogame一樣工作嗎?實時瀏覽器遊戲如何工作?

你是如何不斷更新資源的東西?

我唯一的建議是打開24-7電腦,但不能這樣做。

+1

服務器當然是全天候運行。 – Barmar 2015-04-03 20:30:13

+2

'我唯一的建議是讓電腦打開24-7,但不能這樣做。 '這就是每個網站的工作原理。你認爲哪些網站的資源來自哪裏? – 2015-04-03 20:31:10

+0

^- 關於上述評論:當然,查看網站的客戶端計算機通常不會24/7運行,也不需要。但是,通過一臺或多臺服務器機器提供網站(呃,它必須來自某個地方?),這些機器通常一天24小時運行。 – Cubic 2015-04-03 20:35:43

回答

1

通常,雖然人們沒有與遊戲互動,但他們擁有相當穩定的資源流。因此,在改變此流程的事件之間,您不需要更新金額,而是可以計算它。

例如。假設在某些遊戲中有一個stone資源。玩家以0 stones開頭,並且能夠建立stone quarry,每小時產生1 stone,然後可升級至2級,因此每小時可產生2 stones。最初,我們知道該玩家沒有stone quarry,所以他的stone收入是每小時0。然後玩家建造stone quarry,我們做出以下日誌條目:

at time T0 player P build stone quarry. He had 0 stones at that moment and stone income is now 1 stone per hour. 

從這一刻開始,如果什麼也沒發生,我們可以簡單地在任意時刻計算結石的量,我們不需要保持更新。

如果玩家花費在什麼石頭我們添加下面的日誌條目:

at time T1 player P spent X stones on <something>. He now has S1 stones and stone income is 1 stone per hour. 
再之後

我們即使我們的服務器崩潰(假設日誌在一些硬化隨時計算結石數量全部信息路)

然後播放器升級stone quarry

at time T2 player P upgraded stone quarry to level 2. He had S2 stones at that moment and stone income is now 2 stones per hour. 

這樣的想法是登錄時間戳,資源量和每當金額或收入發生變化時資源收入率。然後,您將擁有所有數據來計算將來任何時間點的資源量。

1

一種可能的情況:(!當然全天候)
有一個HTTP服務器,而服務器和客戶端之間的一些網絡插座,任何更改都立即通過套接字客戶端發送的,所以頁面的更新很快。
實際上並沒有什麼奇怪的事情發生。