LV. 13
GP 35

【閒聊】 突然很想發一篇有關「遊戲系統」和「聲望系統」的猜想文

樓主 默維 Tsukasa1107
GP25 BP-

突然很想發一篇有關「遊戲系統」和「聲望系統」的猜想文


看到許多人在討論關於聲望共用的問題,我就很想說說有關這部份的東西。

很多人大概不了解,這方面東西的整合是怎麼一回事,怎麼運作,困難度如何,有人說:「工程師好偷懶」又有人說:「怎麼改你都不爽。」又有人說:「講得好像你都會,那你來改吧。」

介於以上發言,乾脆就由鄙人來說說,這些修改到底是怎麼一回事,我們又到底該不該給工程師們拍拍手吧~

對我們(使用者)來講,我們所接觸的「遊戲平台」(類似於模擬器),就好像一個作業系統,硬體支援作業系統,然後軟體在作業系統內執行,嚴格說起來,作業系統就是一種軟體,一種支援許多軟體執行的軟體,就好像一個廚房有空間基礎(硬體設備),接著才有廚具基礎(軟體),有了管線(能源),才可以利用食材(工具型軟體),烹飪(執行)菜餚(使用的軟體)。

而對服務端(伺服器)而言,他們看的是一個又一個的訊息視窗(dos),把一各個地圖分別獨立出來(3D遊戲必要手段),再把可能的人潮盡量分散(分流系統),以避免物件(武器、防具、座騎、時裝、顏色、房屋、地板、ID、稱號、公會等……)過多造成電腦系統負荷過重。

關於上述的「物件」,也就說明了為什麼聖境會「這麼LAG」,因為這些「物件」都是「3D(立體)」的,既然是立體只要你的「3D加速卡」(顯卡關係)不夠強,當1S聖徽城出現一大堆人的時候,假設一個角色有十個物件,同時出現五十個玩家「再同一畫面」,你就要「一次同時讀取」高達「五百個」「立體物件」,所以合板、低階顯卡、低階CPU(或者記憶體不足)等電腦跑聖境一定是慢慢慢慢慢……的慢……

扯遠了……

來說說聲望裝為什麼會被「念」吧(我覺得會念的人他們真的很含蓄了,代表他們真的看懂傳奇在做啥,連外行人都看懂的話,傳奇真的就是「不『夠』用心」……)

聲望裝為什麼會被傳奇說的好像「登月任務」一樣超級困難呢?

主要不是因為難度太高,而是真的要花費很多很多很多時間……

如果要我評估,真的要進行這項作業,恐怕要「所有玩家都離線整整一星期」,然後讓工作人員「慢慢」的,「細心」的把這項艱鉅工作完成……

為什麼需要這麼久呢……且聽鄙人「簡述」一下……

-------------正文分隔線---------------

好多人大概無法想像,「在伺服器那邊的窗框顯示又怎樣?就是一堆外行人不懂的資料嘛,他們學那個就應該要會啊。」

基本上這樣想真的不意外,因為我也這麼認為……畢竟他們靠這個吃飯嘛……

但是有個重要原因讓他們沒時間搞這個聲望系統,還記得他們的美編每週都在產「新商品」吧?

那東西牽涉到3D骨架問題,不是那麼容易說百就擺的,也就是說,他們每週都要配合美編測試人偶搭配服裝的狀況,色彩問題,破圖問題,透明問題等等……

既然有這麼多「問題」,如果公司沒有特別分配時間給他們「專心」處理聲望,那根本就不可能處理好了,畢竟那是要慢工出細活的工作……首先就要團隊討論聲望是要加起來還是選最高,降冪排列之後篩選出來要放新表格連結還是舊有表格修改等等……

上面「表格」說到了問題重點,對我們玩家來講,是一個一個角色的一個一個「項目」,可是在他們服務端伺服器裡面,就是「表格」。

沒錯,就是區區的「表格」。

就好像Excel那樣……

是什麼樣的表格呢……且聽鄙人細細道來……

基本上表格一定一定會有的東西,就是分成項目:帳密(account)、角色(character)、物品(item)……以上表格基本上都用英文命名,公司有沒有自己的命名方式外人不會知道,有沒有自己的表格(數據資料庫)管理軟體(sql)也不清楚……

提到這些就是要給大家一個概念,這是屬於「樹狀關係功能資料庫」。

什麼叫「樹狀」呢?我舉幾個例子相信朋友們會更明白:

玩家五人:甲、乙、丙、丁、戊

☆帳號☆(括號中內容代表資料庫中不會有這筆資料)

(甲):帳號編號:000000 帳號(聖境帳號):A000001 密碼:****** 申請日期:xxxx 主帳號(傳奇網頁帳號):A000001

(乙):帳號編號:000001 帳號(聖境帳號):B000001 密碼:****** 申請日期:xxxx 主帳號(傳奇網頁帳號):B000001

(丙):帳號編號:000002 帳號(聖境帳號):C000001 密碼:****** 申請日期:xxxx 主帳號(傳奇網頁帳號):C000001

(甲):帳號編號:000003 帳號(聖境帳號):A000002 密碼:****** 申請日期:xxxx 主帳號(傳奇網頁帳號):A000001

(丁):帳號編號:000004 帳號(聖境帳號):D000001 密碼:****** 申請日期:xxxx 主帳號(傳奇網頁帳號):D000001

(戊):帳號編號:000005 帳號(聖境帳號):E000001 密碼:****** 申請日期:xxxx 主帳號(傳奇網頁帳號):E000001

(丁):帳號編號:000006 帳號(聖境帳號):D000002 密碼:****** 申請日期:xxxx 主帳號(傳奇網頁帳號):D000001

(甲):帳號編號:000007 帳號(聖境帳號):A000003 密碼:****** 申請日期:xxxx 主帳號(傳奇網頁帳號):A000001

這只是「帳號」方面得資料庫,試想想如果只有一百個玩家,可能工程師一個人都可以周周大改版了(要有薪水為前提),當帳號人數為一萬人的時候那……

為什麼我要打這奇怪的東西呢?因為這對於下面的說明而言非常的重要。請看:

☆角色☆ 能力值依序(力敏精智運,無職業狀態基礎值)

帳號編號:000000 角色編號:000000 帳號:A000001 ID:本尊一號 性別:女 種族:人類 等級:65 能力值依序:95 70 55 45 52

帳號編號:000000 角色編號:000001 帳號:A000001 ID:倉庫一號 性別:男 種族:鼠人 等級:30 能力值依序:50 35 20 33 13

帳號編號:000001 角色編號:000002 帳號:B000001 ID:政治退散 性別:男 種族:蛙人 等級:65 能力值依序:XX XX XX XX XX

帳號編號:000003 角色編號:000003 帳號:A000002 ID:分身一號 性別:女 種族:小孩 等級:60 能力值依序:XX XX XX XX XX

帳號編號:000002 角色編號:000004 帳號:C000001 ID:挖愛呆丸 性別:男 種族:熊人 等級:65 能力值依序:XX XX XX XX XX

(太多不詳列了)

打到這邊應該有人注意到了,「每一個角色」的最前面都有了「帳號編號」作為「依循」,也就是說,「有帳號編號才有角色」,我想有些人可能已經知道我下面要說什麼了。

☆物品☆ 目錄:可用等級、可用種族(0~5)、可用聲望(分類10001~90001)、可用性別(0男、1女)、可否堆疊、堆疊限制數量(4、15、30、100、250、999)、可否刪除(0可、1不可)、可否轉移(0可、1不可)……等等等等等……

道具編號:000001 道具名稱:刀    (後面還有一些功能分類能力值等等就先算了吧……)
道具編號:000002 道具名稱:杖
道具編號:000003 道具名稱:弓
道具編號:000004 道具名稱:盾
道具編號:000005 道具名稱:石頭
道具編號:000006 道具名稱:老鼠尾巴
道具編號:000007 道具名稱:紅水
道具編號:000008 道具名稱:女生時裝

☆角色物品☆ 道具狀態(0背包、1裝備、2倉庫、3收藏、4信箱):

角色編號:000000 道具編號:000001 道具狀態:1 擁有數量:1
角色編號:000000 道具編號:000005 道具狀態:0 擁有數量:19
角色編號:000000 道具編號:000006 道具狀態:2 擁有數量:4
角色編號:000000 道具編號:000007 道具狀態:0 擁有數量:67
(吼!上色好麻煩!我懶了!)
角色編號:000001 道具編號:000001 道具狀態:1 擁有數量:1(差不多就是上面格式……)
角色編號:000001 道具編號:000002 道具狀態:3 擁有數量:1
角色編號:000001 道具編號:000003 道具狀態:4 擁有數量:1
角色編號:000001 道具編號:000004 道具狀態:1 擁有數量:1

☆聲望☆ 編號:01灰岩山、02寧靜丘、03彩暴森、04戈德山、05……12黑炎峰……18殘酷冰原、19自然追尋、20亞瑟之鎚…………

帳號編號:000000 角色編號:000000 地區聲望:0109000 (前面的01代表地區,後面代表聲望)
帳號編號:000000 角色編號:000000 地區聲望:0207850
帳號編號:000000 角色編號:000000 地區聲望:0306000
帳號編號:000000 角色編號:000000 地區聲望:0408500
帳號編號:000000 角色編號:000000 地區聲望:0502200
帳號編號:000000 角色編號:000000 共用聲望:1909050
帳號編號:000000 角色編號:000000 共用聲望:2204000
帳號編號:000000 角色編號:000000 共用聲望:2416000
(一個一個上色真的很麻煩……)
帳號編號:000000 角色編號:000001 共用聲望:0101000
帳號編號:000000 角色編號:000001 共用聲望:0200800
帳號編號:000000 角色編號:000001 共用聲望:0302200
帳號編號:000000 角色編號:000001 地區聲望:XXXXXXX

帳號編號:000001 角色編號:000002 地區聲望:1709150
帳號編號:000001 角色編號:000002 地區聲望:1801200
帳號編號:000001 角色編號:000002 共用聲望:0101000
…………不打了  眼睛要瞎了


角色03下去不用講了吧……也就是依照此格式

但是依照上面格式又有什麼問題了呢?

問題就在於每個角色的聲望是「分開紀錄」的,這代表了要合併起來根本就是要累死妳啊罵(髒話)……

那有沒有簡單的辦法可以把他們合併呢?有有有……前提是「『如果』她們再『角色編號』前面還有加上『帳號編號』」「的話」!

那如果沒有……還是要累死妳啊罵!(髒話)

至於為什麼,因為基本上「最正常」的辦法,就是把所有「帳號編號」按「降冪排列」,然後加入新的項目(名稱),用以和「帳號連結」,並且把原本的「角色連結」刪除掉,而這中間還需要更複雜的篩選指令,這就是足以令工程師非常非常苦惱的地方……

一般來講,資料庫的項目都會為了未來可能的功能,盡可能的設想,然後把所有資料庫作連結,讓他們互相關連。

因為經過了互相關連,所以我們才能依照「正常程序」(開帳號、創角色、打寶物、加聲望等等……)去給一個人物「添加資料」。

別懷疑,對我們而言我們花了幾百個小時在遊戲上面,對伺服器而言,我們只不過是在用「很奇怪的方式」來讓伺服器運作,並且「增加資料庫的儲存項目」。

我們遊戲的一切,在伺服器程式來看,也就是表格修改罷了。

玩家:本尊一號,從「圖卡圖法」身上得到「異變」。
玩家:本尊一號,將「異變」用「五級武器強化捲軸」搭配「防爆水晶」強化到了「等級8」(+8)
玩家:本尊一號,將「異變」放入「收藏」中。

伺服器:在「角色物品」中,新增項目→角色編號:000000 道具編號:001423 道具狀態:3 擁有數量:1 強化狀態:8 附魔:0 

就是這樣而已……我們拼死拼活、尋死覓活、你死我活、殺人放火(?)……汲汲營營的物品們,對伺服器來講,就是「資料」而已。

☆☆重點是這些資料可以讓玩家開心……(也有可能傷心)☆☆

我又離題了(MLGB)(髒話)

總之,聲望系統要「合併計算」,真的是一個「mission of fxxking awful」(髒話)

因為知道(用屁眼也能猜到)大概「有多困難」,所以鄙人其實對聲望共用早就放棄了~只是想不到……真的腦包到想不到還有這麼一手……

★★★★★
就好像熱水器明明還有瓦斯,可是電池卻沒電了!你洗澡洗到一半被逼出來,拿著大型手電筒一邊發抖一邊瘋狂的在儲藏室裡面找一號電池,卻低能到沒想到你手上的手電筒裡面就有滿電的一號電池…………(法可)
★★★★★

所以……基本上雖然工程師們(稍稍小小的)偷懶了一下下……只是把「穿戴聲望限制」給解除,真的花不了太多時間……只要篩選出:Armor(防具)Weapon(武器)有聲望限制(穿戴限制of聲望)的部份全部「刪」!然後就可以讓買到的人能穿了……

基本上……我還是會給這位腦筋轉得很快的工程師拍拍手啦~

至少……他解決的「大部分人」所困擾的問題嘛!

大家只是想「穿」,傳奇也做到了,現在他們有更多time跟mind以及idea去「弄時裝」(whatever……)

我相信,這一定是再一堆工程師想破頭腦再創造篩選語法的時候,突然有一個小天才(小天兵?),反正就是腦筋轉得很快,鬼靈精怪的工程師徒然靈光一閃,說:「黯陰羊!腦袋有洞!怎麼當初沒想到這麼簡單!」

然後所有工程師聽完他的想法覺得可行就照做……(其實我還滿喜歡這種腦袋轉很快的人)(?)


最後再打一次「鍊結」(沒錯字喔)所需條件以達成聲望合併系統的條件來說明到底哪裡難……

▽主帳號→帳號→收藏→角色→聲望▽

在這樣的順序裡面,唯一讓聲望共用的方法,就是把它改成:

▽主帳號→帳號→收藏→角色▽
▽主帳號→帳號→收藏→聲望▽

就是說,兩者關聯,又互相分開,這樣才能讓所有角色共用「一個帳號」裡面的聲望。

簡單講,角色依附於帳號,聲望依附於角色,如同角色依附於帳號,道具依附於角色,有角色才有道具,道具不用帳號編號(因為那是「角色的」而不是「帳號的」,但是收藏因為要給所有角色使用,所以依附的是「帳號」而非「角色」

但是仔細想想可能高達二十萬隻人物都已經有了「個別表格」的情況下……合併真的是……「mission of fxxking awful」(髒話)

-------------------------------

說明就差不多這樣啦~

有錯誤(觀念)懇請指教糾正~畢竟這也只是我自學到目前為止的「猜想」,不算數的!

最後我還是恭喜大家可以共用聲望道具裝備啦~

順便給那位小天……才!工程師拍拍手!

至少解決大家的一個大難題了~

不管有沒有偷懶,至少很努力再看巴哈了~(>▽<殺小)

以上~看得懂就看~看不懂就X(國罵消音)

至少暫時相信傳奇還很想撈錢,絕對沒有輕易放棄另一堆快倒掉的遊戲的意思(!?)

雖然我很嘴砲,但在遊戲裡面我都只會耍白痴,不嘴砲的(真的啦!要相信我!相信我!)

比如說你只是在聖徽跑任務,突然有一隻羊駝跟隨你,跑速還超過一百…讓妳甩不掉,然後拼命在你後面用羊駝「啊啊啊~」那可能就是我……

下次看到不要罵我……我只是很無聊而已~(所以才會打這篇啊)



謝謝你還努力看到這邊,為了可能害你瞎眼的資料至此致歉(程式即將關閉?!)

大家還是為傳奇的靈光一閃拍拍手吧~


BY 默維~
  
25
-
未登入的勇者,要加入討論嗎?
板務人員:歡迎申請板主

1343 筆精華,08/26 更新
一個月內新增 0
歡迎加入共同維護。


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】