作者gameking5036 (请勿拍打喂食)
看板PokemonGO
标题Fw: [PMGO] 出生时间模式解析:PMGoDEV释疑
时间Wed Sep 7 17:27:49 2016
※ [本文转录自 PokeMon 看板 #1NpDlhiz ]
作者: hdpig (Oo摸西猪oO) 看板: PokeMon
标题: [PMGO] 出生时间模式解析:PMGoDEV释疑
时间: Mon Sep 5 10:43:53 2016
这篇文章源自reddit的PokemonGoDEV板,是一篇八月中旬写出、後来陆续修正的技术文章。要翻完这篇文章真的是烧尽我的文组脑,好多无法理解的逻辑和用字,感谢乡民协助还有姗姗来迟的图示,我总算能稍微理解这篇的概念。可能还是有翻错或是理解错误的地方,也欢迎提出来让我修改。基本上这篇是写给制作地图雷达的程式设计师看的,但一般玩家大概也能从中看出一些端倪和逻辑,有兴趣的可以看看。我也是一个对程式、对Coding没啥概念的人,但这篇我觉得蛮有趣的,所以翻译来给板友看看。
先把这篇结尾的一个重点写在最前面:
以原文作者的理解,
出生点的出生模式和宝可梦的稀有程度并没有任何关系。
以下为全文翻译
==========
目前仍有不少人对於不同宝可梦出生点(或称巢穴)的出生模式感到困惑,而这篇文章就是试图要厘清这些困惑。直到目前为止,
已知有七种出生模式,分别为:
1x15、
1x30、
1x45、
1x60、
2x15(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分钟(
h2、
h3)之间隐藏,和2x15模式很像。第二和第三个十五分钟(
h2、
h3)被加上了隐藏状态。在宝可梦出生後第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%)
值得注意的是,这些数据在乡间和城市之间是有点差距的。
==========
(後面就是一些测试点的座标数据还有写给地图雷达同业作者的一些话,牵涉到不少术语和程式名称,这里就不翻译了。)
(本文感谢
Gaz、
SHINJI、
小那、
炽夜、
♪ポケモン言えるかな?等板友鼎力相助)
本文原文出处:
http://goo.gl/1Bdt3g
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.50.143
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PokeMon/M.1473043435.A.B3D.html
※ 编辑: hdpig (140.112.50.143), 09/05/2016 10:50:37
1F:推 FatFatDer: 懒人包:地图上来不及进入战斗画面 结果消失,有3-5% 09/05 10:56
2F:→ FatFatDer: 的机率等个15分钟会再出 09/05 10:56
3F:推 Samuellu: 宝可梦系...XDD 09/05 11:06
4F:推 yys310: 先推 09/05 11:18
5F:推 brominelove: 好文 09/05 11:21
6F:推 horseorange: 推 09/05 11:30
7F:推 Wolfken: 1X60h2 h3後面的无效TTH值看不太懂,在第一个有效期以及隐 09/05 11:50
8F:→ Wolfken: 藏期後,之後到底还会不会看得到? 09/05 11:51
9F:→ Wolfken: 还有我怎麽知道现在这个是哪一种,同一个点模式会变吗? 09/05 11:51
10F:推 Wolfken: 另外照这说法,野生点不管哪一种都是60分钟重生一次,可是y 09/05 11:54
11F:→ Wolfken: 像我家後面几个点,绝对不到60分钟会重生了,可能15~30分就 09/05 11:54
12F:→ Wolfken: 生一只怪,也不是没抓所以再出现,都有抓到 09/05 11:55
13F:推 molukino: 他是说每一只 不是说每一点60分钟 09/05 11:57
14F:推 molukino: 所有出生点只会在每个小时的同一个时间出生一只宝可梦 09/05 12:00
15F:→ molukino: 代表的是同一时间点只会出一只 不是一个小时才出一只 09/05 12:00
16F:→ molukino: 反正在有效期你才看的到,其他都算隐藏 你可以当它消失 09/05 12:00
17F:推 molukino: 无效TTH值代表时间超过15分钟,要小於等於15分才会有效 09/05 12:03
18F:→ molukino: 你地图上面才会看的到 09/05 12:03
19F:推 yys310: 所以说地图上常看到迷你龙在同样地点重生也可能只是同一只 09/05 12:10
20F:→ yys310: 罗......感觉真容易扑空 09/05 12:10
21F:→ hdpig: 应该说是雷达误判、误以为是又重生一只 事实上是同一只 09/05 12:11
22F:→ coldwind0912: 也就是说 同一出生点的出生模式是固定的 ? 09/05 12:22
23F:推 Wolfken: 可是像迷你龙之类的,也不是一小时就会固定再出来呀,有时 09/05 12:23
24F:→ coldwind0912: 但该出生点 会生出什麽怪 又是另一个随机机率? 09/05 12:23
25F:→ Wolfken: 等好几小时才一只,所以是说每小时重生一次,但不一定重生 09/05 12:23
26F:→ Wolfken: 同一只? 09/05 12:23
27F:→ coldwind0912: w大 同一点可能出的怪 不止一种 但时间模式可能一样 09/05 12:35
这应该是比较合理的解释,同一个点会出现的怪不只一种(实际上我也碰过),
但出现的时间模式理论上会是一样的。
28F:→ kachy: 重生雷达还会扫到吗,前天北投喷火龙跟昨天快龙消失後一小时 09/05 12:35
29F:→ kachy: 内雷达都没再出现,卡比我再现场等了半小时都没有出现 09/05 12:36
重生後会不会被扫到,那应该要看各家雷达的作者功力,
但你期待的喷火龙或是卡比兽在下一个小时会不会再次出现,
是因为下一个小时出现的可能是别只,相同的只有出生时间模式,
生出哪种宝可梦则是不一定的。
※ 编辑: hdpig (140.112.50.143), 09/05/2016 12:38:13
30F:推 linsingpark: 是高清____! 09/05 12:38
31F:→ hdpig: 是联__公园! 09/05 12:39
※ 编辑: hdpig (140.112.50.143), 09/05/2016 12:42:44
32F:→ st12231: 酷耶! 09/05 12:59
33F:推 nadoka: 其实有人解出伺服器回传的资料除了pokestop以外还有重生点 09/05 13:25
34F:推 widec: 所以等15分钟没出来就不用再等了吧 09/05 13:35
35F:推 fankay: 隐藏是指对雷达隐形,但人走过去还是会有的意思吗? 09/05 13:42
36F:推 satan04: 好文推推 09/05 14:09
37F:→ hdpig: 隐藏就是完全隐藏 理论上在那边 但官方伺服器把它设为隐藏 09/05 14:10
38F:推 nadoka: 怪在那边但伺服器会回传无效值给你 09/05 14:13
39F:→ nadoka: 神奇宝贝隐藏 神隐(?) 09/05 14:14
40F:推 goshfju: 太强了 09/05 14:30
41F:→ gcobc12632: 之前在北投遇到快龙 我抓到後 朋友的则是被逃跑 09/05 14:38
42F:→ gcobc12632: 过几分钟後 附近地点又出现一只快龙 但朋友搜寻不到 09/05 14:39
43F:→ gcobc12632: 这是正常的吗?(MESH跟GORADAE都有搜到) 09/05 14:39
感觉是2x15模式,除非是自己离开捕捉画面,否则「抓到」跟「被逃走」
都会被视为已经捕捉过了,而已经捕捉过的是不会再次出现的。
你说雷达有搜到,那就是我在原文翻译中提到的「被雷达误认为是两只不同宝可梦」
但此时若是又有一个第三者,他没有遭遇到上一次的快龙,
那他是能看到第二次出现的快龙的,因此理论上雷达也并没有错。
※ 编辑: hdpig (140.112.50.143), 09/05/2016 14:44:12
44F:推 birdy590: 现在开发 scanner 的应该都知道了, 资料库 key 要改一下 09/05 14:57
45F:→ birdy590: 从 id 很容易比对出是同一只, 就看程式怎麽设计 09/05 14:57
46F:→ gcobc12632: 所以…被逃走之後 是搜寻不到重生(2*15)的? 09/05 15:40
47F:→ gcobc12632: 原来被逃走也视为已经抓过 看来只能帮朋友QQ了 09/05 15:42
48F:→ birdy590: 同一只怪机会只有一次~ 跟一般差别只在中间15分钟隐藏 09/05 15:42
49F:推 iamaq18c: 好可怕的研究... 09/05 16:37
50F:推 sd106: 闪退造成的话算逃跑吗? 因为手机不给力常常抓到一半闪退 09/05 17:29
51F:→ sd106: 不晓得要不要等等看 09/05 17:29
52F:→ birdy590: 闪退在一般怪上面就可以试了 状况不会有差别 09/05 17:30
53F:推 tedc21thc: 似乎没有办法在 1x45h2 这个模式的pokemon第一次出现 09/05 17:41
54F:→ tedc21thc: 时判别出它的模式? 09/05 17:42
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: gameking5036 (210.202.55.13), 09/07/2016 17:27:49
55F:→ gameking5036: 重生怪的时间点,基本上等超过就不会出了 09/07 17:30
56F:推 nimeancoa: 跪了 09/07 17:49
57F:推 kinomon: 补血 09/07 17:55
58F:推 ccchenny: 今天我还回PM版找这篇..没想到就有人转过来了XD 09/07 18:26
59F:推 mepass: 对一般玩家来说只要知道 09/07 18:40
60F:→ mepass: 间隔15分钟出现的怪可能是同一只 抓过或逃跑就不会再出现 09/07 18:40
61F:→ mtwtfss: TLDR? 09/07 18:49
62F:推 cpbug: 推!!然後试过几次稀有宠的出现刚好当机,再进程式稀有宠消 09/07 19:41
63F:→ cpbug: 失 09/07 19:41