Re: [臺聞] 外掛停權:10/24更新公告

看板PCReDive作者 (超帥肥宅)時間5年前 (2018/10/26 16:16), 編輯推噓2(2012)
留言14則, 6人參與, 5年前最新討論串8/8 (看更多)
大家好,我是今年剛從私立學店畢業的肥宅。 正好我的專題是做VR連線運動遊戲,所以對這方面有點涉獵。 (雖然連線部分最後沒做出來。) 先跟大家聊一下我親戚家的狀況。 親戚家為了省錢,所以沒辦實體網路,家中如4K電視、筆電全部都是透過其中一台手機分享。 根據我的實測,速率大概可以在6~20Mbps之間浮動,尖峰時間當然是6,離峰可到20。 在這種環境下,想當然的,網路一定常常會延遲、掉封包。 而網路延遲、掉封包就是造成遊戲無法及時運算的元兇之一。 ※ 引述《greydust (灰)》之銘言: : 閒聊一下, 以下都是按照我看見的部份做的猜測 : 我還沒空去拆公主連結的apk, 歡迎有拆過的指正 : 說實話要治本真的很簡單, 所有會影響到他人的戰鬥都在伺服器算就好了(戰隊/競技) : 一場戰鬥90秒, 一格用1/30秒就好, 也就至多2700動 其實這種遊戲也不是2700個影格都有角色在動作。 而且網路並不可靠,UDP會掉封包,TCP速度有點慢。 再加上有些人的設備真的有問題,像是上面提到的狀況。 : 雖然會增加成本但應該也不至於太誇張 拿Unity官方伺服器來看的話,一個月1.22GB的流量大概是900NTD。 Google的便宜一些,比較爛的機器每個月也要700多NTD,網路每GB在加0.12NTD。 朋友架網站每個月也不到300NTD 但是使用者的設備如果有問題的話也沒用,因為還是會延遲。 : 而想要讓戰鬥可以在伺服器端運算的大前提是戰鬥邏輯要能獨立出來 : 可是公主連結的戰鬥我看起來非常像是直接把各種運算直接套在物件上讓它真實的去跑 : 而非先抽象的把戰鬥結果算出來再用畫面表現 : 最明顯的例子就是常常會出現在心得中的, 調framerate可以改變放招次序的方法 : 如果戰鬥的邏輯有拉出來算, 很難理解會出這種問題 : 沒弄錯的話公主連結應該是用Unity寫的 : 我可以想像很可能整個戰鬥就是一堆角色物件掛在那邊用Unity的Update在觸發 : (所以調framerate才會讓戰鬥產生變化, 甚至手機太爛也會) : 這種戰鬥要搬上伺服器算也不是不行, 但一來成本會飛天 上面好像說成本不會增加太多...... : 二來都沒有辦法把戰鬥邏輯獨立出來了, 又怎麼可能有技術力在伺服器上套用Unity運算? : 再說到事後的檢查, 用統計或是ML的方式去抓離群的數字 : 講難聽一點, 都沒錢請工程師把戰鬥邏輯拆到伺服器上了 : 又怎麼會想要再多花錢請有統計專門的Data Engineer之類的人就為了抓外掛? : 外包的機會又更低了, 先不說錢的問題, 光是外包抓錯人要誰扛就超級麻煩了吧... : 至於Sonet代理到底能做什麼, 我沒代理過遊戲也沒個譜 : 或許Sonet根本沒資料庫的權限, 或許CY的戰鬥記錄根本沒保存太多資訊, 可能性太多了 : 反正有事就可以推給原廠, 根本也沒人知道真實情況是怎樣 : 總而言之就是, 雖然應該已經是老調重彈 : 但是覺得很不爽就該罷玩罷儲, 這才是真正對CY和Sonet有影響力的辦法 : 營收下降太多了上面提到那些困難100%都會被立刻解決 : 沒被解決就是... 嗯, 其實大家並沒那麼在意 : 比如說我就沒很在意, 反正養養老婆看神仙打架, 也是蠻有趣的 我個人是覺得,每個人使用的網路環境不同,在惡劣的環境下使用會有延遲的狀況發生。 所以我還是比較喜歡在事後偵測玩家是否有開外掛。 至於事後怎麼偵測,那就不知道了~~~ 學店學生聽不懂迴歸分析、機器學習~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.167.31.38 ※ 文章網址: https://www.ptt.cc/bbs/PCReDive/M.1540541767.A.B54.html

10/26 16:56, 5年前 , 1F
原文的意思是應該是把每個時間點要做什麼動作先算出來
10/26 16:56, 1F

10/26 16:56, 5年前 , 2F
傳到 user 端只負責顯示
10/26 16:56, 2F

10/26 16:56, 5年前 , 3F
反正共鬥也砍了
10/26 16:56, 3F

10/26 17:00, 5年前 , 4F
不用真的算每一格 反正除了迴避有隨機性其他都是簡單算數
10/26 17:00, 4F

10/26 17:00, 5年前 , 5F
不用真的算每一格 反正除了迴避有隨機性其他都是簡單算數
10/26 17:00, 5F

10/26 17:01, 5年前 , 6F
爆擊:
10/26 17:01, 6F

10/26 17:22, 5年前 , 7F
伺服端負責出亂數表的數字就好了 不需要算
10/26 17:22, 7F

10/26 17:34, 5年前 , 8F
如同一樓講的, 把戰鬥先抽象化出來, 就可以包成一個lib
10/26 17:34, 8F

10/26 17:35, 5年前 , 9F
角色資料亂數種子丟進去, 理當可以產生一串哪個時間點誰
10/26 17:35, 9F

10/26 17:35, 5年前 , 10F
做了什麼事的輸出, server只需要取結果, client取整串輸
10/26 17:35, 10F

10/26 17:35, 5年前 , 11F
出去做演示就可以了, 跟網路沒什麼關係. 當然, 戰隊戰就
10/26 17:35, 11F

10/26 17:36, 5年前 , 12F
可以很簡單的驗算
10/26 17:36, 12F

10/26 17:52, 5年前 , 13F
nokia3310, 共鬥公會戰都沒斷過
10/26 17:52, 13F

10/26 20:55, 5年前 , 14F
那個根本進不去吧
10/26 20:55, 14F
文章代碼(AID): #1Rqir7jK (PCReDive)
討論串 (同標題文章)
文章代碼(AID): #1Rqir7jK (PCReDive)