2009年12月8日 星期二

由外掛討論Facebook開心農場為什麼常常會出現嚴重bug

Facebook開心農場農災


這兩天大家應該受夠Facebook開心農場了吧?沒錯,長期以來
Facebook開心農場一直有伺服器不穩而導致資料庫毀損的問題


 


為什麼Facebook開心農場老是會發生資料庫毀損呢?讓我們從
外掛談起吧!有研究的玩家都知道,開心農場的外掛可說是少之又




事實上目前為止出現的Facebook開心農場外掛幾乎僅只限於自
動採收偷菜系統。(唯一一次真正有做到作弊外掛的也
只有無農
民幣開地
那次
,使用的方法是利用程式漏洞,這與去修改遊戲數據
的外掛有顯著差異。




 


這是為什麼呢?很簡單,因為Facebook開心農場是很少數,
乎把資料完全放在伺服器端處理的 Flash遊戲。在伺服器端處
理資料的好處是玩家幾乎沒得作弊
這就好比現實中的銀行系統
,所有帳款紀錄都是銀行方在管,使用者就是拿筆幫自己帳簿尾
款改成一億元也沒有用~


 


而其他遊戲呢?大部分都是採用玩家處理部份資料、伺服器端又
處理重要核心資料的方式,這樣做的好處就是能有效減輕伺服器
的負擔。當然如此一來,就會有人在自己可以處理資料的部分動
一些手腳。(如使用
Cheat Engine),達成修改資料功效。(
這個問題可以透過遊戲常更新資料加密等方法解決)


 


那開心農場這樣做是個好事嗎?或許是,然而當使用者越來越多
的時候,大量的使用者針對伺服器的資料存取,將會對伺服器的
硬體造成極嚴重的傷害。




偏偏Facebook開心農場保留一些效能上還能再繼續加強的資料
庫演算法而,更造成系統嚴重負擔。


 


要解決問題的辦法有兩個方向,第一個方向是增強硬體配備、第
二個方向是由改善整個軟體架構下手。所謂軟硬兼施是也。



第一個解決方案很顯然的,就是要花錢。當然,所要花的可不少
,看過線上遊戲機房的人就清楚,可別以為是買台陰森購物頻道
鼓吹的超強萬能急速電腦(
 還送限量超高級滑鼠)就可以蒙混過關
。估計幾十萬跑不掉,然而Facebook開農官方卻似乎在此方面
吝於花費,讓人甚至懷疑是否跑開農的伺服器只是顆不到四核Q9400
等級的平價電腦。(沒說是拿80386來跑就很客氣XD)


 


第二個解決方案則是必須請勞苦的爆肝工程師來完成。然而我們
可以看到,顯然Facebook開心農場卻寧可把這些人力拿去開發
其他Facebook遊戲,想竭盡所能搶攻其他市場賺更多錢....


 


然而Facebook開心農場開發廠商6 waves 未能體會:


有好的遊戲品質才有好的遊戲商標,


 有好的遊戲商標才有百年企業」。


 


這句話在其他業界適用,在Facebook遊戲產業方面當然也適用
,看來真該去請
6 waves 來看台灣斯斯廣告。


 


讓我們看看另一個成功的例子-Play Fish。他出版的遊戲,
無論是餐廳城市(
Restaurant City)寵社(Pet Society)
農(Country Story)
都各有相當龐大的支持眾。更可怕的是遊戲

類型各不相同,雄據餐廳營業、寵物養成、農場種植等三個大餅


 


為什麼他會這麼成功呢?遊戲可愛程度當然是個重點,遊戲品質
更是令人稱道。至少我們幾乎未曾聽過誰誰誰的餐城忽然少個兩
個金盤,或是寵社的
雪花樹忽然變蘿蔔等重大問題。給玩家一種
可以信任的感覺。


 


而這種信任感,就足以讓玩家願意繼續去玩這間遊戲公司其他遊
戲。也使得 Play Fish的各項應用程式一直都能盤據Facebook
前二十大應用程式的幾名。


 


總而言之,個人認為Facebook開心農場應該要根除短視近利
的想法,致力於投資更多資本在於改善遊戲環境上,而並非死守
台灣廣大市場。


 


畢竟依照台灣群眾個性,這一波Facebook開心農場的風潮一過
,接著極可能又瘋去玩其他遊戲,到時候才後悔莫及,那可能再
多補償-哪怕是農民幣大贈送,也無法挽回眾多玩家的信任吧!




 

16 則留言:

小米 提到...

沒必要討論這爛game了!!~~

浪費貴版面...:)

版主回覆:(12/19/2009 11:05:23 AM)


嗯XD
常閱讀本部落格的應該也會發現天使的重心轉移了~

allen 提到...

已經不玩開心農民囉 !! 改玩繁體開心農場

版主回覆:(12/10/2009 07:00:19 AM)


歡迎加我當鄰居唷XD

jacket0421 提到...

真.開心農場XDD目前好像好有問題比較大~"~我加了好友一直沒出現過=口=版大不好意思我可以加你嗎~?

版主回覆:(12/10/2009 06:21:07 AM)


可以呀^^

snow 提到...

對呀
怎麼都不能加好友呢? 好奇怪

砂姆 提到...

你好,之前也偷了你不少作物在此感謝。

這次出包,我從60降至23,等於這兩個月都白玩了。

昨天開農的道歉啟事對此毫無說明,擺明把人當笨蛋,

當下立即決定刪除這個應用程式,

過程有樂趣,偷菜衝等級,跟朋友互動等等,

但如今結果甚麼都不是,一句系統不穩定,就甚麼都帶過去了,

我不知道其他人是否還種的開心,或者等到下一次的出包才會覺醒。


版主回覆:(12/10/2009 06:59:19 AM)


我的菜都歡迎偷呀~^^ 種就是給偷的

投靠真‧開心農場吧XD
http://apps.facebook.com/happyfarm_tw/
歡迎加我當鄰居

小光 提到...

版大有沒有計劃,寫一個繁體開心農場的作物時間表...^^ ?

版主回覆:(12/10/2009 06:34:18 AM)


要經營一個線上遊戲需要投入資本和時間的XD...偏偏我也不太喜歡搞農民幣那套賺錢。
因此目前是雖然有計畫,但是時程或許要等到我有空才行囉..

M 提到...

這篇文章有點問題,首先好的flash程式也都把資料放在server side運算,絕大多數都是這樣,沒這樣的程式都很快會被外掛攻陷,所以這不是藉口。
第二MySQL一點也不是老舊的架構,有太多程式都是用MySQL,不過我也不確定是不適用MySQL就是了,只能說如果用MySQL在當下的軟硬體環境會出事,用Oracle/DB2通常出事的更快。
架構好硬體其實不用太好,比如google的硬體就很爛,但是他的bigtable架構下,每筆資料理論上都會寫在三個不同的硬碟,可以直接熱換硬碟。反過來而硬體好架構就不用太好,比如今天他買了高檔的異地備援機制,比如用了同地的raid0加上設定最多五分鐘資料差距的HACMP同步兩個城市的硬碟或是就算MySQL的Master-slave rep等等的,那再怎麼硬體壞了,壞了一台硬碟另外一台還是好的,整個大樓倒了,另外一台異地的硬碟都會是好的。還有,這些架構的東西都不貴,都是十多萬到幾十萬可以搞定的(不算異地大樓的租金)。

版主回覆:(12/10/2009 06:27:56 AM)


那段的確我沒表達清楚,我意思是針對他的MySQL語法並未做到最佳化,至少我看她原始碼認為還有許多可以改進之處(當然這是我想的,或許用我的演算法會有其他問題發生),並非說使用MySQL一定會有問題,而是他寫的資料庫演算法似乎不盡理想,不過既然有爭議,我就修改一下吧

其實最主要問題我覺得還是開農直到出事了,才開始在想要新增伺服器(依據新公告)....個人是認為應及早因應才對

n_A! 提到...

我是香港的玩家,這次農災我影響不算大.
只有部份田地上的作物變為空地
倉庫和種子都正常
但是伺服器重開之後我就會延時,我想知道是不是只有我才出現這個問題,謝謝!

toppy368 提到...

目前打算將開心農民的農作物收成以後直接修耕,因為狀況太多了,之前光靠賠償的種子就能維持農場的運作,現在連賠償的種子也可能消失(美麗果種子全部不見),因此改完五分鐘開發的正宗開心農場(繁體中文),這次當機次數應該會比較少

不過我覺得開心農民這家公司信譽不良,像悠遊卡一樣採用全伺服器存取(將所有運算及儲存功能花在伺服器上,典型的雲端計算)的機構或公司很多,好像都沒發生資料遺失(頂多發生兩張卡重疊導致機器誤判,讓伺服器重覆扣款)或駭客側錄卡片的事件,怎麼這家公司卻常常當機,明明知道是伺服器撐不住這種流量,卻沒在軟硬體下功夫,所以感覺就差掉了

rejuvenate 提到...

於心有戚戚焉~~

starly 提到...

五分鐘開發的正宗開心農場光靠加好友是不行的
要再邀請你的好友做鄰居,才能在系統上看得到
記得要 refresh !

版主回覆:(12/11/2009 03:27:14 PM)


嗯 我目前開始完這套XD..要加我鄰居歡迎

183 提到...

『Num Lock』我是沒看到這個按鍵
操作我搞懂ㄌ

小光 提到...

版大能不能幫忙分析一下,這次的補償方案選哪4種比較划算 ^^ ?


版主回覆:(12/11/2009 02:38:56 PM)


http://dreamyeh.pixnet.net/blog/post/25503481

starly 提到...

可惜我玩的是英文版, 等級已經19級了
中文版最近才上線,實在沒有重玩的動力...


版主回覆:(12/11/2009 02:37:47 PM)


我也是 之前Happy Farm還種出羊駝了說@@

路人 提到...

等級被降低的可以等到等級恢復後再領
那領補償可以領到什麼時候啊?

葉子 提到...

版大,可以加你嗎?