看板 Web_Design 關於我們 聯絡資訊
我目前使用php+mysql開發像這樣的一個遊戲 https://i.imgur.com/nMQdwWb.jpg
我的角色是右邊那個 左邊頭上有名字的是其他玩家 我要知道其他玩家目前在地圖上的位置 我目前的做法是每1秒去撈一次資料庫 位置有變動就更新其他玩家的位置 不過這樣等於我的角色放在地圖上掛網2小時 會產生7000多次的requests 感覺人一多,對伺服器也是個負擔 請問各位先進,有沒有其他更有效率的做法 可以提供給小弟參考呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.82.246 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1597671882.A.AEC.html
frank910138: 用websocket08/17 21:46
chocho1981: 感謝,我試試看08/17 22:14
onininon: firebase08/18 13:03
看了一下介紹,感覺這東西超神奇的 不過這是不是要收費啊? 如果用到資料庫監聽功能的話
menShow: redis,存玩家座標資料當cache,玩家移動時,偵測可視範圍內08/18 14:13
menShow: 的玩家發websocket通知這些玩家就好.08/18 14:14
※ 編輯: chocho1981 (101.12.82.246 臺灣), 08/18/2020 20:08:32
ctrlbreak: 你知道 一般這種RPG地圖每秒鐘每個玩家至少更新10次以08/19 03:24
ctrlbreak: 上畫面看起來才不會lag嗎 XD08/19 03:25
嗯,不過我的問題不在這裡 其他玩家有移動10秒 更新100次我也可以接受 但是若是其他玩家在地圖上發呆2小時 我也得更新7000次,那就真的很沒效率了 ※ 編輯: chocho1981 (101.12.82.246 臺灣), 08/19/2020 07:35:22
swallowcc: 1,php不好做websocket 2,10秒更新一百次也不是好選擇08/19 10:29
kyoe: 比較少人用php做這個,效率跟資源比不上其他的08/19 13:55
除了php外,有比較好的建議嗎? 我前端主要是用jquery php主要是用來管理mysql的資料而已 ※ 編輯: chocho1981 (101.12.82.246 臺灣), 08/19/2020 15:06:47
ctrlbreak: 先試著學習寫常連線的server,這類型遊戲php+db不好勝任08/19 20:18
唉~~這也是我現在煩惱的地方 本來只是想能不能用websocket 傳一組其他玩家在地圖上的數據 再用canvas畫出來就好 這兩天研究了一下Nodejs和io.socket 類似聊天室的功能做是做出來了 可是我目前完全無法應用到我之前的程式裡 難道只有全部砍掉重練嗎? 夭壽喔,我搞了快一個月的東西耶... ※ 編輯: chocho1981 (101.12.82.246 臺灣), 08/20/2020 06:59:53
swallowcc: 不砍掉重練你後面會遇到更多狀況啦... 而且你有現成的 08/20 17:48
swallowcc: code 可以 reference 了,商業邏輯部分也不用重想了 08/20 17:48
swallowcc: 只是說練習新語言要花點時間,不然開發上不會太耗時 08/20 17:49
f416720001: 我是認為早晚都要改的 08/27 20:59
mohai: 非得PHP的話,swoole websocket 可以參考看看 09/03 05:21
jjba310: 我也想做這個,做完驗證帳密上來就看見這篇,推 09/04 22:33
jjba310: 目前想php做其他事,入口網頁及管理mysql 09/04 22:42
jjba310: 在另外找工具及框架去做遊戲本體去連結mysql 09/04 22:43
jjba310: 另外想問原po,左邊遊戲畫面是那個工具做的 09/04 23:40
jjba310: *哪 09/05 11:53
左邊的圖全部都是從RPGMV來的 地圖製作和人物製作 都是在軟體上做好後 再弄成圖片檔做成網頁 https://imgur.com/EbQZIFT https://imgur.com/W1qUHHc ※ 編輯: chocho1981 (36.239.21.231 臺灣), 09/05/2020 13:44:04
laechan: 通常的做法是改成比方1分鐘存一次+額外情況出現時存一次 09/27 11:32
Isaea: 用兩個資料表,一個存最後位置一個現在位置,現在位置的5 10/15 09:26
Isaea: 分鐘清空一次 10/15 09:26
WeiMyWoW: 好有趣的專案,讚讚 11/09 03:55