名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 8:34 AM
9
3
[閒聊][程式相關][遊戲相關] 關於多人網路遊戲的設計。
之前看SAO的時候,有看故事中提到,因為茅場晶彥把開發工具開放了,所以導致一堆類似SAO的遊戲冒出來。
到這句沒問題,這種事早在RO的私服上看過了,因為RO的私服允許自訂的範圍很大,如果有心的話,的確可以把遊戲完全改成別的遊戲。
但是sao的故事中,又接了一句「玩家遊戲資料可以共享,以及傳輸到別的伺服器。」,這就有很大的問題了。
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 8:34 AM
這裡定義一下,「伺服器」是指,與其他伺服器有不同資料域的機器,依照自訂程度,有可能有不同的設定,以及不同的遊戲邏輯。。
「允許跨伺服器共用資料」我覺得這是蠻有趣的設計。(是跨「伺服器」,不是跨「節點」。)
而且我很認真的思考要麼做出來,但是目前無解。
在程式技術上沒問題,那種東西在程式上很容易達成,在邏輯上的問題比較大。
TonyQ (人微言輕)
@tonyQ
Sun, May 24, 2015 8:36 AM
oauth ?
殘冬雪
@mfish20012013
Sun, May 24, 2015 8:36 AM
可能打從一開始就必須訂定通用格式的api跟資料格式吧?
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 8:36 AM
因為開放自訂的關係,所以在同步的時候可能會出現,因伺服器可能自訂、修改了資料的格式,導致匯出匯入失敗。
匯出匯入失敗這點還好,因為那是檔案根本不能用,這種問題還小。
但如果匯出匯入成功了,那可能導致一場大災難,會讓遊戲中的經濟整個被破壞。
假設遊戲中有個物品叫做「絕世神劍」,在A伺服器,掉落率很低,而且打王才能打到,那這樣的東西在正規的伺服器中,算是罕見的寶物。
TonyQ (人微言輕)
@tonyQ
Sun, May 24, 2015 8:36 AM
聽起來跟 oauth 模型有借鏡的地方
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 8:36 AM
但在B伺服器中,站長自訂的腳本,「絕世神劍」被修改成新手村大放送的新人道具。
這種狀況如果同步的話,會變成,一堆人跑去B伺服緝拿寶物,跑去A伺服器。
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 8:36 AM
其他像是,稀有度、價值、能力屬性的平衡等等,都會是問題。
我能想到的,跨伺服器共享資料的方式,只有用OAuth 2之類的方式共用登入資料
能共用的大概也只有玩家的自訂造型、名稱、名片等,跟遊戲無關痛癢的內容而已。
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 8:36 AM
其他像是比較敏感的,裝備、等級、人物數據,通通不能共用,也就是說一換伺服器也是從初新者開始。
或是,像卡牌類等回合制的遊戲,允許玩家從主伺服器,帶著完整的遊戲資料進入到其他伺服器,但是不允許玩家把資料帶回來。
也就是說,即使在其他伺服器中獲勝,也沒有經驗值或是報酬。
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 8:37 AM
殘冬雪
:
TonyQ (人微言輕)
: 技術上我覺得是沒什麼問題,OAuth2之類的就可以用了,但邏輯上問題很大。
蘿莉真冬
@lolimafuyu20130719
Sun, May 24, 2015 8:38 AM
蘿莉真冬
@lolimafuyu20130719
想要
Sun, May 24, 2015 8:38 AM
殘冬雪
@mfish20012013
Sun, May 24, 2015 8:39 AM
其實是讓各個站點自行設定,要跟其他站點通用格式到甚麼程度的資料?或是像bt某些殭屍網路的自動黑名單,把出現異常的節點kick掉
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 8:43 AM
遊戲平衡這種很難判斷是不是「正常」的。
雖然想弄出在不同伺服器間能自訂但又能共享資料,但我想最後會變成,所有伺服器都把裝備等級同步功能關掉的狀況....
senjor
@senjor
說
Sun, May 24, 2015 8:45 AM
不要忘記裡面有黑科技啊,遊戲引擎本身有AI會自動判定如何公平的對應轉換數值,然後還會自己在網路上去找適合這個遊戲的更新內容,自動撰寫新任務跟新劇情。
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 8:46 AM
問題是我想把「跨伺服器共享資料」的功能做出來啊.....
senjor
@senjor
說
Sun, May 24, 2015 8:47 AM
那就會需要手動設定了
senjor
@senjor
說
Sun, May 24, 2015 8:48 AM
例如說人物原始資料有個最底層共通的interface,然後不同遊戲裡面做出不同實作內容就好
senjor
@senjor
說
Sun, May 24, 2015 8:49 AM
但是回歸到最原始的根介面的時候依然能有個最基本的數值可以公不同子介面傳遞。
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 8:53 AM
要想想看怎麼弄了。
l• ܫ•) Davyキュルッ
@david50407
Sun, May 24, 2015 8:56 AM
不就只是OpenID嗎,還沒到OAuth吧
路人甲
@u9613316
說
Sun, May 24, 2015 9:01 AM
小說的說法:
轉移過去後裝備道具會全部清空,依照原本伺服器的排名,轉移相對應的數值到目的伺服器,
也就是來源跟目的實現共同的介面,就可以達到數值的轉換。
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 9:01 AM
程式技術都沒問題,問題是在,「新增修改的權限」怎麼定?
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 9:01 AM
耶.... 是依照伺服器排名去轉的喔?
senjor
@senjor
說
Sun, May 24, 2015 9:04 AM
名無乚
: 不用啊,只要用百分比去排不就好了
senjor
@senjor
說
Sun, May 24, 2015 9:05 AM
A遊戲的X屬性是1~999 B遊戲的X屬性是1~50,那A遊戲的X屬性是500的時候,轉去B遊戲就是25左右。
路人甲
@u9613316
說
Sun, May 24, 2015 9:07 AM
小說是這樣寫的,然後上線一段時間後,必需強制開放轉移功能。(不知道有沒有靠跳伺服器洗資料)w
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 9:07 AM
senjor
: 那樣也會有問題啊,因為之前我架私服的時候,知道等級之類的弄得很鬆,導致每個玩家的數值都是99....
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 9:09 AM
路人甲
: 雖然我覺得作者應該是沒想到,但從推論上應該會作好防洗的措施,不然遊戲早就爛掉了
senjor
@senjor
說
Sun, May 24, 2015 9:09 AM
名無乚
: 那這樣轉移也沒錯啊,他在原遊戲封頂,那照SAO的邏輯,新遊戲也應該封頂。如果製作者有自己的考量,那就要手動修正了。
senjor
@senjor
說
Sun, May 24, 2015 9:10 AM
不過依照SAO的無敵伺服器AI論,我看可能連升級辦法都會被AI強制控制住。
senjor
@senjor
說
Sun, May 24, 2015 9:11 AM
所以實務上會變成用這個引擎開發出來的遊戲會經由原開發商審核過才可以上路,只是這個審核被AI巧妙的帶過去了
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 9:12 AM
手動審核的話再現階段比較有可行性.....
senjor
@senjor
說
Sun, May 24, 2015 9:13 AM
不然就是限制引擎的自由度了
senjor
@senjor
說
Sun, May 24, 2015 9:13 AM
例如說像GTA5那樣,玩家可以自己設計自己的任務,但是任務都被各種規則嚴謹的控制住了
殘冬雪
@mfish20012013
Sun, May 24, 2015 9:24 AM
是說就算限制引擎,又要怎麼確認其他伺服器的引擎沒被竄改過啊?
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 9:26 AM
要共享資料的問題好多.......
殘冬雪
@mfish20012013
Sun, May 24, 2015 9:27 AM
所以到頭來還是直接算排名來mapping比較實際啦,然後限制不得同名
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 11:14 AM
mmorpg類的應該就這樣吧?
絕巘★厭世度200%
@a2305andy
說
Sun, May 24, 2015 11:59 AM
可是SAO的設定只能轉角色 不能帶道具(・∀・)
殘冬雪
@mfish20012013
Sun, May 24, 2015 12:17 PM
是說有可能像bitcoin網路一樣,設計出由一套整個系統全部共同驗證資料的系統?除非有大於整個系統的計算力,就難以假造結果
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 12:19 PM
我可不想打個寶跟打把bitcone一樣啊.....
殘冬雪
@mfish20012013
Sun, May 24, 2015 12:25 PM
是說與其說是 S-C 架構軟體的問題,以上這些問題其實都是偏P2P網路的問題吧?如何防止有毒client,然後從網路隔離或自動標記出來廣播啥的...
殘冬雪
@mfish20012013
Sun, May 24, 2015 12:25 PM
因為每個人都有可能有毒,根本不能信任任何人
殘冬雪
@mfish20012013
Sun, May 24, 2015 12:33 PM
目前做得最好,理論上完全無法攻破的應該也只有bitcoin?用演算能力來拚根本騙不了人
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 12:37 PM
這是真的.....
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 12:39 PM
光是掉寶的問題就是大問題了,要怎麼才能判定一台伺服器正在「正常的」生產道具,而不是開啟寶物大放送模式呢?沒辦法啊,除非連他們的SERVER也是我們在管的,那這樣就失去開放私服的意義了啊。
殘冬雪
@mfish20012013
Sun, May 24, 2015 12:45 PM
如果設定一個伺服器總"價值"的產量呢,每一單位的"價值"要怎麼用隨便你,但總產出就只有這麼多,所以生出越多道具,每個道具的價值就越低。
名無乚
@DoTaMoonNight
說
Sun, May 24, 2015 1:26 PM
等等,我想可能的方式是,伺服器擁有者可以自訂一個「zone」怪物、寶物掉落率等等,然後那些數據必須要依照某些規則去定之類的。然後server的主控權還是在主站手上,算是開放一個編輯出來等等.....
雖然我覺得那個zone的主人應該會自訂一些方法,導致只有認識的自己人有辦法拿到好道具等等
不過這跟私服就完全無關了。
senjor
@senjor
說
Sun, May 24, 2015 1:36 PM
這就是介面的做法
載入新的回覆
之前看SAO的時候,有看故事中提到,因為茅場晶彥把開發工具開放了,所以導致一堆類似SAO的遊戲冒出來。
到這句沒問題,這種事早在RO的私服上看過了,因為RO的私服允許自訂的範圍很大,如果有心的話,的確可以把遊戲完全改成別的遊戲。
但是sao的故事中,又接了一句「玩家遊戲資料可以共享,以及傳輸到別的伺服器。」,這就有很大的問題了。
「允許跨伺服器共用資料」我覺得這是蠻有趣的設計。(是跨「伺服器」,不是跨「節點」。)
而且我很認真的思考要麼做出來,但是目前無解。
在程式技術上沒問題,那種東西在程式上很容易達成,在邏輯上的問題比較大。
匯出匯入失敗這點還好,因為那是檔案根本不能用,這種問題還小。
但如果匯出匯入成功了,那可能導致一場大災難,會讓遊戲中的經濟整個被破壞。
假設遊戲中有個物品叫做「絕世神劍」,在A伺服器,掉落率很低,而且打王才能打到,那這樣的東西在正規的伺服器中,算是罕見的寶物。
這種狀況如果同步的話,會變成,一堆人跑去B伺服緝拿寶物,跑去A伺服器。
我能想到的,跨伺服器共享資料的方式,只有用OAuth 2之類的方式共用登入資料
能共用的大概也只有玩家的自訂造型、名稱、名片等,跟遊戲無關痛癢的內容而已。
或是,像卡牌類等回合制的遊戲,允許玩家從主伺服器,帶著完整的遊戲資料進入到其他伺服器,但是不允許玩家把資料帶回來。
也就是說,即使在其他伺服器中獲勝,也沒有經驗值或是報酬。
雖然想弄出在不同伺服器間能自訂但又能共享資料,但我想最後會變成,所有伺服器都把裝備等級同步功能關掉的狀況....
轉移過去後裝備道具會全部清空,依照原本伺服器的排名,轉移相對應的數值到目的伺服器,
也就是來源跟目的實現共同的介面,就可以達到數值的轉換。
雖然我覺得那個zone的主人應該會自訂一些方法,導致只有認識的自己人有辦法拿到好道具等等不過這跟私服就完全無關了。