Fw: [PMGO] 出生時間模式解析:PMGoDEV釋疑

看板PokemonGO作者 (請勿拍打餵食)時間7年前 (2016/09/07 17:27), 7年前編輯推噓5(504)
留言9則, 7人參與, 最新討論串1/1
※ [本文轉錄自 PokeMon 看板 #1NpDlhiz ] 作者: hdpig (Oo摸西豬oO) 看板: PokeMon 標題: [PMGO] 出生時間模式解析:PMGoDEV釋疑 時間: Mon Sep 5 10:43:53 2016 這篇文章源自reddit的PokemonGoDEV板,是一篇八月中旬寫出、後來陸續修正的技術文章。要翻完這篇文章真的是燒盡我的文組腦,好多無法理解的邏輯和用字,感謝鄉民協助還有姍姍來遲的圖示,我總算能稍微理解這篇的概念。可能還是有翻錯或是理解錯誤的地方,也歡迎提出來讓我修改。基本上這篇是寫給製作地圖雷達的程式設計師看的,但一般玩家大概也能從中看出一些端倪和邏輯,有興趣的可以看看。我也是一個對程式、對Coding沒啥概念的人,但這篇我覺得蠻有趣的,所以翻譯來給板友看看。 先把這篇結尾的一個重點寫在最前面: 以原文作者的理解,出生點的出生模式和寶可夢的稀有程度並沒有任何關係以下為全文翻譯 ========== 目前仍有不少人對於不同寶可夢出生點(或稱巢穴)的出生模式感到困惑,而這篇文章就是試圖要釐清這些困惑。直到目前為止,已知有七種出生模式,分別為:1x151x301x451x602x15(1x45h2)1x60h2以及1x60h3等模式。目前已被發現的所有出生點,都有一個六十分鐘的出生頻率,而最新的一種可能、也是目前還沒被觀測出來的出生模式,頻率可能為1x60h23。 數值「Invalid values for time_till_hidden_ms」 (或是縮寫TTH)time till hidden 直翻是「還有多久隱藏」或「剩多久消失」 大部分的人不了解不同出生模式的差異,原因在於Niantic的伺服器「通常」會送出一個寶可夢會在某個地方待多久的指令,這個指令就稱為「剩多久消失」(TTH)指令。但是,當這個時間指令大於 15 分鐘時,它就會改傳送一組無效參數。(並非送出一個範圍值,而是類似nearby雷達般、在超過201 公尺時回傳一個無效值)不同的掃描器(或稱第三方雷達)是以不同的方式在處理的,有些是直接不顯示參數為負值的寶可夢,這是最差的解決方式;而有些則是直接顯示剩下十五分鐘,這也只是權宜之計。有時就算真的顯示在地圖上了,資料仍有可能不會被寫進database資料庫,這種狀況下只會讓寶可夢實際出現時間、甚至是出生時間更難以計算。 另一種解讀TTH的方式是:其實伺服器並不是送出一個出生時間值,而是針對出生點、一個十五分鐘內還沒有任何寶可夢出生過的點,並對這個點送出有效值。 【已知規律】 .所有出生點只會在每個小時的同一個時間出生一隻寶可夢,例如16時13分32秒、17時13分32秒…以此類推。 .「1x15」模式:大家都知道的規律出生點,時間模式為出生一隻停留十五分鐘的寶可夢,也就是正巧為有效TTH值。 .「1x30」模式:出生一隻停留三十分鐘的寶可夢,但有效的TTH值只在最後十五分鐘。 .「1x45」模式:出生一隻停留四十五分鐘的寶可夢,但有效的TTH值只在最後的十五分鐘。 .「1x60」模式:出生一隻停留六十分鐘的寶可夢,但有效的TTH值可能會在任何一個時間點發生! ▲譯者按:接下來的模式解說,每個小時都以十五分鐘為間隔,分別定義第0至第15分鐘稱為「h1」、第15至30分鐘為「h2」,以此類推「h3」。 .「2x15」模式,或稱「1x45h2」模式:看起來像是在一個小時內出生了兩隻名稱相同、各停留十五分鐘的寶可夢,但事實上這裡只有一隻寶可夢,而且是一隻停留四十五分鐘的寶可夢,只是在出生後的第15到第30分鐘h2會被隱藏起來; 由於同一組ID(或稱數值)的寶可夢只能收服一次,因為其實根本就是同一隻。但在隱藏的這段時間,並不會回傳數據到伺服器。這模式中有一組所有時間內都有效的TTH值,但這個值會影響到接下來的隱藏時間。舉例來說,在出生後兩分鐘,雷達偵測顯示「剩餘13分鐘」,也就是在隱藏狀態前所剩餘的時間,隱藏時間一到,它就會被隱藏十五分鐘,直到出生後的第三十分鐘才會再次出現。如果雷達在寶可夢出生後第32分鐘掃描到它,它就會再次顯示「剩餘13分鐘」,這也是常被誤認為是1x15模式或是被視為是兩隻不同寶可夢的原因。 .「1x60h2」模式:出生一隻停留六十分鐘的寶可夢,在出生後第15至第30分鐘之間(h2)隱藏,和2x15模式很像。第二個十五分鐘(h2)被加上了隱藏狀態,邏輯上和2x15模式的時間點相同,也可以被稱為1x45h2模式。這模式中,在寶可夢出生後的第0到第15分鐘間有一組有效的TTH值,而在出生後的第30至第60分鐘之間有數組無效的TTH值。 .「1x60h3」模式:出生一隻停留六十分鐘的寶可夢,在出生後的第30至第45分鐘之間(h3)隱藏,和2x15模式很像。第三個十五分鐘(h3)被加上了隱藏狀態。這個模式中,在寶可夢出生後的第15至第30分鐘有一組有效的TTH值,在第0至第15分鐘和第45至第60分鐘之間各有數組無效的TTH值。 .「1x60h23」模式:這種模式其實尚未被發現,所以可能存在也可能不存在。但他是被發現可能存在的最新一種60分鐘模式,目前出生點已經被找到了,我也許會將它歸類為已完成解析的模式。這個點會出生一隻停留六十分鐘的寶可夢,在出生後的第15至第45分鐘(h2h3)之間隱藏,和2x15模式很像。第二和第三個十五分鐘(h2h3)被加上了隱藏狀態。在寶可夢出生後第0至第15分鐘有一組有效的TTH值,第45至第60分鐘之間有一組無效的TTH值。 這裡有一張視覺化之後的簡圖: http://i.imgur.com/aNiIeam.jpg
(圖是在只有發現六種模式時的舊圖,因此沒有列出第七及可能存在的第八種模式) 【統計數據】 人們無法理解不同出生模式的另一個原因,是由於其出生點的罕見程度所致,所以以下是一些統計數據。這是連續三個小時、以低於十分鐘的頻率所掃出來的結果,之所以測三個小時,是因為這是用來區分已知七種模式和最新一種模式所需的最低時數。 我的數據是掃描德國某地區(這個地區包含了一座城市,是個鄉間和城市混合的區域,面積約650平方公里): [+] 出生點總數:14,187 [+] 1x15模式出生點總數:11,695(佔82.43%) [+] 1x30模式出生點總數:1,303(佔9.18%) [+] 1x456模式出生點總數:285(佔2.01%) [+] 1x60模式出生點總數:204(佔1.44%) [+] 2x15模式出生點總數:683(佔4.81%) [+] 1x60h2模式出生點總數:7(佔0.05%) [+] 1x60h3模式出生點總數:10(佔0.07%) [+] 未定義模式出生點總數:0(佔0%) 以及應該是澳洲的網友c00ni測得的數據: [+] 出生點總數:2,324 [+] 1x15模式出生點總數:2,081(佔89.54%) [+] 1x30模式出生點總數:150(佔6.45%) [+] 1x45模式出生點總數:13(佔0.56%) [+] 1x60模式出生點總數:0(佔0%) [+] 2x15模式出生點總數:80(佔3.44%) [+] 1x60h2模式出生點總數:0(佔0%) [+] 1x60h3模式出生點總數:0(佔0%) [+] 未定義模式出生點總數:0(佔0%) 值得注意的是,這些數據在鄉間和城市之間是有點差距的。 ========== (後面就是一些測試點的座標數據還有寫給地圖雷達同業作者的一些話,牽涉到不少術語和程式名稱,這裡就不翻譯了。) (本文感謝GazSHINJI小那熾夜♪ポケモン言えるかな?等板友鼎力相助) 本文原文出處:http://goo.gl/1Bdt3g -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.50.143 ※ 文章網址: https://www.ptt.cc/bbs/PokeMon/M.1473043435.A.B3D.html ※ 編輯: hdpig (140.112.50.143), 09/05/2016 10:50:37

09/05 10:56, , 1F
懶人包:地圖上來不及進入戰鬥畫面 結果消失,有3-5%
09/05 10:56, 1F

09/05 10:56, , 2F
的機率等個15分鐘會再出
09/05 10:56, 2F

09/05 11:06, , 3F
寶可夢系...XDD
09/05 11:06, 3F

09/05 11:18, , 4F
先推
09/05 11:18, 4F

09/05 11:21, , 5F
好文
09/05 11:21, 5F

09/05 11:30, , 6F
09/05 11:30, 6F

09/05 11:50, , 7F
1X60h2 h3後面的無效TTH值看不太懂,在第一個有效期以及隱
09/05 11:50, 7F

09/05 11:51, , 8F
藏期後,之後到底還會不會看得到?
09/05 11:51, 8F

09/05 11:51, , 9F
還有我怎麼知道現在這個是哪一種,同一個點模式會變嗎?
09/05 11:51, 9F

09/05 11:54, , 10F
另外照這說法,野生點不管哪一種都是60分鐘重生一次,可是y
09/05 11:54, 10F

09/05 11:54, , 11F
像我家後面幾個點,絕對不到60分鐘會重生了,可能15~30分就
09/05 11:54, 11F

09/05 11:55, , 12F
生一隻怪,也不是沒抓所以再出現,都有抓到
09/05 11:55, 12F

09/05 11:57, , 13F
他是說每一隻 不是說每一點60分鐘
09/05 11:57, 13F

09/05 12:00, , 14F
所有出生點只會在每個小時的同一個時間出生一隻寶可夢
09/05 12:00, 14F

09/05 12:00, , 15F
代表的是同一時間點只會出一隻 不是一個小時才出一隻
09/05 12:00, 15F

09/05 12:00, , 16F
反正在有效期你才看的到,其他都算隱藏 你可以當它消失
09/05 12:00, 16F

09/05 12:03, , 17F
無效TTH值代表時間超過15分鐘,要小於等於15分才會有效
09/05 12:03, 17F

09/05 12:03, , 18F
你地圖上面才會看的到
09/05 12:03, 18F

09/05 12:10, , 19F
所以說地圖上常看到迷你龍在同樣地點重生也可能只是同一隻
09/05 12:10, 19F

09/05 12:10, , 20F
囉......感覺真容易撲空
09/05 12:10, 20F

09/05 12:11, , 21F
應該說是雷達誤判、誤以為是又重生一隻 事實上是同一隻
09/05 12:11, 21F

09/05 12:22, , 22F
也就是說 同一出生點的出生模式是固定的 ?
09/05 12:22, 22F

09/05 12:23, , 23F
可是像迷你龍之類的,也不是一小時就會固定再出來呀,有時
09/05 12:23, 23F

09/05 12:23, , 24F
但該出生點 會生出什麼怪 又是另一個隨機機率?
09/05 12:23, 24F

09/05 12:23, , 25F
等好幾小時才一隻,所以是說每小時重生一次,但不一定重生
09/05 12:23, 25F

09/05 12:23, , 26F
同一隻?
09/05 12:23, 26F

09/05 12:35, , 27F
w大 同一點可能出的怪 不止一種 但時間模式可能一樣
09/05 12:35, 27F
這應該是比較合理的解釋,同一個點會出現的怪不只一種(實際上我也碰過), 但出現的時間模式理論上會是一樣的。

09/05 12:35, , 28F
重生雷達還會掃到嗎,前天北投噴火龍跟昨天快龍消失後一小時
09/05 12:35, 28F

09/05 12:36, , 29F
內雷達都沒再出現,卡比我再現場等了半小時都沒有出現
09/05 12:36, 29F
重生後會不會被掃到,那應該要看各家雷達的作者功力, 但你期待的噴火龍或是卡比獸在下一個小時會不會再次出現, 是因為下一個小時出現的可能是別隻,相同的只有出生時間模式, 生出哪種寶可夢則是不一定的。 ※ 編輯: hdpig (140.112.50.143), 09/05/2016 12:38:13

09/05 12:38, , 30F
是高清____!
09/05 12:38, 30F

09/05 12:39, , 31F
是聯__公園!
09/05 12:39, 31F
※ 編輯: hdpig (140.112.50.143), 09/05/2016 12:42:44

09/05 12:59, , 32F
酷耶!
09/05 12:59, 32F

09/05 13:25, , 33F
其實有人解出伺服器回傳的資料除了pokestop以外還有重生點
09/05 13:25, 33F

09/05 13:35, , 34F
所以等15分鐘沒出來就不用再等了吧
09/05 13:35, 34F

09/05 13:42, , 35F
隱藏是指對雷達隱形,但人走過去還是會有的意思嗎?
09/05 13:42, 35F

09/05 14:09, , 36F
好文推推
09/05 14:09, 36F

09/05 14:10, , 37F
隱藏就是完全隱藏 理論上在那邊 但官方伺服器把它設為隱藏
09/05 14:10, 37F

09/05 14:13, , 38F
怪在那邊但伺服器會回傳無效值給你
09/05 14:13, 38F

09/05 14:14, , 39F
神奇寶貝隱藏 神隱(?)
09/05 14:14, 39F

09/05 14:30, , 40F
太強了
09/05 14:30, 40F

09/05 14:38, , 41F
之前在北投遇到快龍 我抓到後 朋友的則是被逃跑
09/05 14:38, 41F

09/05 14:39, , 42F
過幾分鐘後 附近地點又出現一隻快龍 但朋友搜尋不到
09/05 14:39, 42F

09/05 14:39, , 43F
這是正常的嗎?(MESH跟GORADAE都有搜到)
09/05 14:39, 43F
感覺是2x15模式,除非是自己離開捕捉畫面,否則「抓到」跟「被逃走」 都會被視為已經捕捉過了,而已經捕捉過的是不會再次出現的。 你說雷達有搜到,那就是我在原文翻譯中提到的「被雷達誤認為是兩隻不同寶可夢」 但此時若是又有一個第三者,他沒有遭遇到上一次的快龍, 那他是能看到第二次出現的快龍的,因此理論上雷達也並沒有錯。 ※ 編輯: hdpig (140.112.50.143), 09/05/2016 14:44:12

09/05 14:57, , 44F
現在開發 scanner 的應該都知道了, 資料庫 key 要改一下
09/05 14:57, 44F

09/05 14:57, , 45F
從 id 很容易比對出是同一隻, 就看程式怎麼設計
09/05 14:57, 45F

09/05 15:40, , 46F
所以…被逃走之後 是搜尋不到重生(2*15)的?
09/05 15:40, 46F

09/05 15:42, , 47F
原來被逃走也視為已經抓過 看來只能幫朋友QQ了
09/05 15:42, 47F

09/05 15:42, , 48F
同一隻怪機會只有一次~ 跟一般差別只在中間15分鐘隱藏
09/05 15:42, 48F

09/05 16:37, , 49F
好可怕的研究...
09/05 16:37, 49F

09/05 17:29, , 50F
閃退造成的話算逃跑嗎? 因為手機不給力常常抓到一半閃退
09/05 17:29, 50F

09/05 17:29, , 51F
不曉得要不要等等看
09/05 17:29, 51F

09/05 17:30, , 52F
閃退在一般怪上面就可以試了 狀況不會有差別
09/05 17:30, 52F

09/05 17:41, , 53F
似乎沒有辦法在 1x45h2 這個模式的pokemon第一次出現
09/05 17:41, 53F

09/05 17:42, , 54F
時判別出它的模式?
09/05 17:42, 54F
※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: gameking5036 (210.202.55.13), 09/07/2016 17:27:49

09/07 17:30, , 55F
重生怪的時間點,基本上等超過就不會出了
09/07 17:30, 55F

09/07 17:49, , 56F
跪了
09/07 17:49, 56F

09/07 17:55, , 57F
補血
09/07 17:55, 57F

09/07 18:26, , 58F
今天我還回PM版找這篇..沒想到就有人轉過來了XD
09/07 18:26, 58F

09/07 18:40, , 59F
對一般玩家來說只要知道
09/07 18:40, 59F

09/07 18:40, , 60F
間隔15分鐘出現的怪可能是同一隻 抓過或逃跑就不會再出現
09/07 18:40, 60F

09/07 18:49, , 61F
TLDR?
09/07 18:49, 61F

09/07 19:41, , 62F
推!!然後試過幾次稀有寵的出現剛好當機,再進程式稀有寵消
09/07 19:41, 62F

09/07 19:41, , 63F
09/07 19:41, 63F
文章代碼(AID): #1NpzsNIl (PokemonGO)