※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2017-11-19 03:49:08
看板 C_Chat
作者 標題 Re: [閒聊] 七龍珠爆裂激戰 炎上中
時間 Thu Nov 16 15:18:45 2017
※ 引述《dsa3717 (FishCA)》之銘言:
: http://dbz-dokkan.bngames.net/info1116.html
: 官方出正式聲明了
: 還把出問題的程式碼貼出來www
小弟鍵盤工程師沒有玩,但是根據文章大概是這麼個意思(盡量白話):
遊戲裡面卡片是以ID來存卡片資料的
當程式因為某些緣故要展現腳色資料的時候(列出卡池啦,展示你已經有的卡片等等)
會利用卡片ID去查對應的資料然後顯示給你
而文章裡那段code就是流程
①是
傳入需求的卡片ID列表,如果該卡片是你APP啟動後已經有顯示過的卡片
那該卡片的資料會已經在你手機記憶體裡
而如果沒有顯示過的卡片呢? 就找不到,會是個空指標
於是接著②
程式利用卡片ID去資料庫查相關資料,並抓回來填進cache裡的空缺
資料都填滿後就處理完畢
邏輯上是這樣,但是這邊遇到的BUG是
他從資料庫查回來的資料並沒有排序,而程式也沒有比對ID,直接依照抓回來的順序填坑
用他給的舉例來講:
你要查詢的卡片ID是 1 3 5 7 9 (已按大小排序)
手機已經顯示過,存在記憶體裡的卡片資料是 1 3 5 空 9
所以缺了7的資料,就要用②的方式去資料庫查7的資料回來
所以缺了7的資料,就要用②的方式去資料庫查7的資料回來
然而他的查詢語法沒排序(估計table欄位也沒有),所以查回來的資料可能是 9 3 7 1 5
然後程式直接做比對: 1 3 5 空 9
9 3 7 1 5
好,所以他就把1的資料給放進記憶體裡的那個空白去了 (開放吐槽)
所以即使你用 1 3 5 7 9 去查,也會變成查到 1 3 5 1 9 的資料,自然顯示錯誤
而記憶體裡的卡片資料是會因為你APP啟動後的操作而變動的
所以即使你用 1 3 5 7 9 去查,也會變成查到 1 3 5 1 9 的資料,自然顯示錯誤
而記憶體裡的卡片資料是會因為你APP啟動後的操作而變動的
所以上面這個BUG會造成不同人有不同的錯誤顯示
然而如果你去按スカウターボタン,程式會去伺服抓正確的id list回來蓋掉你手機記憶
體裡的資料,就不會有這樣的問題出現
大概是這樣,有錯請指正
--
解BUG超有趣的啦
--
放放鬆鬆心心情情
讓讓那那動動人人的的旋旋律律
聽聽聽聽音音樂樂吧吧
<(┘╴└)>﹍﹍﹍▎ 帶帶走走所所有有的的憂憂愁愁
〈﹨︿ ﹨︿ ╴▅
生命,就該浪費在美美好好的的事事物物上
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.75.122
※ 文章代碼(AID): #1Q3JlOb4 (C_Chat)
※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1510816728.A.944.html
※ 同主題文章:
11-15 11:48 ■ [閒聊] 七龍珠爆裂激戰 炎上中
11-15 23:44 ■ Re: [閒聊] 七龍珠爆裂激戰 炎上中
11-16 12:48 ■ Re: [閒聊] 七龍珠爆裂激戰 炎上中
11-16 13:59 ■ Re: [閒聊] 七龍珠爆裂激戰 炎上中
● 11-16 15:18 ■ Re: [閒聊] 七龍珠爆裂激戰 炎上中
推 : 樓下你信Bandai嗎1F 11/16 15:20
→ : 工程師的角度來看 我信2F 11/16 15:20
推 : 我信,這bug很蠢但不是不可能,因為我碰過更扯的3F 11/16 15:22
如果是快速開發(各種意義上),的確會出現很多意料外的東西推 : 快推不然別人以為我看不懂4F 11/16 15:22
推 : 一夜燒百億5F 11/16 15:23
→ : 以遊戲測試的角度來看,也是有可能會被漏掉沒錯6F 11/16 15:23
→ : 我看的心得也差不多 重點在為什麼DB來的是錯的沒有講7F 11/16 15:24
→ : 因為不管是研發還是qa,他們手上的裝置一定都有完整的資8F 11/16 15:24
→ : 料
→ : 料
推 : 我好奇這包如果是真的 出包工程師會什麼下場10F 11/16 15:24
→ : 所以才會到了玩家手上的裝置才出現問題11F 11/16 15:25
推 : 他不是去server抓喔,sqlite是client端的db12F 11/16 15:30
→ : 他server用sqlite的話也太扯
沒錯,應該是手機內建的,不然查一次就要連回server把所有卡片資料都抓回來也太...→ : 他server用sqlite的話也太扯
敲內文的時候用是想寫的淺一點所以用'資料庫'去代換掉sqlite了,怕有人看不懂
推 : 這種寫法真的蠻奇妙的,第一次看到14F 11/16 15:33
有不少想吐槽的地方,不過就算了,可能寫程式的工程師也沒心力/時間去優化吧先上了能動,後面再說
→ : 大概是把server資料下載後放到sqlite吧15F 11/16 15:34
推 : 如果讓app可以直連db的話就更扯,開不到一分鐘db就爆了吧16F 11/16 15:34
※ 編輯: seaEPC (60.250.75.122), 11/16/2017 15:42:48→ : 這段code有點摸魚摸到大白鯊的感覺,老實一點hash map就17F 11/16 15:37
→ : 好了,結果看起來像是sql cmd忘記加order by id
→ : 好了,結果看起來像是sql cmd忘記加order by id
推 : 每個人看到的卡池不一樣是這次才有的還是一直都有的?19F 11/16 15:39
推 : 這也能信, 我也只是笑笑, 連抽蛋的random部份一點都沒有20F 11/16 15:41
→ : 是在信甚麼, 科科.
→ : 是在信甚麼, 科科.
推 : 寫得看得懂 給推22F 11/16 15:43
→ : 應該說也不是信不信這次的問題 而是之後能不能保證的
→ : 問題 這次他也把石頭全數吐回來+300石了
→ : 應該說也不是信不信這次的問題 而是之後能不能保證的
→ : 問題 這次他也把石頭全數吐回來+300石了
推 : 只是這可以解釋100%嗎?25F 11/16 15:44
推 : 又不是在討論信不信的問題,信不信是沒有答案的26F 11/16 15:44
推 : 抽蛋 random 的肯定是放在 server 端, client 只能收結果27F 11/16 15:45
→ : 這次不信也就罷了 問題是他後台是不是還是那樣很令人28F 11/16 15:45
→ : 就算他把整個server的code給你看,你也可以說他實際跑的29F 11/16 15:45
→ : 不是這些code
→ : 不是這些code
→ : 這篇是在把官方貼的 code 翻成白話文31F 11/16 15:45
推 : 大家是在討論表單出包,不是轉蛋機率問題32F 11/16 15:46
→ : 原文已有說空缺的資料是去裝置的儲存空間抓而非從server載33F 11/16 15:46
→ : 現在就是你無法證明他轉蛋機率是錯的,他也無法證明自己34F 11/16 15:47
→ : 沒動手腳
→ : 沒動手腳
推 : 只要有人貼出來抽到不在表單內的角色,就可以證明只是顯36F 11/16 15:48
推 : 這個可以解釋大家看到的不一樣的資料37F 11/16 15:48
→ : 示錯誤,但這個太難了38F 11/16 15:49
推 : 照這bug的結果就是純粹的表單出包,信不信由你這樣39F 11/16 15:49
→ : @genesic 下一篇就是?40F 11/16 15:50
→ : 就算真的是這BUG,也不能保證它們轉蛋過去不是這樣撈資料。41F 11/16 15:50
→ : 啊沒事 不太一樣42F 11/16 15:50
推 : 另一個角度想啦 官方想賺錢就用很爛的大獎率就好了 像是43F 11/16 15:53
→ : 1%之類的 搞這種東西 要額外弄工程師去搞 還只能多騙一
→ : 點抽到有的大課長的錢 還很容易被大數統計抓出來黑掉
→ : 花額外成本去多賺一點點 風險大到靠杯 這麼智障我是不信
→ : 啦..
→ : 1%之類的 搞這種東西 要額外弄工程師去搞 還只能多騙一
→ : 點抽到有的大課長的錢 還很容易被大數統計抓出來黑掉
→ : 花額外成本去多賺一點點 風險大到靠杯 這麼智障我是不信
→ : 啦..
→ : 人性就是抽越多越會覺得下一抽就中,所以他這樣搞很容易釣48F 11/16 15:55
→ : 到課長。 而且如果不是出這包,想驗證還沒辦法
→ : 到課長。 而且如果不是出這包,想驗證還沒辦法
推 : 這麼智障我是不信? 還是信比較好 智障沒有極限的50F 11/16 15:57
推 : 風險不大呀,機率這東西就是這樣,運氣不好就是抽不到51F 11/16 16:00
→ : 除了痛定思痛把整個轉蛋機制重寫,設個保底機制,不然這信52F 11/16 16:01
→ : 任度危機基本是無解了
→ : 任度危機基本是無解了
推 : 其實營運最喜歡看到的是大家都抽得到而不是大家都抽不到54F 11/16 16:01
→ : 今天他出這包,課長1000抽抽不到也沒辦法證實卡池沒這卡55F 11/16 16:01
→ : 最好是你抽到之後上SNS或論壇狂曬猛曬,這種營運最愛了56F 11/16 16:02
→ : 喜歡大家都抽的到(X) 喜歡大家都課到有(O)57F 11/16 16:02
→ : 營運才不會care玩家抽不抽得到,重點是玩家掏了多少錢。58F 11/16 16:03
→ : 低機率只是想要讓你抽到時有快感,並不是為了讓你抽不到59F 11/16 16:03
推 : 那有沒有可能他資料是從你能抽到的卡池抓結果卡池沒60F 11/16 16:03
→ : 有所以造成資料短缺? 我不懂程式不知能否寫成這樣=3=
→ : 有所以造成資料短缺? 我不懂程式不知能否寫成這樣=3=
推 : 說實在我也信,其實沒必要去分帳號卡池不一樣,62F 11/16 16:04
→ : 大家都抽的到那還幹嘛曬? 保皇派滾63F 11/16 16:04
→ : 你要這樣想我也可以理解囉,大部分玩家都是這樣想64F 11/16 16:04
推 : sqlite的東西應該是in-app更新下載回來的吧 那這樣理論上65F 11/16 16:04
→ : 其實今天營收跟這個卡片吸不吸引人比較有關,跟抽中的機66F 11/16 16:05
→ : 在前篇文章畫虎爛被戳破還來耍屌==67F 11/16 16:05
→ : 率"比較"無關68F 11/16 16:05
→ : 快感 X 投更多錢 O,你搞錯因果了。69F 11/16 16:05
→ : 因為我也沒有證據,一直找不到機率跟營收的相關性70F 11/16 16:06
→ : 如果真的希望玩家都抽得到,設保底就好71F 11/16 16:06
推 : 分池對營運來說不會沒必要,分的好可以增加大量的營收72F 11/16 16:06
→ : 不用再按スカウターボタン重抓server資料重開app就好才對73F 11/16 16:07
→ : 對啊,大陸數字機這方面比較強,都會有保底,日本的很少74F 11/16 16:07
推 : 專業工程師花時間出來解釋,還被說是保皇派75F 11/16 16:07
→ : 這篇的原po好口憐
→ : 這篇的原po好口憐
→ : 還有曬卡這種事,如果大家都有了,曬卡就一點意義都沒有77F 11/16 16:08
→ : 找不到是你搞錯,關鍵字:賭場數學78F 11/16 16:08
→ : 漏字了,大陸遊戲在處理跟數字有關的部分比日本強太多了79F 11/16 16:08
推 : 所以說啦 強化曬卡程度 調整看的到的%數直接簡單多了80F 11/16 16:09
→ : 1%的強卡跟被偷調機率成1%表定5%的強卡 實際抽到的機率
→ : 一樣是1% 但是前者曬度高多了 根本不用去搞什麼偷調
→ : 後者還要被大數檢驗跟課長驗證抓出實際只有1% 風險超大
→ : 1%的強卡跟被偷調機率成1%表定5%的強卡 實際抽到的機率
→ : 一樣是1% 但是前者曬度高多了 根本不用去搞什麼偷調
→ : 後者還要被大數檢驗跟課長驗證抓出實際只有1% 風險超大
→ : 1%喔,很可惜這遊戲的新限定都不到1%XD84F 11/16 16:13
→ : 有甚麼好風險大的,似乎沒搞懂這次問題重點不在機率不實。85F 11/16 16:14
→ : 而是他們搞「動態機率」
→ : 而是他們搞「動態機率」
→ : 而最稀有的LR卡都是約0.04-5%而已87F 11/16 16:15
推 : 我也沒全世界的營運都接觸過,無法證明沒有營運不是這樣88F 11/16 16:15
→ : 也是聽過有不少營運是用直覺不是用數據經營遊戲
→ : 所以我也實在無法反駁
→ : 也是聽過有不少營運是用直覺不是用數據經營遊戲
→ : 所以我也實在無法反駁
→ : 不管直覺或數據都不想讓你都抽中啊,不然他們要吃甚麼。91F 11/16 16:18
→ : 願意給你容易抽中只是怕太多人沒抽到被靠杯而已啦
→ : 願意給你容易抽中只是怕太多人沒抽到被靠杯而已啦
推 : 我懂你的意思啊,我把機率偷偷調低,玩家就會更用力抽93F 11/16 16:23
→ : 這個邏輯非常的直覺
→ : 這個邏輯非常的直覺
推 : 樓上這招有例子啊 GBF的猴娘 結果就是輕鬆抓出來罵翻95F 11/16 16:24
→ : 問題是今天被質疑的這招是搞各個玩家的池子不一樣
→ : 這招的效益完全就莫名其妙了..成本還超高
→ : 問題是今天被質疑的這招是搞各個玩家的池子不一樣
→ : 這招的效益完全就莫名其妙了..成本還超高
→ : 猴妹事件是標註不實,Up角本來就沒說有猴妹98F 11/16 16:26
推 : 這招有例子不代表這招有成功啊99F 11/16 16:27
→ : 現在遊戲這麼多,我相信任何招式應該都會有例子吧
→ : 現在遊戲這麼多,我相信任何招式應該都會有例子吧
→ : 只是讓大家覺得有,然後Cy就搭順風車行銷101F 11/16 16:27
→ : 順勢改出天井+顯示機率讓自己變成佛心公司
→ : 不然Cy這邊站的住腳,也不用怕被告
→ : 玩家還是一樣在玩,那時燒的人沒在玩的還比較多
→ : 順勢改出天井+顯示機率讓自己變成佛心公司
→ : 不然Cy這邊站的住腳,也不用怕被告
→ : 玩家還是一樣在玩,那時燒的人沒在玩的還比較多
→ : 轉蛋就是一種賭博,去搜尋賭場機率就一堆例子了105F 11/16 16:33
推 : 我大海膽太太106F 11/16 16:45
推 : 除非有人能證明他抽出不在清單內的角色 不然官方推給前端說107F 11/16 17:08
→ : 單純是清單顯示異常 實際後台運作沒問題 鬼才信xD
→ : 單純是清單顯示異常 實際後台運作沒問題 鬼才信xD
→ : 這麼多人玩的遊戲,結果目前仍沒人能證實有抽到不在清單109F 11/16 17:36
推 : 先上了再說,以這遊戲來說很有可能是這樣沒錯……110F 11/16 17:52
推 : 我就是因為猴妹炎上70抽才入坑的(ry111F 11/16 19:26
--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 196
回列表(←)
分享