[预告] 跳舞的线自制

[预告] 跳舞的线自制

简介

跳舞的线是个有毒的游戏。

由于我已经将超难关卡《中国园林》完美通关(嗯,《春节》也完美),我打算自行制作一些关卡。现在开发与制作同时进行。

关卡制作

以下内容并非按难度排序。黑色部分表示已经制作。右边的两个数字表示钻石与皇冠的数量。皇冠数包含终点处的一个皇冠。

  1. The Storm TTF  – 风暴之怒  15/6(终点有皇冠,结束点150%)
    专用文章:此处
  2. The ??? – ???  15/5 (终点无皇冠)
    进度:刚铺完路

开发工作

开发工作基本已经完成。如果要了解一些草率的技术细节请继续看。

 

目前跳舞的线核心代码(Unity)的开发进展如下(以下的示例图片均是后期添加,因此可能会出现“没有开发”的元素):

  • 方块移动

    技术细节:
    旧版:每帧克隆方块,形成线
    新版:用最少的长方体条构造线
  • 跌落(方块从空中掉下后掉到地上的功能

    技术细节:Rigidbody作为物理引擎。禁止方块旋转。
  • 死亡(碰撞、掉出世界与传感器死亡)

    技术细节:碰撞的方块若被标记为不可接触的障碍物(即使是掉到上面)即判定死亡;掉落至一定高度以下判定为死亡(可变,传感器可以改变这个数字);碰到特定传感器判失败。
  • 重生/重新开始(不退出游戏而重新开始)
    技术细节:不重新加载场景。通过将方块放至原位、调整视角、清除线轨迹与恢复动画等一系列操作实现重新开始。
  • 弹跳(传感器弹跳)

    技术细节:传感器是带有MetaGround内容的物体。玩家检测碰撞到这个物体以后,根据物体的属性进行弹跳、死亡、U形转弯或判定过关等操作。
  • 自动旋转(传感器激活)

    技术细节:直接改变方块方向,并且对上一块条状轨迹增加一段长度,用于过关时的45度转弯。
  • 通关(传感器激活)
    技术细节:碰到传感器时标记过关,阻止玩家操作,并于计时器一定时间后重新开始。
  • U转弯(传感器激活)

    技术细节:玩家经过传感器时,判定旋转方向的loopCount加一,使玩家下一次反方向旋转。
  • 视角硬跟随与转换(传感器激活)
    技术细节:视角作为玩家的子物体,但是通过计算方法保持方向不改变。玩家碰到传感器时,视角随即平滑(一次函数方式)调整位置和方向。
  • 关卡进度的衡量(百分比和距离单位)

    技术细节:利用玩家所走的距离除以关卡的理论距离,得到百分比。如果没有过关,但是百分比超过通关百分比-1的数值,那么百分比只能是通关百分比-1。如果通关,百分比一定是通关百分比。向下取整。此处允许通关百分比为100%,120%,150%,3000%或各种自定义数值。
  • 3D文字的加入

    技术细节:使用网上的3D Text Shader避免字体被透视,并改进Shader使其支持迷雾。使用自定义字体。
  • GUI引入

    技术细节:使用UI系列GameObject布局。
  • 视角平滑移动(可以参考原版舞线的《风暴 [Blues remix]》了解其重要性。
    技术细节:视角每帧向理想位置移动b*((k^time-1)/(k-1))的比例。其中,b,k为常数,time为上一帧到这一帧所耗时间。
  • 钻石收集与数量计数

    技术细节:玩家离钻石距离达到1或更近时收集钻石。
  • 皇冠收集与复活点选择

    技术细节:玩家离皇冠距离达到2或更近,皇冠被收集(旧版中皇冠可以躲掉)。玩家选择复活点后,系统按照皇冠标记的数值进行放置玩家、调整视角等操作,同时,禁用该皇冠与其之前的皇冠(不会再被收集)
  • 复活点计数

    技术细节:即为沿途收集皇冠数。只有过关才有效
  • 跌落特效

    技术细节:球形粒子向随机方向匀速运动并缩小。大小减为0即销毁。
  • 线的变色
    技术细节:将颜色(RGB)直接相减然后进行变色。
  • 皇冠指示器

    技术细节:皇冠被收集时,即启用皇冠指示器的填充部分。
  • 用户界面多分辨率适配以及改进
    技术细节:通过调节布局锚点实现。
  • 自动撞死

    技术修正:
    旧版:现在已经在确认合理的情况下将上图的0.08改为0.01.
    新版:①改为比应当移动距离的0.98倍还要少 ②若线卡边造成大于0.01cm的偏离判死亡
  • 皇冠光晕(收集后从皇冠飞向指示器,并点亮指示器)

    (技术细节:光晕是一个ParticleSystem。运动过程中,其海拔与运动的时间成二次函数关系,离皇冠原来所在点的水平距离与运动时间成正比)
  • 实现关卡元素的动态效果控制器
    技术细节:同时使用时间、线的位置和初始化事件控制动态。
    进一步实现已完成。
  • 加入音乐
    技术细节:
    旧版:音画同步上,采用调节音频使其与图像同步的方法。每60帧刷新一次音频进度。
    新版:使用Stopwatch衡量时间,以与音乐严格对应。
    修正原因:使用旧版方法在手机上会导致音乐节拍混乱
  • TTF式关卡选择器

    技术细节:
    旧版:使用按钮切换到前一个或后一个场景(较为卡顿,因此还不合适)
    新版:以场景0作为关卡选择表。背景是贴图。
    修正原因:“因此还不合适”。新版方法中,由于关卡表很小,返回关卡表几乎不需要加载,而左右切换关卡也不需要加载。
  • 集成式数据保存

    技术细节:结构体序列化后存至Appdata(Windows)或data(Android)目录中。成品不会提供iOS版。
  • 非碰撞式传感器
    注:表示对Trigger的传感器物体的支持以及对用时间来触发传感器的支持。
  • 皇冠的时间收集

    注:皇冠到其所标注的距离(时间)时还没有被收集,则自动收集,避免皇冠被躲掉(终点皇冠除外)。
  • 传送器(传感器子集)与铺路机

    注:传感器——方块触碰时将方块传送到其他地方(参考原版舞线的《足球》了解作用)
    注:铺路机——开启且处于开发模式时,线在行走同时会铺设路径(如上图绿色区域)

  • 适配到安卓
    技术细节:Canvas Scalar
  • 音画同步手动调节器

    技术细节:对于不同的手机(电脑没有这个效果),播放音频的延时不一样。因此,需要调节同步。
  • 指引线

    技术细节:考虑到性能,只有指引框。光波是一个Panel

核心代码完成一段时间后会随文档一起廉价开源。

评论: 2

添加评论

我们将在300年后停止对游客评论的支持。请尽快注册或登录
本站现已支持评论使用Markdown来发挥个性。Markdown说明