Temple Run的终点
好久不更新了,一是懒,二是忙。国庆八天不做作业的后果就是这一周狂补作业。于是即使到现在我的作业都还没有补完,先不管了,来更新一篇吧。
忙里偷闲,这几天一直在玩Temple Run,有空就刷上几局。正巧的是,最近关于Temple Run有无终点的讨论又热烈起来了。有人说跑到5亿分就能看到终点,原状态是这样的:“最后主人公逃出森林,重返繁华大都市。终点需要跑到5亿分,而5亿分需要不死且狂吃金币不间断跑48小时以上。。。。高潮是,全球已经有上百人跑到了终点……这尼玛算是一种修行么……”还有理有据的发了张所谓的终点图。如下:
这都跑到上海来了,明显不科学,虽然这图看上去毫无PS痕迹。
这尼玛我一开始还傻乎乎的信了,后来越觉得不对劲,这怎么可能有终点,怎么可能有终点,怎么可能有终点呢??
伴随着我的质疑,又看到了一篇文章,文章作者通过Android程序调试的方式修改了Temple Run的计数器,直接将分数改到了5亿,但是奇迹并没有发生,主人公还在跑。这尼玛是开玩笑么?终点呢?
我们来摘录几段原文(原文地址):
先来看看Temple Run的得分规则:
Temple Run 的得分由以下两个部分组成:
基本得分、倍数
最终我们看到的得分实际上是基本得分乘以倍数得到的。
基本得分又由以下几个部分组成:
距离得分、金币得分、奖励得分
距离得分=你跑的距离(单位:m)
金币得分=你所得到的金币数*5(注意红色金币算2个,蓝色金币算3个,不过游戏已经帮我们计算好了)
奖励得分:主要来自游戏右边的金币条,每次充满可以奖励一定分数,具体得分规则未知,大概每够100金币次在600-1000左右
经过测试,正常情况下,每秒可以跑约15米,平均1000米金币数量大概在200-250个(个数,而不是金币换算后的总额)
现在计算一下500,000,000分数需要多长时间:
假设玩家全程所有金币全部吃掉,从来没有掉下去,倍数为52x(我的是1.8版本,正常的52x)
那么用总分除以倍数可得所需的基本得分:500,000,000/52=9,615,385
每1000米250个金币,每4000米就是1000个金币,共有10次奖励得分,可得这4000迷的分数为:
1000*5+4000+10*1000=19,000
所需时间为:4000/15=267 s
平均每秒得分:19,000/267=71.16
那么所需时间为:135,123s 即37.53小时。所以达到这个分数最短只要38个小时。(我去,这也很坑啊!)
虽然游戏可以暂停,但是这样一个休闲游戏,即使抛开难度不谈,跑这么长时间才有从逻辑上不合理。
当然,为了科学,我们假设这样奇葩的设计是可以被接受的,那么就需要实际验证究竟5亿究竟能不能到达都市。
那么,要达到5亿这个分数,我们肯定不会疯狂的晚上37.53个小时以上。其实,通过Android程序调试的方法,很容易可以操纵游戏中的数据,比如,我们可以将游戏倍数调成10,000,把一个金币的基本得分调成10,000。。。不过这些来的都不是很快,笔者这里将游戏的初试分数设定在9亿多~考虑到以上提出的分数组成,必须要分数符合游戏本身的评分规则才可以。笔者游戏的倍数目前是52,于是将游戏距离初始值设置为2,678,923,将金币的初始值设置为:2,680,000 ,基本分设置为:18,752,461 那么基本分的组成为2,678,923+2,680,000*5+其他各类加分,不存在金币数*5超过基本分或金币严重不足的情况。我们看一看结果怎么样。
我们的角色依旧跑啊跑……尼玛这是坑爹呢,哪有什么大都市!
不过为了科学,我们假设传闻的5亿分数是不准确的,实际的重点存在于分数比5亿更高的地方。那么现在需要考虑的问题就是这个游戏最高可以达到多少分。
首先明确该游戏需要的是玩家的手眼协调及手眼反应能力。那么,手眼协调方面,我们假设玩家喝了1000瓶红牛……每次都完美无错,那么就只剩反应速度了。目前已知最快的手眼反应速度是0.2s即200ms。游戏的迷宫是根据几种基本结构随机组合而成的。在多次试验中,发现可能存在长度恰好等于一般角色跳跃范围的沟壑,不过出现的概率较低,平均每10,000m出现一个。一个急转紧接着一个沟壑的组合出现概率后期平均约为3,000m一个,由此可推算出二者组合出现的频率为每30,000,000m一个(其实实际上的频率要比这个高得多),当出现如下组合的时候,所需反应时间实际上小于0.2秒(转过去后马上就要跳,两个动作间隔若超过100ms即有坠落危险。)那么这种情况下基本上不可能避免坠落。不过我们还有翅膀,可以让我们的角色复生。好吧,假设我们的翅膀是无限的,它仍然有60s的冷却时间,那么我们60s内遇到两次这样组合的概率是多少呢?
首先要计算遇到一次这样的组合大概所需时间30,000,000/15=2,000,000s 也就是说,在任何一秒内我们遇到一次这样组合的概率为0.0000005,那么60s内有2s或2s以上遇到这种组合的概率为1-0.0000005*0.9999995-0.9999995=0.00000000000025 也就是说,我们平均跑4,000,000,000,000s的时候就可以遇到这样的一个组合。。。所对应分数为284,640,000,000,000。为了达到这个分数我们需要跑126,839.16793505834601725012683917年。。。当然其实这个数字可能更大,因为这种情况发生的时候可能远大于这个游戏时间……(时间不是问题,我们可以秉承愚公移山的精神,子子孙孙无穷尽矣~~~)
当然,其实上面有关手眼协调与反应的分析只不过是提供一下这个游戏终结情况的庞大可能性之一,科学性不高,仅供娱乐~
下面,让笔者带你进入本游戏最坑爹的部分!
既然获得284,640,000,000,000这种算法不是很靠谱的,我们就需要从游戏本身下手。
笔者用的是android平台测试游戏,故利用该游戏的Java代码来作分析。
成功提取代码后,笔者发现该游戏分数这个变量为int类型,Java中的int类型长度为4字节。这就意味着,分数这个变量的取值范围是-2147483647~2147483647,也就是说该游戏可能达到的最高分数实际上就是2147483674(坑爹呢不是……别急,还有更坑的!)那么是不是达到了这个分数我们角色就会到达大都市了吗?我们再次利用程序调试的方式将初始分数调成2147483647,然后一跑……
尼玛,分数变成负的了有木有!!!
实际上就是4字节的int变量不够用了,由于int类型变量是有符号的,2147483647的二进制代码是
0111 1111 1111 1111 1111 1111 1111 1111 再加一就变成了1000 0000 0000 0000 0000 0000 0000 0000
第一位是符号位有木有,变成1就代表负数了有木有!!!!
于是,这个游戏不仅仅没有大都市,而且当玩家愤然跑到最高分的瞬间会变成负分啊有木有!!!!
摘录结束,继续我们的讨论。其实我们完全可以问,既然作者可以通过调试直接改分数,那为何不能直接看看Temple Run的代码里有没有关于终点的代码呢?
好吧,我们先回归一下文章最初那张图片,刚开始我们说,这图看上去毫无PS痕迹,但其实,稍微仔细一看,就会发现满满的都是PS痕迹。以不很专业的3D动画基础判断,这幅图是利用Maya或者3D等软件独立渲染出来的学员作品。之所以说是学员作品,是因为这幅图的水面效果做的很一般,水的材质有问题,只有反射效果没有折射效果,并且没有加入物理学特效,一点水波纹都没有。那么首先来说否定了神庙逃亡的终点是图中这个德行,也就是说这张图纯属意淫之作。
再次,首次进入游戏时,每奔跑1米便获得10分,而随着游戏内获得金币数量的增加,这一比例会加大。这就意味着,随着游戏时间的增加,这一比例能够越变越大,也就是说每次的分数都应该是成递增形式增长的,那么相同时间内获得的分数是有差异的,所以48小时内获得的分数有可能24小时就可以完成。那么文章开头那条状态显然是假的。
Temple Run的“终点”
其实在神庙逃亡刚刚上市时,就有玩家在询问这款游戏是否有终点了,只能说游戏内那个逃离神庙的道路是没有终点的,但是游戏本身是有终点的。
看App Store 里面游戏的简介就知道这是没有尽头的了。
很多人说这个终点是游戏的彩蛋,但其实游戏真正的彩蛋是在开启教学模式后,游戏的第一个右转弯时连续向右快速滑动三下,这时玩家会进入一条没有尽头也没有金币的长廊,这时除非你想死,否则将会一路安全的跑下去。不过这个彩蛋只限于iOS版的神庙逃亡。
游戏真正的终点
作为一款游戏而言,神庙逃亡的终点就是当玩家完成了所有的成就,以及用自己赚到的金币购买了全部的人物形象和增值壁纸之后,就到达了这款游戏的“终点”,当然不要用修改器速成,这样会大大丢失游戏本身的乐趣,虽然收集其这些道具可能真的要有5亿分的累计分数,但是却远没有传说中那样遥不可及。
Ps。游戏内成就系统的最高米数成就、最高分数成就都只有1千万,这也就再次证明了5亿分的传说只是浮云。
文章来自:Temple Run的终点
Temple Run的终点相关推荐
- 夫妻搭档创业难?看看Temple Run怎么做到的
[导读]他们承认,在这种双重身份下,作为伙伴并不总是一帆风顺,但谢珀德和卢克亚诺娃可以相互依靠. <神庙逃亡2>游戏也已经推出(腾讯科技配图) 腾讯科技讯(小贝)北京时间1月18日消息,据 ...
- 《Temple Run》系列衍生放置cq9电子游戏《Temple Run:Idle Explorers》于双平台推出试玩
由 Imangi Studios 推出,<Temple Run>系列衍生放置cq9游戏新作<Temple Run:Idle Explorers>(iOS / Android)已 ...
- 【产品测评】神庙逃亡2(Temple Run 2) 游戏测评
<神庙逃亡2>继承<神庙逃亡>的优良传统,在跑酷类游戏中,深受玩家喜爱,积累了大批玩家.之前的版本<神庙逃亡>下载量已经突破1.7亿次. 首先看AppStore上的 ...
- DeepMind用ReinforcementLearning玩游戏
原文 : http://dataunion.org/?p=639 1.引言 说到机器学习最酷的分支,非Deep learning和Reinforcement learning莫属(以下分别简称DL和 ...
- 看DeepMind如何用Reinforcement learning玩游戏
看DeepMind如何用Reinforcement learning玩游戏 说到机器学习最酷的分支,非Deep learning和Reinforcement learning莫属(以下分别简称DL和R ...
- 2012第27周移动APP推荐
经历了大作比较多的两周,本周的iOS移动应用市场则回归平淡,没有特别亮眼的游戏大作发布,应用方面也只是拼啦,百合两款网站的移动端发布,而与iOS相比,得益于前段时间的积累,Andoird平台则有不少i ...
- Atari 2600 新书:主机游戏的一次黎明冒险
Jamie Lendino发表于 2018 年 6 月 6 日下午 12:26 汽车Atari 2600 单枪匹马地向大众推出了家庭视频游戏. ExtremeTech 主编杰米·伦迪诺 (Jamie ...
- 2015年上半年最受欢迎的应用和游戏
2015年上半年最受欢迎的应用和游戏 游戏<我的世界:移动版>高居付费iOS应用榜首,<你说我猜>排名第二. 以下为15大免费iOS应用详细榜单: 1. <糖果粉碎传奇& ...
- 保卫萝卜游戏开发者:先做新游戏再拓展商业模式
"愤怒的小鸟"."水果忍者"."植物大战僵尸".Temple Run--在苹果的应用商店里,能称得上是"爆款"的手机游戏 ...
最新文章
- 【Foreign Key】Oracle外键约束三种删除行为
- pythonc语言结构_C语言结构体笔记
- AndroidL分析之Keyguard
- @Autowired注解实现原理
- 表1 中的值 给表2
- Linux Systemcall By INT 0x80、Llinux Kernel Debug Based On Sourcecode
- Babel下的ES6兼容性与规范
- C/C++通过WMI和系统API函数获取获取系统硬件配置信息(转)
- python协程,asyncIO
- matlab描点连线及坐标轴里外颜色改变
- Hexo+Next主题的一些实用插件和美化升级
- html网页制作代码大全表白 html表白代码大全可复制,浪漫的html表白特效网页制作源代码
- Linux一键安装部署环境
- 计算机音乐数字谱铃舟,天涯明月刀手游音乐曲谱大全 天涯明月刀曲谱大全简单图片...
- win10 安装kali子系统
- 算法设计与分析大作业 关于核算检测次数的问题研究 (分治策略 二分法 实例生活运用)
- DevTools failed to load SourceMap Could not load content 控制台显示的这个警告是什么意思
- python如何打印数字菱形_python实现打印菱形
- 在线破解网吧下载限制工具的制做方法。。
- 正月十五吃汤圆CountDownLatch
热门文章
- Notion数字笔记使用教程
- VS2019 无法登录 许可证已过期 无法下载许可证
- [CEOI2017]One-Way Streets
- 师范大学计算机专业研究生,2019考研调剂:福建师范大学计算机类学硕研究生调剂生...
- python_matplot_图片批量保存
- 正确将图片保存到相册的方法
- 家用 NAS 服务器搭建 | 前篇
- 针对springboot+gradle+querydsl中生成的Q类无法被识别报红的问题解决
- 暴雪修改手机500服务器错误,网站http服务器内部500错误的解决方法 [图文]
- 解读全球十大公司物联网战略,一个万物智能的世界即将到来