植物大战僵尸吧 关注:574,673贴子:5,160,029

Lawn of Tears:种子雨的规律

只看楼主收藏回复

依旧是讨论小游戏的一些相关机制,具体内容见回复贴。


IP属地:河北1楼2023-10-22 15:34回复
    首先,种子雨的掉落倒计时初始值为100cs,到0时掉落卡片。
    之后的掉落倒计时为[500,999)范围内的随机整数,单位cs。
    种子雨掉落的卡片,横坐标为[100,649)范围内的随机整数,单位px。
    运动轨迹就是正常的慢慢从天上掉下来的模式(物品一运动的有关规律后面单独拿出来说)。


    IP属地:河北2楼2023-10-22 15:40
    收起回复
      2026-01-09 05:39:38
      广告
      不感兴趣
      开通SVIP免广告
      种子雨决定卡片种类的过程如下:
      ①获得目前可以启用的卡片的最大ID,记录为maxID(冒险一周目就是通过目前所在的关卡后获得的卡的编号,其他情况为49)
      ②在[0,maxID)中随机选取一个整数,记录为aSeedType
      ③以下情况,aSeedType不合法,重新随机:
      1.这个卡片在这关不推荐(即迷雾关卡选卡时,标注为不推荐的卡片)
      2.这个卡片不可用(没有购买,或是没有获得)
      3.这个卡片是升级类卡片(也就是紫卡)
      4.这个卡片属于集合{向日葵,双子向日葵,咖啡豆,叶子保护伞,阳光菇,模仿者}
      ④在随机完毕后,有(30 - 荷叶数量 * (29)/18)%的概率将结果替换为荷叶,公式中的荷叶数量被限制在[0,18]内,低于0视为0,大于18视为18.


      IP属地:河北3楼2023-10-22 15:46
      收起回复
        特别的,如果奖杯已经掉落,直接停止种子雨的刷新。


        IP属地:河北4楼2023-10-22 15:47
        回复
          一个有趣的事实,如果在1-1的时候,强行去打种子雨,那么只会掉落荷叶与豌豆射手。
          且随着荷叶越种越多推进,豌豆射手浓度越来越大。
          最适合打种子雨的时机可能是1-3的时候,1-3游玩只会掉落荷叶、豌豆射手、樱桃炸弹,且荷叶种满后,大约有一半的卡都是樱桃炸弹。


          IP属地:河北5楼2023-10-22 15:49
          收起回复
            关于“雨”的动画效果。
            雨会在地面上产生水花效果,初始倒计时为0,之后倒计时为[10,20)的随机整数。当倒计时小于0且已经预载完毕(可以基本忽略这个条件)时产生水滴。一共产生三个特效:
            水花特效1,产生的横坐标为[40.0,740.0)之间的随机浮点数,纵坐标为[90.0,240.0)之间的随机浮点数(在上半场陆地),透明度为[100,200)之间的随机整数,尺寸为[0.7,1.2)之间的随机浮点数。
            水圈特效,产生的横坐标为[40.0,740.0)之间的随机浮点数,纵坐标为[290.0,410.0)之间的随机浮点数(在水池上),透明度为[50,150)之间的随机整数,尺寸为[0.7,1.1)之间的随机浮点数。
            水花特效2,产生的横坐标为[40.0,740.0)之间的随机浮点数,纵坐标为[450.0,580.0)之间的随机浮点数(在下半场陆地),透明度为[100,200)之间的随机整数,尺寸为[0.7,1.2)之间的随机浮点数。


            IP属地:河北6楼2023-10-22 15:54
            回复
              同时,关于雨本身。
              雨在3d加速关闭的时候不会绘制。
              雨绘制的坐标相对于游戏主场地(Board)有一个偏移量,当Board相对屏幕的横向偏移大于0时,为:(Board横向偏移+100)/100 * -100,否则为Board横向偏移 / 100 * -100。
              上式中的除为整除。
              之后,雨先绘制远景雨,步骤如下:
              算出横向当前偏移与纵向当前偏移,这与特性倒计时有关,下式%表示取模。
              横向当前偏移:-(特效倒计时 % 100)
              纵向当前偏移:-100 + 5 * (特效倒计时 % 20)
              然后,绘制63份,横向9份纵向7份。
              左上角横坐标:横向当前偏移 + 100 * 横向当前份数 + 相对Board偏移量
              左上角纵坐标:纵向当前偏移 + 100 * 纵向当前份数
              之后,类似的,雨绘制近景的雨。
              绘制过程如下:
              横向当前偏移:-(特效倒计时 % 161) / 1.61
              纵向当前偏移:-100 + 100 * (特效倒计时 % 33) / 33
              然后,绘制63份,横向9份纵向7份。
              左上角横坐标:(横向当前偏移 + 100 * 横向当前份数) * 1.5 + 相对Board偏移量
              左上角纵坐标:(纵向当前偏移 + 100 * 纵向当前份数) * 1.5
              且近景的雨的图像会被拉大成原先的1.5倍(保持左上角坐标不变)。
              可以发现远景雨比近景雨移动的更快,近景雨比远景雨更大,这是为了实现立体感。
              (其实很多游戏也有类似的手法,是一种非常常见的手法了,比如空洞骑士里,背景图层、骑士所在图层和顶层移动速度也是不一样的,古老盆地那的比较明显)


              IP属地:河北7楼2023-10-22 16:06
              收起回复
                支持泪水之坪


                IP属地:上海8楼2023-10-22 16:14
                回复
                  2026-01-09 05:33:38
                  广告
                  不感兴趣
                  开通SVIP免广告
                  题外话,标题是在neta某个续作一直没出的游戏(笑)


                  IP属地:河北9楼2023-10-22 16:15
                  收起回复


                    IP属地:北京来自Android客户端10楼2023-10-22 16:40
                    回复
                      赶上了


                      IP属地:浙江11楼2023-10-22 16:40
                      回复
                        在想我的事?


                        IP属地:广东来自Android客户端12楼2023-10-22 17:10
                        收起回复


                          IP属地:山东来自Android客户端13楼2023-10-22 17:23
                          回复
                            好好好


                            IP属地:山西来自Android客户端14楼2023-10-22 18:16
                            回复
                              2026-01-09 05:27:39
                              广告
                              不感兴趣
                              开通SVIP免广告


                              IP属地:辽宁通过百度相册上传15楼2023-10-22 18:36
                              回复