简体 Welcome!
帳號: 密碼:
進階選項 註冊為新會員 忘記密碼
所有文章: 204 | 迴響留言: 3995 | 引用列表: 34 | 文章分類: 20 | 總瀏覽頁次: 6387222 | 今日瀏覽頁次: 51
星期五, 二月 16, 2007
線上遊戲-遊戲資料庫(上) 鎖寶!不想讓玩家過太好?
去年底有預告說要聊一下資料庫的東西,好不容易利用每天中午吃飯的精華時間整理一點東西,這次要來談談線上遊戲的資料庫。資料庫是做什麼用的?黑客入侵資料庫能做些什麼?盜取資料庫對玩家一定會造成威脅嗎?虛擬寶物鎖寶管制,另外你能跟遊戲公司客服直接取得遺忘的遊戲密碼,你可能正處於危險族群!

線上遊戲的資料庫

線上遊戲的資料庫大多都是用MS-SQL(Microsoft)來管理的,另外還有ORACLE、MYSQL等,這邊我也不會講太深,不然連我都會睡著,而且可能網友馬上就把網頁右上的X按下去了,簡單提一點玩家比較關心的,關於遊戲製作和資料庫相關的部分,順便講點盜資料庫的問題和被誤解的點。


遊戲資料庫的重要功能

我想,應該是大部分的玩家都不知道線上遊戲資料的結構和實際作用。

資料庫主要作用是用來管理數據和表單。此外就是用來查詢和分析各種營收,可以從相關的欄位撈出數字,分析遊戲的營收族群和付費比例,例如某道具一天可以獲利多少,是哪些等級的人消費、買了哪些東西、賣出多少個等等。另外舉凡怪物掉寶、數值、技能、玩家能力、NPC列表、地圖編號、座標紀錄、玩家成長數據、對話、各種紀錄等等等等等……,很多都是從表單來管理與變更調整。


表單設計與管理工作

SQL的表單可以由企劃人員用Excel先填好,再丟給server去轉存丟進資料庫讀取,所以表單的欄位需求一般是由企劃開出的,例如以mmorpg的玩家資訊來看,玩家資訊列表的欄位內可能就會有等級、名稱、頭銜、聲望、血量、力、敏、攻、防、技能、屬性點數…諸如此類的數值填在表內,這些就是欄位需求,這很重要,欄位需求沒開完整就會造成有些數據抓不到,不然就是查不出來,甚至產生錯誤。而這些數據的多寡和平衡,全由遊戲企劃人員來控制和調整,表單也可以控制一些東西的開關和機率,例如某個欄位設成0,地圖就進不去;遊戲內送虛擬寶物的寶箱,可以在表單內控制讓它多久出現一次,或是送出幾個就停止。


欄位設定與寶物的保值、監控

我在這邊直接講幾個有趣的案例,網友會比較喜歡看。

以MMORPG來說,我們可以在表單內控制設定一個禮拜只會出兩把大馬士革鋼刀,掉寶重新開啟的時間通常是每週維修時段,所以這個禮拜等於兩把刀出完,就打不到了,你再打五萬隻怪也一樣,得等下個禮拜伺服器重開。所以產生一個很有趣的情況,很多人應該有發現,維修完開機那一天很容易打到東西,或是發生一些幸運的事情,然後維修前一天很難打到寶物,部分就是這個鎖寶的控制。

鎖寶控制並不是故意要限制玩家賺錢什麼的,有很多人都覺得遊戲公司故意鎖寶不讓玩家取得,會幹這種事情都是出了一些利益薰心的管理者所下的命令(例如某倒閉的遊戲公司,鎖寶自己賣)。

以遊戲設計者來看,高等物品的數量管制絕對是必要的,尤其你沒辦法做出很正確的機率設定之下,例如我預估某個武器掉落率為0.01%,大概一萬個玩家幾天只能得到一把,但是有時候機率這東西常會出乎你意料之外,什麼時候會超過你預期,沒辦法掌握,東西的數量掌控一但出錯,很容易造成市場物價平衡瞬間傾斜。

所以控制虛寶取得量除了保障價值以外,再來就方便作監控管理。簡單來講,我一周只送1張波利卡,一個月最多就不會超過5張,萬一這東西逮到有人大量在賣,或是第一個禮拜就發現有人賣兩張,那很明顯可能是遊戲產生漏洞或是設定錯了,這時候就可以來追查這部分,查看看玩家怎樣去弄到這麼多被限制的物品或是哪邊有問題。

但如果單純以機率來控制虛寶的產生,如設定波利卡掉落率五萬分之一,有些人是不是真的運氣很好一個禮拜可以打到五張,還是洗出來的,你不去查就會很難抓到,這是限寶機制和丟給機率去Run的差異。

所以高價的物品除了機率以外,還要做數量的控制,當然其他比較小的材料或垃圾物品,就會單純只以機率來控制掉落率。


其實這部分可以講很多,下次我會針對怪物掉寶的設定和規則直接開一個主題來講!



資料庫重要後端搜尋,違法問題的追查

講完掉寶了,回到資料庫來談,進階一點的話,就如我之前常說的,配合後端資料網頁的表單,就可追查作弊或數據異常玩家,之前我常在談的後端資料就是靠這東西來引導,然後將可能發生異常的數值欄位條列成冊,再請程式使用語法設計成網頁介面,就可成為一套基本的後端監控查詢工具,你只要在網頁頁面按下一個按鍵,就可以查詢「本日某玩家資金流動紀錄」、「每日交易超過XXX元的帳號」、「儲值超過5000點的玩家帳號」等,像這種紀錄都可以做成後端工具來撈資料。甚至可以設定每日把哪些重要的項目在每天幾點寄到你的Email,方便觀察或追蹤,也可以知道遊戲有沒有出事情。


問題追查後如何處理

這邊網友要了解一點,並不是靠著後端系統就一定可以追查異常問題並修正,最重要的還是「人力」,有了後端工具,還要考慮有沒有辦法娜出特定的人力來針對這些問題做追蹤,並且提去測試修正。有些遊戲到了後期,整個團隊可能剩不到五個人,甚至只剩下一兩個程式和一個GM在維護,絕不誇張。這些程式可能還兼任其他遊戲的工作,這時候誰管你後端如何,如果沒有異常當機或重大問題,差不多遊戲就是擺著過一天算一天,然後偶爾辦一下活動,因此玩家回報的Bug可能也堆積成冊,等待無限卻無法到來的處理時間。

所以遊戲的壽命如果到了盡頭,在商業考量之下,很多維護都會被犧牲,如果這些修正工作不會有利益成長,也常常會被放棄掉。在台灣這種很商業化的環境之下「花這些時間幹這些事情,有沒有好處?」這點都優先被放在老闆的腦袋內思考,要盡善盡美通常是建立在利潤之下。所以你在一個沒什麼人玩的遊戲,丟了一個bug回報,然後發現一年半載公司沒有人回應過你,大概就是你這問題小到不會影響他們的營收,或是遊戲已經等著自然死了。

所以當你告訴老闆,玩家有回報某東西,我要花20小時去修改程式,更新一個不會增加利潤,對玩家也不會有太大影響的小問題,如果那20小時你可以做更多對公司有貢獻的事情,你就是會被指派去做後者。

你會覺得遺憾,當然我們也會,有時候我們想讓遊戲更完美,但是從商考量以及和工作時程賽跑之下,老闆把你調去做其他更大的工程,是為了以後要賺更多錢,對遊戲設計者和玩家來說都是無奈的,有時候不是不願意做,而是執行權不在手上,無可奈何,當然這也是線上遊戲商業的一個小環節。所以這也是有時候玩家和遊戲公司兩邊很難產生交集的問題所在。


這種情況能改變嗎?大概可以,等哪一天也許你或我有機會成為決策者,大概就可以改變,當然我也不保證以後我們不會變成他們那個樣子。

:)



More... funp HemiDemi MyShare del.icio.us technorati Google Bookmarks Digg
發表於 2:45 PM | 文章分類: 線上遊戲非法防治系列

迴響留言
資訊背景的人看資訊背景的文章,就顯得如魚得水;既不會看到邏輯錯誤的導證過程,也不會看到沒事實根據的結論,有時候會定期來你這邊看文章,常常覺得對學習有很多省思與責任
由 FRANK 發表於 2:24, Mar 5, 2007
59.104.91.* | 標記為廣告 | 回應此篇迴響
名稱
電子郵件
網址




請輸入你在圖片中看到的文字
"SQL的表單可以由企劃人員用Excel先填好,再丟給server去轉存丟進資料庫讀取"
我最怕就接到這種"資料庫". 大多數的企劃都不懂得正規化與命名規則.
通常接手的人會吐血而死. 要不是資料的空間大得要死, 就是鬼才看得懂的schema, 完全沒有軟體工程的設計概念.
最後就是一堆巴垃都在資料庫中.

比較好的方式, 企劃把需求提出. 交由SA去作完分析, 在去設計, 最後coding.
OOAD, 最重要概念就是要作到隱藏資料. 所以企劃看到就是一個工具, 一個表單.
但實體資料庫規劃, 與命名其實企劃不太需要知道.
謎樣般的人物 發表於 11:17, Mar 13, 2007
211.76.176.* | 標記為廣告 | 回應此篇迴響
名稱
電子郵件
網址




請輸入你在圖片中看到的文字
這就是教育訓練的問題了,老實講由誰去命名都沒關係,但是規則要制定出來,大家查詢的文件要一樣,省去很多溝通會出現的麻煩。

不過老實說我比較贊同你的意見,這部分一開始的需求由企劃提出後,應該由程式人員來執行規劃所有部分,當然包含欄位命名。 :)

個人經歷是,這部分由企劃來做,簡直是自找麻煩......
dalireal 發表於 14:03, Mar 13, 2007
61.220.110.* | 標記為廣告 | 回應此篇迴響
名稱
電子郵件
網址




請輸入你在圖片中看到的文字
請問你知道天堂的寶物掉落設定嗎

是機率性的還是固定的?

維修的時候資料庫都在做什麼?
由 125.231.149.* 發表於 19:51, Apr 2, 2007
標記為廣告 | 回應此篇迴響
名稱
電子郵件
網址




請輸入你在圖片中看到的文字
天堂掉寶規則我不是很清楚,這部分大概無法回答你

維修通常是做玩家資料檔的備分,以及各種遊戲資料存檔
以防萬一損毀或有重大問題可以回溯

另外就是會有一些bug修正必須在伺服器關機才能更新檔案
因為這些動到程式的部分重開才會生效,所以只能維修時做

不知道有沒有回答到你的問題~ :)
dalireal 發表於 21:14, Apr 2, 2007
61.229.138.* | 標記為廣告 | 回應此篇迴響
名稱
電子郵件
網址




請輸入你在圖片中看到的文字
嗯嗯~謝謝

我知道了
由 玩家 發表於 13:45, Apr 7, 2007
125.231.146.* | 標記為廣告 | 回應此篇迴響
名稱
電子郵件
網址




請輸入你在圖片中看到的文字
很多時候,真的是換個位置就換個腦袋了,即使幹到決策者,仍然要對公司的股東和董事會負責,開公司常常都是為了要賺錢,所以常常會跟公平正義有衝突是很正常的,只能感到悲哀。
由 ddk 發表於 17:43, Sep 28, 2007
140.131.40.* | ddk dot lin at msa dot hinet dot net | 標記為廣告 | 回應此篇迴響
名稱
電子郵件
網址




請輸入你在圖片中看到的文字
如果遊戲公司刻意鎖寶可以提告嗎???
由 阿飛 發表於 9:31, Mar 8, 2012
61.220.104.* | 標記為廣告 | 回應此篇迴響
名稱
電子郵件
網址




請輸入你在圖片中看到的文字

張貼迴響:
名稱
電子郵件
網址



請輸入你在圖片中看到的文字
引用列表
本篇文章引用網址: http://yblog.org/api/trackback/?id=6968
沒有引用

Collablog Portal enabled