2012-04-09 53 views
0

好的,這是我正在做的。我正在計劃一個瀏覽器遊戲,但我想要一個實時的方面。基本上,玩家可以在城市地圖周圍漫遊,遇到隨機的NPC和敵人。我想知道的是,是否有一種方法可以讓腳本不斷運行,與用戶的瀏覽分開進行,從而控制NPC的移動(每秒移動一次等等)?因此,用戶將玩遊戲(在地圖上的某個區域),並且會有類似於控制NPC等遊戲客戶端(如WoW)的東西,但在服務器端受到控制。 (這是共享託管,順便說一句,如果我需要專用或其他方式,這也是一種選擇)。我真的不希望用戶的瀏覽器每秒發出一個請求,要求在整個世界範圍內的所有NPC的位置。我只是想找出另一種方式去做這件事,同時還有一個實時的方面。實時服務器端腳本控制外部變量和值

如果這是不可能的,那很好,我有備用的非實時遊戲計劃。如果以上任何內容都不清楚,我會盡量詳細說明。

回答

1

你或許應該谷歌這樣的: 的PHP守護HOWTO「

守護進程是其駐留在內存中,並可以與信號控制方案。

可悲的是,php處理異步事件的能力很差,比如發送一些數據並等待答案,同時繼續運行。

我在寫sms-daemon時面臨這個問題 - 客戶端把sms放入隊列,守護進程發送並等待確認。但在等待時,它應該繼續接收來自隊列的另一條消息。

+0

我喜歡這個社區。這似乎是我尋找的完美答案。對於其他人可能會閱讀這個,我已經找到一個教程在http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/使用梨包,它看起來很容易使用。事情是,它看起來像你需要完全訪問Web服務器,而我目前正在使用共享虛擬主機。專用的服務器包通常會解決這個問題嗎? – TerranRich 2012-04-09 18:45:17

+1

專用服務器可能是一個昂貴的解決方案。如果你會吸引成千上萬的用戶,你必須得到專用的服務器。但是一開始VPS/VDS(http://en.wikipedia.org/wiki/Virtual_private_server)方法就足夠了。現代主機提供這項服務。 你會感覺自己像服務器上的根。 – 2012-04-09 22:17:48