代码角度分析《旅行青蛙》:一

简介: 坐船的小青蛙  17 年春节前,《旅行青蛙》火的不行,反应慢一拍的我最近才开始迷上这个游戏。最近我的青蛙出去旅行不知所踪好几天了,作为一个不甘心当“佛系青年”的程序员,我想看看游戏的代码到底是如何设定的。
img_ec952b93c8807e850328ed9c1bb91244.jpe
坐船的小青蛙

  17 年春节前,《旅行青蛙》火的不行,反应慢一拍的我最近才开始迷上这个游戏。最近我的青蛙出去旅行不知所踪好几天了,作为一个不甘心当“佛系青年”的程序员,我想看看游戏的代码到底是如何设定的。

  所谓细节是魔鬼,真做起来就没那么容易了,我从来没有接触过游戏开发,更别提手游了,一开始还真是有点懵。

  第一步,我想先确定一下《旅行青蛙》是否涉及到和服务器端的交互,毕竟单机游戏破解还比较容易,如果数据是从服务器端拿到的话难度肯定会大一些。用手机端端的抓包软件看看游戏过程中是否有和服务器的交互就可以了。


img_17bb5f16a633e1d9b178f49bafda78ea.jpe
request
img_3a6230f10557ce22a8aee9785afcfcbe.jpe
response

  上图是一次请求交互的结果,其他的交互也是一样的模式,响应消息中除了 200 OK,没有其他内容,表示这只是应用向服务器端上报运行状态的变化,便于监控游戏的 bug,并无服务器端的逻辑,而且还可以看出来是一个基于 Unity 3D 开发的游戏。

  对我来讲,破解还是从 Android 端入手更为容易一些,于是从 Google Play 上下载下来了 APK,扩展名改为 RAR,即可解压。解压后目录结构如下:

img_88e6ed524925790d53c00f7d6a631282.png
jp.co.hit_point.tabikaeru

  通常来讲 Unity 开发的软件代码会打包成 Assembly-CSharp.dll 放在目录 assets/bin/Data/Managed/ 目录下,这个游戏也是如此,使用 .Net 的反编译软件即可拿到代码,不过通常来讲,都会对这个文件做加壳处理,想破解不会很轻松,但这个游戏是个例外,也许是因为 Hit-Point 是日本的游戏公司,只能说和国内的行业氛围不一样吧。

img_79e2459feb539c16c74de922c520dfb6.png
游戏代码

  简单的扫了一下代码,我觉得代码质量还是挺高的,风格一致性很高,写的也颇为工整。而且代码量比我之前想象的要大得多,本以为一个休闲小游戏不会有多少内容的。而且代码主要集中在地图系统的逻辑上,这也有些出乎意料,毕竟地图系统在游戏中根本不可见,随便做上几个点,随机选择,恐怕对绝大部分用户来说也没差别,要为这个游戏的一丝不苟点赞。

  目前对于游戏的逻辑还没有深入研究,目前能确定的几个结论有:

  • 使用不同的称号,对游戏的进程没有影响,因为没有找到这部分逻辑,例如使用“离家之路”,也不会让小青蛙回来的更慢。
  • 门前的池塘里最多一次可以收获二十枚三叶草,每棵三叶草都有自己独立的重生时间,范围在五分钟到四个小时之间,所以想多赚点三叶草,就要勤快一点,多去点点。
  • 抽奖的奖品获奖率是不同的,车票(黄玉): 1%,金平糖(红玉):3% ,小馒头(绿玉):9%,护身符(青玉):27%,抽奖卷一张(白玉):60%。

参考链接:
呱呱走火入魔-逆向游戏代码-终结玄学迷信
旅行青蛙分析(Android篇)

目录
相关文章
|
8天前
|
存储 UED
探索编程之美:一段代码的旅行
【9月更文挑战第12天】本文通过一个简单代码示例的逐步完善,展现了编程过程中的思考与学习。从最初的功能实现到性能优化,再到用户体验的提升,每一步都体现了编程的艺术和科学。文章旨在鼓励读者以创造性思维对待代码,发现编程的乐趣和挑战。
|
4月前
|
人工智能 前端开发 机器人
100行代码,我给摸鱼群加了一个前端出题机器人
100行代码,我给摸鱼群加了一个前端出题机器人
拯救地球精英答案【逻辑题】
拯救地球精英答案【逻辑题】
56 0
|
4月前
|
Java C++ Python
试题 基础练习 龟兔赛跑预测
试题 基础练习 龟兔赛跑预测
23 0
LeetCode每日一题(10)——三维形体投影面积(保姆级)
三维形体投影面积 1.题目 2.示例 3.思路 理解题目 解题思路 4.代码
110 0
LeetCode每日一题(10)——三维形体投影面积(保姆级)
|
传感器 算法 C语言
智能车结构设计与踩雷
智能车机械结构设计与踩雷
110 0
|
存储 算法 机器人
【算法刷题】—7.14模拟,数组螺旋输出,机器人走路
✨今日算法三题 1.二进制求和 2.螺旋矩阵 3.模拟行走机器人
【算法刷题】—7.14模拟,数组螺旋输出,机器人走路
|
算法 C++
蓝桥杯试题 算法训练 绘制地图 C/C++解法 AC(最近,WYF正准备参观他的点卡工厂。WYF集团的经理氰垃圾需要帮助WYF设计参“观”路线。现在,氰垃圾知道一下几件事情。。。。)
蓝桥杯试题 算法训练 绘制地图 C/C++解法 AC(最近,WYF正准备参观他的点卡工厂。WYF集团的经理氰垃圾需要帮助WYF设计参“观”路线。现在,氰垃圾知道一下几件事情。。。。)
101 0
L2-029 特立独行的幸福 (25 分)(数组模拟)
L2-029 特立独行的幸福 (25 分)(数组模拟)
117 0
2069. 模拟行走机器人 II : 脑筋急转弯类模拟题
2069. 模拟行走机器人 II : 脑筋急转弯类模拟题