羊了个羊 —— 分析与刷分测试

前言

最近,《羊了个羊》刷爆朋友圈。众多玩家里,有人玩到凌晨熬红双眼,有人功亏一篑怒气值拉满,有人苦心钻研破解攻略,有人已默默背熟广告台词…还有人通过游戏参透人生——牌面很复杂,困难一层又一层,槽位只有那几个,但谁都不想这么算了。

本来对这个游戏毫无了解,但是架不住朋友疯狂裂变式传播,也算是大致了解了一下游戏。

《羊了个羊》是一款闯关消除小游戏,通关率不到0.1%。玩法是在重叠的各类方块中,找到三个同样图案置于下方卡槽即可消除,卡槽内最多可以储存 7 张卡牌。游戏首页还设置了玩家排行榜,将不同地域的玩家分区进行排行,游戏通关后可进入地区榜单,助力地区排名。

但是关卡的设计难度比较的不合理,第一关与第二关的难度完全是两个难度等级…属于是刚让玩家学会算术就开始写高数难度的题目…

这里放几张游戏的图:

为什么火 ?

裂变传播

前有PDD疯狂转发帮忙“砍一刀”,今有羊羊席卷朋友圈。

还是熟悉的套路,PDD的传播方式无非就是人的贪欲,真以为有天大的好事,白送你几百元。不过也不是不太可能,当代互联网时代下的各大厂商们获新的成本越来越高,通过用户自发的拉新,从而节省一些拉新成本也是常规操作了…

羊内设置了两个游戏关卡,第一关不加以任何的引导操作,让用户自己去摸索,当用户明白了游戏的目的是三消时,第二关的折磨便接踵而至。因为第二关的难度十分的离谱,因此我们可以看到作者贴心的在下面设置了三种道具,但是每次使用是需要发送给好友的,也就是将游戏进行推广,让用户裂变式的传播。

或许这也是为什么短时间内这一款游戏能够被大家所接触到,玩到的很大一部分原因。

第二关的高难度

本来正常的游戏难度是逐级递增的,依次来提升玩家在不同关卡完成后的喜悦。而当代互联网是快节奏的,用户的都是上厕所时等零碎时间,导致的用户留存率难以保证,因此反其道而行之,干脆提升难度,打算赚一笔就跑。通过难的一个噱头来吸引用户,让用户来进行挑战。

三消

游戏的简单易上手,在玩家的零碎时间不需要动太多的“脑子”就可以玩的一个小游戏,没有众多游戏复杂且麻烦的特点。

排名导致的虚荣心

一个简单的小游戏却有两个排名,朋友圈与地区。争强好胜或许是每一个人多多少少都会有的心理,而羊也抓住了用户的这一点心理,通过排名,告诉你这个游戏是有解的,朋友圈里谁谁通关了,通关了XX次。所在地区排名多少等等。这些无非是吸引着用户去不断地尝试,为自己能在朋友圈内秀出一张自己通关的照片,为自己所在的地区能够排上前几名…

游戏特点

对于此类游戏更多的像是一种动物繁衍上的R策略,通过短小的、低成本的试错方式去撞互联网的爆款,随后快速通过流量变现,随后跑路。从远古时期的跳一跳合成大西瓜再到今天的羊,或许多多少少都是一种试错的方式来获取用户,增加用户留存时间。

也不难看到随着我们使用的软件的更新,原本单纯的购物平台如:某多多某宝某东等软件都增加了短视频,小游戏的功能。也为的就是增加用户的留存率,留存时间。

或许这个就是国内软件特色,把软件越做越大,没用的功能越来越多…

变现方式

当一款游戏爆火了后,出品方第一时间想到的必然是如何流量变现。羊也不例外。起初获取先压榨用户的社交价值,将游戏裂变传播后获取到巨大的用户量,随后便是压榨用户的广告加载,前面我们提到过了羊的第二关难度的不合理性。因此开发商将用户获取道具的方式由拉人头变成了看广告,在巨大的用户流量体系下赚钱也是轻轻松松…

刷分测试

论这个游戏如何被破解的…我想或许是因为开发的过于简单了,我们对网络请求链接进行抓包,可以发现通信的数据十分简单…

然后某宝上面也出现了一堆刷分上分的店铺,月销还不少…赚了好多米…

什么时候我也可以赚这么多…

测试环境

测试时间:2022/09/17

本次测试使用微信3.4.5.27Windows下,Fiddler完成对应抓包

我们通过抓包可以发现地图数据是明文存储的,我们可以获取到许多游戏服务器地址信息

对应的地图数据:

简单的观察一下,我们可以得知80001为第一关,90015为第二关

对此我们可以修改请求,将两个关卡的请求均替换为第一关,随后进行发送。我们便只需要完成两个第一关即可通过。

或者我们快速结束游戏我们可以看到对应通过Get方式请求了一个接口,我们将其请求数据进行获取即可得到对应通关的接口,我们对其进行发包处理,便可以不断增加通关次数

发包脚本:

此脚本需要抓取微信登陆小程序时的t参数,之后安装对应依赖后执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from selenium import webdriver
import time
from tqdm import tqdm
option = webdriver.ChromeOptions()
option.add_argument('headless')
web = webdriver.Chrome(chrome_options=option)
url = 'https://cat-match.easygame2021.com/sheep/v1/game/game_over?rank_score=1&rank_state=1&rank_time=731&rank_role=1&skin=1&t='
t = "" # 需要 t 参数
url = url + t
print("Connecting ...")
web.get(url)
times = 100 # 通关次数
for i in tqdm(range(times),desc="Processing"):
time.sleep(0.2)
web.refresh()

web.close()
print("Success")

后记

本来打算17号当天写完这个后,进行上传的,结果因为学校课程等各种杂事比较多,没能及时上传…

后续看这个🐏的时候好像又更新了,地图是从一个txt文件中进行读取,然后将地图数据进行md5,具体后续的破解方式我也没怎么看了…

学校课真是多啊…

参考链接

央视网:羊了个羊易上手通关难致评价褒贬不一 官方回应争议

B站:羊了个羊,根本就不是一款游戏【商业B面&牛顿】


羊了个羊 —— 分析与刷分测试
https://equinox-shame.github.io/2022/09/20/羊了个羊/
作者
梓曰
发布于
2022年9月20日
许可协议