zoukankan      html  css  js  c++  java
  • Anipang2反推文档

    此文档主要用于一个开发同学尝试学习描述一个产品的基本设计。也许工程师都应该有类似能力。

    反推的基础,目前是自己玩过的一些关卡和youtube上的一些关卡通关视频,主要是前120关。(120关后面应该是最新版本才出)。

    1 消除块,棋子

    颜色:青,黄,蓝,粉,褐,灰,6种,表现为小动物。

    有些时候单局内只出现5种颜色的棋子。

    如果消除的(N > 3)个棋子,棋盘会出现帽子(横,竖,球3种)棋子,晕眼棋子。如下图:中间有各种颜色的棋子,而且有2个晕眼棋子,横帽棋子,球帽棋子。

    clip_image002

    其他棋盘中的棋子还包括,箱子,血瓶,等,但其不能参与消除,后面在棋盘一节补充说明。。

    血瓶,箱子,也算一种棋子。

    2 棋盘的布局

    目前能看到的录像和关卡还在前面120关,所以无法看到所有的,所以并不完整。

    棋盘的布局为8*8,64个格子放棋子。(Candy Crush的消除区域比这个大,是9*9的区域)

    镂空的棋盘格子,没有棋子,直接看到背景。这个位置不能操作。但帽子棋子的消除效果,可以穿越这个位置。

    clip_image004

    棋盘上放有棋子,棋子说明见第二章。

    在棋盘的上面,并不是最顶层的格子都有棋子掉落,(比如某些顶层有镂空就不会掉落棋子)。比如下图图红线下面区域都是掉落的。(注意由于镂空同一列有2个掉落位置)

    clip_image006

    但如下图,蓝线下面的顶层区域并不会掉落棋子,而是从其他行斜向补充棋子,所以可以掉落的位置这必须也是一种可配置选项。

    clip_image008

    在棋盘的下面,也不是所有最底层的点血瓶都可以掉下去,可以掉的位置会有在棋盘上有向下的箭头标示。上图就有。

    还有一种模式就是虫洞的掉落方式,如下图,下面是Anipang2 111关卡的抓图,棋子是从上面区域的虫洞掉落的,如果红色箭头所示,每个洞口都一一对应,(注意中间还有一个交叉对应,不知道是不是bug,呵呵),另外要注意的是,其红色区域也是会掉落棋子。

    clip_image010

    3 消除规则:

    3.1 消除棋子

    滑动3个横,3个竖就可以消除,消失后上部会掉落新的掉落块(掉落规则另外一节)。如下图:

    clip_image012

    如果一次消除了4个棋子,出现一个相同颜色的横消帽子或者竖消帽子(就是带帽子的小动物)棋子,具体出现横消还是竖消和消除的内容无关,随机出现(就是竖着消除4个棋子也可能出现横消的帽子棋子)。横消帽子或者竖消帽子出现的位置为你移动交换的位置,如下图红色部分,如果下面没有消除快,横消帽子或者竖消帽子也会向下掉落,比如竖着消除的例子,帽子出现在红色的位置,下面2个位置被消除掉了,所以红色消除的帽子会掉落到橙色的位置上。

    clip_image014

    如果一次消除5个消除块,而且消除的方式如下(注意这写情况其实都有4个方向),红色为你移入的棋子,在红色位置会出现一个球状消除的帽子棋子。

    clip_image016

    如果一次消除5个消除块,而且消除的方式如下,会出现一个晕眼棋子,

    clip_image018

    如果有同时消除,更多的消除优先,如果同时消除了3个竖,4个横,算4个消除。这个就要求在消除判断的时候,作为一种方向的判断后,继续做另外一个方向的判断,然后根据长的判断。如下图。

    clip_image020

    当消除掉横消帽子或者竖消帽子棋子后(消除规则和前面一样),横帽棋子的位置会消除棋盘中当前行的所有棋子,竖帽棋子的位置会消除棋盘中当前列的所有棋子(准确应该说,记录消除一次)。如果下图,红色位置的竖消(横消)被消除后,白色一行都被记录消除一次。

    clip_image022

    两个横消或者竖消帽子棋子(横横, 竖竖和横竖)两两相碰(一个划向另外一个),也可以消除而且会在滑向的点做一个十字消除,此行和此列的棋子都被消除一次,如图。

    clip_image024

    当球帽棋子被消除后,会消除一个球状区域。直径为5的一个区域。

    clip_image026

    横消或者竖消帽子棋子和球帽棋子相碰后,会出现增益效果的消除。做一个3*3的十字消除。

    clip_image028

    两个球帽棋子相碰后,增益效果是消灭一个大球,如下图,橙色的棋子滑向红色的棋子,以红色的棋子,为中心,直径为9的一个区域(如下图)。消灭周围的棋子。注意为了表现的更加清楚,我用了非8*8的棋盘示意。

    clip_image030

    当晕眼棋子和其他颜色棋子相碰后,此种颜色的所有棋子都被消除。

    当晕眼棋子和横帽棋子,或者竖帽棋子相碰后,所有的此种颜色的棋子,都做横消或者竖消,具体是横还是竖消除随机。执行(表现)顺序是,最开始的帽子棋子和晕眼消除(注意只消除他们两个呀),然后其他相同颜色的棋子全部变成横帽,或者竖帽,然后从上至下,从左至右的横帽或者竖帽开始消除掉,整行或者整列都消除掉,全部消除完成后再开始掉落。如下图:

    clip_image032

    当晕眼棋子和球帽棋子相碰后,所有的此种颜色的棋子,都做球状消除,执行(表现)顺序是,最开始的球帽棋子和晕眼消除(注意只消除他们两个呀),然后其他相同颜色的棋子全部变成球帽棋子,然后所有的球帽棋子从上至下,从左至右球帽做球状区域消,全部消除完成后再开始掉落。如下图,

    clip_image034

    两个晕眼棋子相碰后,也会引发增益消除。全部所有的颜色方面都会轮流消失一次。执行(表现)顺序是,两个晕眼棋子消失,一种颜色的棋子被选中,全部消失,然后选中另外一种颜色消除,直至所有的颜色全部被选择。消除过程中如果棋盘中有带帽的棋子(横竖球),这些带帽棋子按照效果消除掉,如果棋盘中还有晕眼棋子,晕眼棋子不会被消除掉。全部消除完成后,上面的方面再掉落。

    连带消除,如果消除的区域原有的带帽棋子,晕眼棋子会释放效果自动消除,带帽棋子就是按照,横,竖,球3种方式消除,而晕眼棋子被消除后,自动随机选择一个颜色,对这个颜色的所有棋子进行消除。

    消除块会产生分数,在消除的过程中直接用动画展现,分数规则不在此反推重点。

    如果棋子移动后,不能消除,棋子退回原来的位置。

    棋子消除后,上面的棋子向下掉落。

    3.2 箱子

    放箱子的格子,箱子的周围(上下左右)棋子消除了,箱子爆炸,格子空出,棋子可以掉落到这个位置(注意是可以掉落,但未必一定掉落物品填补),箱子没有消除前,这个格子不能操作。(箱子爆炸也可以考虑N次周边被消除才爆炸)

    3.3 重排(棋子都不能消除时)

    所有棋子都不能消除是,要提示用户,进行棋子重新排布。Max这个地方总结的比较细致。

    重新排布的规则:

    已经锁定的棋子位置和颜色不变化,血瓶位置不变化,箱子不变化。

    帽子棋子,晕眼棋子的的颜色不变化,但位置可以变化。

    普通棋子的各种颜色的数量会变化,位置也发生变化。

    变化后,不能有能直接消除棋子,但也必须能有移动后消除一次的机会。

    3.4 棋子的背景和前景

    棋子的背景,可以是蓝冰,蓝天白雪,后面为了方面对比,就叫蓝冰(其实我觉得像蓝天白云)。或者白雪,一种情况是蓝冰,消除这个位置一次,蓝冰消失可以看到棋盘,一种情况是是就是白雪,这个位置消除一次,变成蓝冰,必须再次消除才能看见棋盘,就是这个白雪为背景的格子必须发生2次消除才能看到棋盘。注意,白雪或者蓝冰上面没有棋子时(比如无法掉落的棋子的时候),一个格子如果没有棋子被消除,白雪或者蓝冰不会消失。

    棋盘棋子的前景,有锁定,这个块被消除一次后,锁定才解除,锁定解除的时候,这个块不被消除掉。被锁定的棋子不能移动。(锁定也可以考虑N次消除才解锁)。

    如下图,此关卡就有蓝冰,锁定,箱子。

    clip_image036

    3.5 血瓶

    血瓶可能在棋盘中默认开局就有,也会掉落下来的。(Candy Crush有多种掉落水果,坚果)

    血瓶在其他地方没有任何办法消除。

    血瓶必须消除掉最底层有下落标志的格子才能掉落,。

    3.6 Candy Crush

    Candy Crush的棋盘设计比这个要复杂很多。还有履带,巧克力,定时(步数)炸弹等。

    4 棋子的掉落规则

    如果棋盘格子是空的(如果没有入口另说),上面的棋子就会掉落填充这个区域。

    4.1 掉落规则

    Anipang2有时候开局会有一些空区,再滑动第一次后开始掉落。这个也是要在关卡配置的。

    Anipang2是一个的掉落是一个看上去怪怪的深度优先算法。

    比如只有一个开口的区域,其他是木箱,那么掉落顺序是如下的。掉落顺序如下,有兴趣研究的可以看看Anipang43关。注意:每一个位置只会向自己的下,左,右,3个位置滑动掉落。

    先贴一个简单情况的掉落顺序,假设白色是空区。

    clip_image038

    再说一个复杂的情况,如下图:

    clip_image040

    先向下,1,和2叠加,3下落时(到9号位置)当发现如果是最后一个空位了,检查左右是否可以填充。

    然后向左掉落(好像也见过先向右的,不知道是否有随机),当3掉落是发现右边是空的,继续向右侧掉落,3,4,5掉落在右侧。先填充位置3,方块4在位置5会发现又是此列最高的位置,此时,发现左边还有空位,就填充左边,也就是4,然后填充5.

    然后向右掉落,6,7,8掉落在右侧,规则和左边类似。

    最后9封住掉落口,

    注意,如果如果有些位置是空的,而掉落规则无法填充,那么就是空着,就不填充。

    我对这个算法有点微词,主要是对左右滑动下落的点判断有点怪(比如2左右下面有空位,但2不想左右下落)。我觉得是否改成这样,反而好理解一些。一个点如果左右有空位就先向左右掉落,

    clip_image042

    另外,在发生很多块的消除后,Anipang2的棋子掉落顺序基本是所有的悬空棋子先下落,棋盘上面再开始掉落棋子方式。但有些地方是有点奇怪的,有一些位置的棋子会自己向左右滑落,不知道是否其中存在一些增加体验的随机算法。

    如果同时一行有2个空格掉落,Anipang的掉落是这样的。是并行掉落的,掉落动画方式的感觉是有顺序的,但是否真有顺序?从掉落动画看第一行掉落的1格后,第二行就开始掉落。从这种方式上感觉,两行之间应该也不发送干扰,但存疑。

    clip_image044

    4.2 掉落后的消除

    Anipang2一般都是全部消除后,再掉落,但掉落后,棋子已经全部布局,如果仍然有可以消除的棋子(比如3连,4连,5连)。还会进一部分消除掉这些棋子(注意,不是边掉落边删除,是全部掉落后,才开始自动消除这些部分)。然后再掉落,直至所有的棋盘内所有的棋子不能直接消除。

    掉落后的消除也可以生成带帽的棋子或者晕眼的棋子。这样就会有一个问题,生成的带帽的棋子的位置放在什么地方?Max发现的规律生成的棋子(戴帽或者晕眼)是在被消除的区域随机出现位置。

    如果掉落形成可以多次消除的棋盘如何处理的问题?这个Max见过。如下,注意这种情况只会在掉落出现,Anipang2对这种情况判断了出现一个晕眼,一个球帽棋子。我觉得这个判断逻辑有点问题。出现一个晕眼是可以理解的。但已经晕眼应该就占据了5个棋子。为啥还会出现一个球帽?存疑。这个算法有点头大。建议简化成计算出现一个判定后,就将其占用的消除物棋子视为以无效(已经处理过)?

    clip_image046

    5 单局结束后

    5.1 胜利后

    单局结束后,如果胜利后,棋盘剩下的带帽棋子,晕眼棋子会释放效果自动消除,带帽棋子就是按照,横,竖,球3种方式消除,而晕眼棋子被消除后,自动随机选择一个颜色,对这个颜色的所有棋子进行消除。(和连带消除的效果类似).

    上面的步骤完成后,发生掉落补充所有的空位,掉落过程处理和正常掉落过程一样,如果掉落后还有可以消除的棋子,再次消除,直至补充完毕。

    然后,如果胜利的规则是N步完成,胜利条件已经达到,但还剩余M步,会出现小兔子用吹泡泡消除一部分棋子的奖励,每个泡泡消除一个棋子。但消除的个数和剩余的个数不是相等关系,比如:如果剩余1次滑动步数,会消除3个棋子。其也称为Lastpang效果。Max这个地方写的很细致。

    clip_image047

    (而Candy Clush 是采用小鱼的帮主消除的方式。)

    上面的步骤完成后,发生掉落补充所有的空位,掉落过程处理和正常掉落过程一样,如果掉落后还有可以消除的棋子,再次消除,直至补充完毕。

    5.2 失败后

    单局结束后,如果失败后,会弹出面板,确认你是否购买增加滑动次数的道具。可以参考单局失败结束道具一节的说明。

    如果购买了道具后,可以继续移动N步。

    充值的钻石都测试道具去了,无法测试如果再次失败是否还可以再次购买增加移动步数。建议一开始考虑可以3次,或者干脆无限算了,当有钱的大爷爽。

    6 道具

    6.1 开局带入道具,

    目前有3中带入道具

    【金币】增加滑动次数3次道具。

    【钻石】开局带入一个晕眼棋子的道具。

    【钻石】开局带入一个带帽棋子的道具,棋子到底是球,横,竖帽棋子,随机。(我见过横,竖帽棋子,没有见过球,待确认)

    clip_image048

    6.2 游戏中道具

    游戏中也有三个道具

    【钻石】把一个棋子消失掉。

    【钻石】把一个棋子变成横或者竖帽棋子,在操作的过程可以选择。

    【钻石】把一个棋子和另外一个棋子发送交互。

    上面的各种开局后的图都有相应的交互方式图片。

    6.3 单局失败结束道具

    前面也说过了,单局失败后,会弹出一个面板。确认你是否付出钻石增加5步滑动步数。

    clip_image049

    7 通关地图,以及好友成绩排行榜

    Anipang2是以20关为基础做一个集合,打通20关后需要钻石购买通关或者向好友索要3把钥匙打开下一个关卡集合。

    打开关卡集合有何一些游戏故事背景的对话,我看不懂韩文,嗦嘎。没办法。

    在通关地图上,你可以看到自己好友达到的最高关卡数,好友头像就飘扬在其通关的最高关卡上。也算一目了然。

    如果没有打开的关卡集合用云雾遮挡。

    clip_image050

    点击一个任何关卡,你可以打开关卡的介绍(关卡的截图),你的成绩排名。其显示方法如下图:

    clip_image051

    注意这儿的排名只显示有3个人成绩,如果你的成绩不是第一,第二,那么你永远在第3个位置,前面显示你前面2位的成绩,点击那个按钮可以查看前面分页人的成绩。

    8 关卡编辑器的配置

    8.1 关卡的棋盘

    关卡需要的棋子颜色数量。(有5,有6)

    关卡的布局,包括镂空,棋子的前景,背景。

    血瓶出现的时机,消除多少块以后掉落。

    棋盘大小?(只有8*8?)

    棋盘上面可以掉落棋子的位置,

    棋盘上的棋子布局(有些位置要可以为空,在滑动第一次后掉落),有些位置要写死,(引导关),

    棋子生成的随机规则,(是否要考虑几套预案,一些不同的难度等级,比如普通用户的,如果用户失败到一定次数的,付费用户是否降低难度等)

    棋盘上的虫洞(冲动包括上下,以及对应编号关系)的位置,

    关卡是否可以带入道具?部分关卡是不能带入道具的。

    棋盘下面血瓶可以掉落的位置。

    8.2 关卡的限制

    关卡的可以滑动的步数

    关卡的时间,限定时间完成胜利条件,(Candy Crush 有,但Anipang2没有见到)

    8.3 胜利的条件

    达到足够的分数。

    消除所有的(一定数量)蓝冰,白雪

    所有的(一定数量)血瓶掉落到最下面,

    可以考虑的还有,消除所有箱子,所有锁,消除特殊颜色的道具

    8.4 失败条件

    目前无

    8.5 Candy Crush

    Candy Crush的设计里面还有很多中,甚至有一些失败条件,包括某种颜色得的消除数量,定时炸弹在一定次数没有消除爆炸等,目前在Anipang2中没有。

     【本文作者是雁渡寒潭,本着自由的精神,你可以在无盈利的情况完整转载此文 档,转载时请附上BLOG链接:http://www.cnblogs.com/fullsail/,否则每字一元,每图一百不讲价。对Baidu文库和360doc加价一倍】

  • 相关阅读:
    sp2010 升级sp2013 用户无法打开网站
    powerviot install in sharepoint 2013
    can not connect cube in performancce dashboard
    westrac server security configure user info
    添加报表服务在多服务器场
    sharepoint 2013 office web app 2013 文档在线浏览 IE11 浏览器不兼容解决方法
    delete job definition
    目前付款申请单内网打开慢的问题
    item style edit in sharepoint 2013
    Could not load file or assembly '$SharePoint.Project.AssemblyFullName$'
  • 原文地址:https://www.cnblogs.com/fullsail/p/3728960.html
Copyright © 2011-2022 走看看