《旅行青蛙》是一款由日本游戏公司 Hit-Point 开发的一款手机游戏。整体而言,玩家在游戏中能做的只有一件事,即为一只青蛙准备出游用品。《旅行青蛙》在只有日语版本的情况下,于 2018 年 1 月 20 日登上了中国区 App Store 免费游戏排行榜榜首,超越了《王者荣耀》和《荒野行动》等同期流行游戏。2018 年 4 月 2 日,阿里巴巴集团宣布已和 Hit-Point 合作并取得授权代理发行官方中国版《旅行青蛙》,并将推出中国特色的游戏内容,例如在中国版中,青蛙会以包子、豆腐等中国菜肴为食,青蛙的房间布局也更换成中式装修风格。
《旅行青蛙》的玩法
《旅行青蛙》作为一款放置类游戏,没有任何养成元素,也没有明确的游戏目标,仅有少量的收集要素。游戏以一只青蛙的家为游戏背景。首次进入游戏后,玩家需先为这只青蛙起名,日后亦可点击青蛙来更名。游戏内容相当简洁,玩家无法控制青蛙的行为,其所能做的,是在庭院中收集充当货币之用的三叶草,在商店中用三叶草购买青蛙的旅行用品,以及在家中为其打包行囊,如便当、护身符和道具等。三叶草从零长满需三小时,最多存在 20 片。庭院中偶尔也可收集到属于护身符的四叶草。待行囊备完后,青蛙便会自行出游,其出发时间、目的地与旅行时长皆不定,但与玩家为其准备的旅行用品相关。除了直接为青蛙收拾包囊,玩家亦可将旅行用品放置在屋内的桌子上,青蛙会自行装包离开。青蛙在旅行途中会给玩家发来照片,照片中的场景大多是现实中日本的著名景点,如爱知县的名古屋城、兵库县的有马温泉、群马县的草津温泉和屋久岛的绳文杉等;并会在回家时带来较为稀少的宝物和相对常见的特产两类纪念品。
玩家可在商店进行抽奖以获得稀有道具,每次抽奖花费五张兑奖券。蜗牛、蜜蜂、海龟等青蛙的朋友会随机造访庭院,并赠予玩家兑奖券;在商店消费同样会获赠兑奖券。赠送特产给来访的朋友,还会获得额外的回赠。这部游戏本身为免费,但游戏中可以通过付费来购买三叶草,从而节省等待三叶草生长的时间。
由于《旅行青蛙》是放置类游戏,玩家不需要经常对游戏进行操作,因此也被很多中国大陆的玩家称为“佛系”游戏,即认为此游戏符合佛教所主张的随缘精神。还有评价认为,与其称《旅行青蛙》为“放置类游戏”,倒不如叫“放置(玩家)类游戏”。
火爆原因思考
旅行青蛙的走红,不仅取决于其本身优秀的产品设计,更取决于产品对用户心理、人性等需求的满足。
无为交互
《旅行青蛙》的主要交互方式就是放养。作为一款游戏,没有 PK 机制,没有解谜逻辑,有的只是少量的收集任务及准备背包。
针对旅游:
- 你不需要确定要到哪里去旅游
- 你不需要确定什么时候出发
- 你需要做的仅是准备好食物(通过三叶草搜集获得货币然后进行购买)
- 你会得到旅程过程中的美图(明信片)
这样的交互方式,大致会获得以下群体认可度可能更高。
- 学生群体:日常的作业压力及考试压力,如有一款没有任务,无需解密的游戏大概是极好的。
- 家长群体:在日常被娃折磨,但又不得不管的环境下,如果有一个游戏可以让其“放养”也是不做的体验。
极简交互
一款只有日语版本也能冲上免费游戏排行榜榜首的,一定是交互及其简单的。下载的人并不是都会日语,而是由于及其简单的交互,让我们无需关注游戏本身的语言设计。
这让我想起了小时候玩的红白游戏机(小霸王)上的游戏,虽然也全是日文,但玩起来毫无压力。
晒蛙心态
朋友圈晒的是什么?其实朋友圈晒的本质是用户自己,这是一种用户想表达自己感受的一种行为。从心理学角度上看,人本身就是孤独的个体,希望通过他人的认同、社会的认同来达到证明自己的目的,所以这也是所有社交属性平台搭建的基础之一。所以用户需要得到认同的满足感和被别人称赞的那种成就感。通过晒蛙的行为,来换取他人的称赞与认同,更是成为了一种可以“炫耀”的资本。
- 对于没有娃的:体验一把晒娃的乐趣。
- 对于有娃没什么好晒的:娃晒不了,那就晒只青蛙吧。
情感寄托
它就像是一个青春期叛逆的孩子,动不动就离家出走,不听话,让身为“父母”的你操碎了心。
- 你会担心它整天不出门,变成一个死宅而念念叨叨。
- 你会担心它一去不回,害怕它在外面无依无靠,过得是否还好而担心难眠。
- 你会开心收到它的每一张明信片,开心地领下它带给你的手信,开心地翻阅它的小日记本。
对许多玩家来说,寄托在蛙身上的情感,会不会在某种程度上让你感受到了从前从父母那里听来的话语,“儿行千里母担忧,养儿方知父母恩啊”。
收集成就
许多用户对于养成游戏肯定非常熟悉,养成游戏有几大特点:收集、养成、成就。通过一步一步的收集,一步一步的成长,每次都能给用户带来不一样的惊喜和体验,就正如青蛙旅行之后带回来的朋友、写真,都是那么的不同,你会慢慢了解你蛙去了哪里玩,遇见了什么有趣的事情,渐渐填充用户的好奇期待。去除了等级成长体系的“旅行青蛙”,让用户的注意力更加集中在收到“礼物”的那份惊喜,而不再是盯着如何升级成长这个点上面。
《旅行青蛙》游戏机制
我们从网上逆向的程序中了解内在的程序逻辑。
青蛙真的在旅行?
答案是是的。为了尽可能真实,作者实现了一套非常完整的旅行模拟系统,有严谨的旅游路线设计。
程序内建东、西、南、北四个区域,会选择一个地区旅行,每个区域的设计都是一个连通的无向图 (connected undirected graph),而青蛙的旅行路线就是在图上某两个点之间走出一条路径 (path)。
图上的每个节点 (vertex) 都代表了一个地点。每个地点都有可能被蛙经过,并触发一些事件。除了普通的地点外,还有四种特殊的地点会影响呱旅行的路线:
- START 起始点(帽绿色)
- GOAL 目的地(桃红色)
- PATH 途径地(橘黄色)
- DETOUR 绕路地(浅黄色)
连接节点之间的是边 (edge),代表连接地点的路,这些路上也会触发遇上伙伴、拍摄照片等事件。
每次开始旅行的时候,根据打包的物品,青蛙都会:
- 选择目的地。携带特点食物或道具可以影响到地区的选择,有些物品可以增加特定地区的被选概率,甚至可以直接确定选择的地区。在一个区域内的目的地的选择同样取决于所携带的道具。具体每件物体效果会在后面提到。
- 选择途径地。途径地由目的地决定,每个地点都有对应的途径地,代码中对此的描述是当地的县府/交通枢纽。
- 选择绕路地。这个很有意思,我猜测作者的目的是为了让旅途更有多样性,每次路途会额外添加几个地区内绕路地点,携带物品对决定绕路地似乎没有影响。
- 生成经过所有地点的旅行路径。运用了图论很经典的连通图找最短路径 Dijkstra 算法,配合途径地和绕路地的逻辑,最终计算出旅行路径。
目的地是怎么选择的?
这里的数值不是绝对概率而是相对的优先级。具体目的地的选择就和携带的道具相关,每个物品对应目的地的优先级与区域加成叠加就能获得每个地点被选择的概率。
每个目的地的区域加成初始值都为30,道具的决定地区属性值可以提升对应地区内目的地的区域加成,从而增加区域内所有的目的地被选择的概率。部分道具可以直接限制选择到规定的地区。
青蛙是如何旅行的?
确定了地点之后,青蛙会开始旅行:
- 携带物品会决定青蛙最长能旅行多久,6~72小时不等。
- 初始体力由携带物品决定,以100为基数提升。
- 经过图上的一条路(边)的时候,道路的地形属性和所携带的物品属性互相作用,会决定呱实际消耗的时间和体力。
- 路上可能会遇见小伙伴,会在之后的旅行中结伴而行,从而出现在明信片中。
- 根据路途属性,有一定概率会寄相关的明信片。
- 当体力不支的时候,蛙必须停下来休息3小时,休息完之后体力会恢复到100。休息时间也算作旅行时间。
- 当到达目的或者旅行时间耗尽的时候,蛙就会回家。
- 回家时会携带三叶草和抽奖券。
- 如果在时间耗尽前到达了目的地,蛙会在此基础上带回当地特产和收藏品。
- 所以如果你的蛙很久都没回家,回家了也没有带土特产,可能是路途上多次体力不支,晕倒在路边。
青蛙在每条路上的耗时是怎么计算的?
设:
- $t_{way}$ 为当前道路耗时
- $t_{plus}$ 为当前道路的地形增加耗时
- ${w}$ 为当前道路的地形,$w\in\{Normal, Mountain, Sea, Cave\}$
- $n$ 为携带物品数量
- $E_{Normal}(x), E_{Mountain}(x), E_{Sea}, E_{Cave}(x), E_{All}(x)$ 依次为携带的第$n$件物品中所有具有普通、山地、大海、洞穴、任意地形 移动速度的效果值。
如果当前道路是 普通 地形,则耗时因叠加 移动速度 效果而减少:
$$t_w=t_{way}\times\prod_{x=1}^n(0.01\times(100-E_{Normal}(x)))$$
或者如果当前道路是 山地、大海、洞穴 地形,基础耗时不变,地形增加耗时因叠加 移动速度 效果而减少:
$$t_w=t_{way}+t_{plus}\times\prod_{x=1}^n(0.01\times(100-E_w(x)))$$
如果携带了 乳蛋饼(のびるのキッシュ)这种 全地形 移动速度 提升的物品,则会在此基础上再次叠加 移动速度 效果:
$$t_{final}=t\times\prod_{x=1}^n(0.01\times(100-E_{All}(x)))$$
最终获得的 $t_{final}$ 就是该条道路上的实际耗时。
青蛙离家出走了怎么办?
如果长时间没有准备便当,包里和桌上都没有食物,呱会愤然离家出走(どこかへ出かけています)。
这个时候在桌子上放上吃的,青蛙就会在5~30分钟内回家。
有趣的是,离家出走也算作成就计算中的旅行次数…。
道路有哪些属性?
连接不同地点之间的每条路(edge)都有以下几个属性
- 地形四种地形分别是普通、大海、山地、洞穴
- 耗时途径这条路的体力和时间损耗,分为基础耗时和地形增加耗时呱需要跋山涉水自然会耗时久一点
- 明信片概率明信片上不同元素出现的概率据说所有的地图元素都有真实原型
- 遇见伙伴遇见特定伙伴的概率
具体如下:
每件物品都有什么效果?
有五类不同的物品:
- 便当。商店购买或者抽奖获得的食物
- 幸运符。除了四叶草和可以购买的幸(tǔ)运(háo)铃之外,都要抽奖获得
- 道具。商店购买
- 特产。青蛙旅游时获得
- 收藏品。特别的特产,通常在县府获得,无法使用
属性分类
- HP
- 最大时间(小时)决定蛙的旅行时间
- 初始体力提升(%)增加一开始一鼓作气能旅行的距离
- 随机体力提升(%)随机额外增加体力提升的最高百分点
- 物品几率
- 三叶草获得三叶草数量
- 额外随机三叶草随机额外获得的最大三叶草数量
- 抽奖券奖券数量
- 物品数量增多增加获得目的地收藏品的概率
- 决定地区对应地区被选中的概率,如果值为D则可以直接决定目的地所在区域
- 移动速度根据地形不同,提升移动速度,减少途径所耗费的时间,在相同旅行时间内可以走更远
- 朋友遇到特定旅行伙伴的概率
- 遭遇地形途径特定地形时候获得相应明信片的概率
- FLAG属性立一些特定的Flag,主要影响成就系统,下面会写到。
如何科学使用物品?
- 决定想去的地区。携带的便当和抽奖获得的护身符(お守り)可以提升选择特定地区的概率。抽奖获得的车票(きっぷ)可以直接决定所去到的地区。例:想去北方,使用北国きっぷ。
- 影响路途的距离和时间。带最大时间值高的食物吃走得远,带体力提升值高的食物吃走得快耗时少。
- 快速通过沿途路线的地形。带有地区速度加成的食物或者道具,可以增加特定地形的移动速度。不同物品的移动速度效果可以叠加,详情查看上面的解释。
- 匹配在道路上遇到的伙伴。如果在途径会遭遇伙伴的道路,特定物品可以增加实际遭遇概率
旅途中会带回什么?
明信片
途径每条道路上会遇到的明信片元素都有很明确的概率。
普通的明信片是自动合成的。根据道路元素、所携带道具、遇到的同行小伙伴,程序会选择合适的背景、前景和青蛙和小伙伴的pose,合成完整的明信片。粗略计算,有120种左右的组合。
有一些带有特定的故事情节明信片是单张绘制的,这里也可以看出游戏制作者的用心:迷路和小伙伴看地图通常出现在地图的边缘,冷清下水道一般出现在四通八达的城市交通枢纽。
特产
成功到达目的地(GOAL)的时候才会获得特产,收藏品的获得概率是15%,其他物品的概率如下:
朋友
蜗牛、蜜蜂和乌龟会时不时来访。来访停留的时间180~270分钟。蜜蜂需要有至少3件收藏品才会出现,乌龟需要有至少6件收藏品。
给来访的朋友投喂会获得三叶草和抽奖券的回礼:
在此基础上,投喂带有稀有FLAG属性的物品会多获得20根三叶草,多获得1~4张抽奖券。
朋友会记住最近三次的食品。连续投喂同一种物品,获得回礼的数量会降低。
为了达到最好效果,最好换四种不同的礼物轮流投喂,具体可以参照下面的喜好表格:
奖励体系
三叶草
花坛中总共有20根三叶草。三叶草割完之后重生的时间是遵循$\mu=7200,\sigma=1800$的正态分布在[300,1400]的区间:
每一根都是独立重生的。最短5分钟(300秒),最长4小时(14400秒)重生。
四叶草
完成教程后会自动诞生第一颗四叶草,除此之外,每一根三叶草重生的时候都有1%的概率成为四叶草。
抽奖球
抽奖球的概率是?
- 白:60%
- 蓝:27%
- 绿:9%
- 红:3%
- 金:1%
成就
青蛙旅行的时候会立一些Flag,我从代码中整理了一下触发的条件:
参考链接: