[预告] 跳舞的线自制

[预告] 跳舞的线自制

简介

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

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

关卡制作

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

  1. The Beginning – 序章  10/3(终点有皇冠)
    进度:铺路 -> 设置皇冠 -> 布景 -> 添加钻石 -> 动画
    “一个良好的开端是成功的一半”
    注:音乐为原舞线时光一关,但这里做的不是原序章。
  2. The Final Exam – 期末考试   [FAKE REMIX]  10/3(终点无皇冠)
    进度:铺路 -> 设置皇冠 -> 布景 -> 添加钻石 -> 动画
    “声败肛裂 难上加难”
    技术需求:贴图
    注:音乐为原舞线的末日一关。
  3. The Jinkela – 金坷垃  20/6(终点有皇冠)
    进度:铺路 -> 设置皇冠 -> 布景 -> 添加钻石 -> 动画
    “要世界农业都发达”
    技术需求:简单形状,水面
    注:音乐为《听鬼畜听到醉》
  4. The Calories – 卡路里 12/6(终点有皇冠)
    进度:铺路 -> 设置皇冠 -> 布景(完成10%) -> 添加钻石 -> 动画
    技术需求:简单形状的拼接,快速动态效果,3D文本广泛应用
    注:音乐为《卡路里》
  5. The Storm TTF  – 风暴之怒  15/5(终点有皇冠,结束点150%)
    难度评定:连点难度>刺客传奇 视角难度=风暴 容错率较小
    专用文章:此处
    进度:铺路 -> 设置皇冠 -> 布景(完成99%) -> 添加钻石 -> 画(完成99%)
    注:音乐为TTF(穿越迷雾)的《风暴之怒》关卡。关卡在150%的地方结束。99%之后的布景依赖动画,因此先制作动画。

开发工作

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

目前跳舞的线核心代码(Unity)的开发进展如下:

  • 方块移动

    技术细节:每帧克隆方块,形成线
  • 跌落(方块从空中掉下后掉到地上的功能

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

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

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

    技术细节:碰到传感器时标记过关,阻止玩家操作,并于计时器一定时间后重新开始。
  • U转弯(传感器激活)

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

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

    技术细节:使用网上的3D Text Shader避免字体被透视。为了中文打字方便,使用微软雅黑字体。
  • GUI引入

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


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


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

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

    技术细节:球形粒子向随机方向匀速运动并缩小。大小减为0即销毁。
  • 线的变色

    技术细节:将颜色(RGB)直接相减然后进行变色。
  • 皇冠指示器(无动态效果) ——已被取代

    技术细节:皇冠被收集时,即启用皇冠指示器的填充部分。
  • 用户界面多分辨率适配以及改进


    技术细节:通过调节布局锚点实现。
  • 自动撞死

    注:现在已经在确认合理的情况下将上图的0.08改为0.01.
  • 皇冠光晕(收集后从皇冠飞向指示器,并点亮指示器)

    (技术细节:光晕是一个ParticleSystem。运动过程中,其海拔与运动的时间成二次函数关系,离皇冠原来所在点的水平距离与运动时间成正比)
  • 实现关卡元素的动态效果控制器
    技术细节:同时使用时间、线的位置和初始化事件控制动态。
  • 加入音乐
    技术细节:音画同步上,采用调节音频使其与图像同步的方法。每60帧刷新一次音频进度。
  • 钻石收集碎片与光晕效果 ——弃坑
  • 旧版式关卡选择器

    技术细节:使用按钮切换到前一个或后一个场景(较为卡顿,因此还不合适)
  • 集成式数据保存

    技术细节:结构体序列化后存至Appdata(统一独立平台)或data(Android)目录中。成品不会提供iOS版。
  • 非碰撞式传感器
  • 皇冠的时间收集
    注:皇冠到其所标注的距离(时间)时还没有被收集,则自动收集,避免皇冠被躲掉(终点皇冠除外)。
  • 传送器(传感器子集)与铺路机

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

  • 防止卡顿时线条不连贯
  • 适配到安卓
    技术细节:Canvas Scalar
  • 音画同步自动调节器
    技术细节:对于不同的手机(电脑没有这个效果),播放音频的延时不一样。因此,需要用程序测定该差异并作出相应调节。
  • 线轨迹的垂直运动
    注:当线轨迹下的路抬高时,线轨迹同时抬高。抽去轨迹下的路,轨迹向下掉落。
  • 关卡概览表
    技术细节:使用上下关切换太卡,故需要一个概览表,直达关卡。
  • 回放
    技术细节:录制玩家玩游戏时的点击,在原关卡上重播。对于录制通关视频很有帮助。若播放误差过大则删除此功能。

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

评论: 2

添加评论

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