作者VVll (信)
看板GameDesign
標題Re: [程式] 關於動態調整遊戲平衡的做法
時間Thu Jul 4 21:29:35 2013
※ 引述《yan04870449 (楊伯)》之銘言:
: 假設一下情境
: 1.這是一款以socket為連線基礎的網路遊戲
: 2.擁有一個Web後台來觀察遊戲伺服器所使用的資料庫內的數據
: 3.遊戲中有類似轉蛋的功能,而我們假定這個轉蛋是設定一個百
: 分比來決定抽到的內容物的品質
: 而問題是這樣子的
: 現在我希望透過修改伺服器原始碼以外的方法去變更遊戲中轉蛋
: 的百分比,關鍵的需求在於
: 1.伺服器停止服務的時間越短越好
: 2.變更後的設定越快啟用越好
: 最理想的就是伺服器不用重啟,或是轉蛋功能不會瞬間停止服務
: 就可以讓設定被啟用。
: 我自己目前有一些想法
: 1.使用jsp建立socket進到server,以傳送封包的方式通知伺服器變更
: 2.一樣建立socket,但是直接使用VC#或VC、Java等直接建立使用者介面
: 3.讓伺服器可以接收80port並解析http的請求,在使用一般web來發送
: 4.建立cache server,將設定放在cache server裡面
: 目前我覺得1跟2不適用,因為我認為讓server外部有機會可以操作server
: 風險蠻高的;而3是自己如果要實作似乎有點吃力,但或許可以找現成的;
: 目前最頃向使用4,因為這個做法對於伺服器在水平擴充或是多台合作時有
: 很好的效果,只是又回到原本的問題...要如何修改cache server裡面的設
: 定就要看每一種cache server所提供的方法了。
: 小弟不才想請版上前輩指點一下,是否有其他的解決方案;或是在現行的一
: 些網路遊戲中是不是已經有甚麼例子可以參考。
寫支 額外的後台程式 去做變更
修改DB的資料 與server記憶體中載入的變數值
並且 限定在特定的網域/IP下 才能進行變動
當然 變動也要記得寫log
如果是MMO類型的遊戲
比較簡單的方法 就是透過chat ex/gm setRate 3345678(轉蛋id) 99(機率)
基本就是限定GM帳號才能操作 安全點就是增加網域/IP檢查
還有像FPS遊戲的話 可以開啟console介面去下command
畢竟是個olg server
事件處理的機制 與測試指命 都是基本
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.240.237.84
→ gyd:不過很常遇到只有嘴上說說卻沒有提供詳細需求的 07/04 23:40
→ caras:「啊你就什麼設定都開給我自己調就好了」這樣嗎? 07/04 23:48
→ LayerZ:遇到出嘴巴的千萬不要好心幫他做好... 07/05 01:00
→ LayerZ:我最近被開需求,常常會問一堆很白癡的基本問題... 07/05 01:01
→ azureblaze:遇過要求用Unity做一套Unity給他的XD 07/05 01:01
→ LayerZ:故意問,但是出嘴巴的連自己開的需求都不懂,這時後做出來 07/05 01:02
→ LayerZ:反而會出事= = 07/05 01:02
→ VVll:請把使用者當笨蛋 不厭其煩的釐清需求xd 07/05 01:27
→ LayerZ:把使用者當笨蛋跟開需求的人是笨蛋是兩回事.. 07/05 02:16
→ gyd:一個是需要問, 一個是問不出來嗎 XDDD 07/05 02:26
推 yan04870449:我認同把使用者當笨蛋XD 07/05 10:12
→ caras:這邊的「使用者」指的是同組的企劃…… 07/05 21:20