打开主菜单

Ballance Wiki β

TAS制作教程

Fluoresce讨论 | 贡献2023年10月12日 (四) 12:27的版本

TAS制作教程,顾名思义,即为Ballnce的TAS制作所用教程。Ballance的TAS制作门槛不高,但是仍然需要有一个教程来帮助有兴趣的朋友快速上手Ballance的TAS制作。

目录

前言

  • 本教程并非纯新人保姆式教程,你需要知道Ballance游戏的基本内容,了解一些简单的Ballance圈词汇,会一些基本操作等。例如:设置简化16位色,安装、设置mod等。
  • 本教程是TAS的制作教程而不是观看教程,观看TAS只需要把TASSupport功能启用,重启游戏,然后在选关界面点击右下角的TAS按钮,选择需要播放的TAS文件,再进入对应关卡即可。
  • TAS制作的门槛很低,只需要把环境搭建好,之后的难度就会很低。但是TAS制作的上限很高,如果你想做出一个高水准的TAS,那么你可能需要较高的游戏理解和持之以恒的心态。(实际上游戏理解并不难学习)
  • 本教程所用操作方法都为本教程编写者的习惯。
  • 如果你有任何疑问,可以直接在群里询问即可。

了解Ballance的TAS制作原理和流程

TAS,全称Tool-Assisted Speedrun,即“工具辅助竞速”。指以完全不变动游戏本体为前提,利用游戏机模拟器(例如模拟外设输入、存档、回退、慢动作与重录等)的辅助功能,以极高的精度完成游戏的一种游戏方式。

Ballance的 TAS制作,则是编写TAS文件,利用BML的TAS功能读取TAS文件,对游戏进行逐帧操控。

与其他部分游戏的TAS制作不同的是,Ballnce的TAS制作无法进行回退帧操作,因此,我们制作Ballance TAS时的方法和步骤大致为以下流程:

  1. 打开游戏,利用BML和TASSupport功能在游戏中读取并播放编写的TAS文件(以下简称播放TAS)。
  2. 观察玩家球的运动,根据观察到的现象,对TAS文件内容进行修改,保存修改后的TAS文件。
  3. 再次播放TAS,观察现象,继续对TAS文件内容进行修改,即重复前两步的操作,直到修改为你认为播放TAS的结果满意为止。

配置Ballance TAS制作环境

  1. 游戏本体及配置(如果有些地方不懂为什么要这么做,没关系,后面会讲具体的用法)
    • 下载Ballance TAS制作整合包.zip(下称整合包,可以在Ballance·研讨交流群群文件中找到)
    • 解压整合包,找到游戏本体.zip并解压到你觉得方便的位置。(游戏本体.zip自带了最新版TASSupport、Speedometer。旧版TASSupport没有frame count,即没有播放界面中间位置的帧计数。为了方便TAS制作,我们会开启【打开游戏就开始播放TAS】这一选项,为了避免需要手打的时候反复开关此选项,编写者建议读者新建一个游戏目录用来存放播放TAS所用的游戏本体,而不是直接使用你手打游玩的游戏本体来播放TAS。)
    • 运行切换全屏或窗口化 (switch fullscreen).bat 将Ballance切换为窗口化。(该文件在游戏本体解压的目录里)
    • 进入bin文件夹,右键player.exe 属性,设置兼容性简化16位色。(避免在有些电脑上出现问题)
    • 进入ModLoader\TASRecords,然后把264fps.tas重命名为你想要的名字(这里举例比如重命名为“SR5.tas”。另外,264fps.tas是一个空的tas文件,即播放帧率为264fps,其他的帧率也可,不过编写者推荐使用264fps的tas文件,因为帧率高一点,那么制作的时候可操作的精度就会高一点。我们后面就是要编辑这个文件制作TAS)
    • 双击player.exe打开游戏。
    • 设置分辨率(必须为4:3的分辨率,你觉得什么大小的窗口合适就用哪个)。
    • 接下来设置Mod,打开FramerateUnlocker的设置界面,在设置面板的第一个空(也就是FrameRateOverrideType)处填上1,即设置为不限制最高帧数(不能设置成2,否则开头跳过渲染会很慢,后面会说)。
    • 打开TASSupport的设置界面,
      • Enable -> Yes
      • Record -> No(这是一个不会用到的功能)
      • StopKey -> 你觉得方便的快捷键(这个用于在TAS正在播放的时候结束播放TAS)
      • ShowKeysGui -> Yes(用于在播放TAS时显示按键情况)
      • SkipRenderUntil 指的是打开游戏播放TAS时,快速跳转到某个时间点,这里举例比如先填一个“300”,即开始播放时跳转到第300帧的时候开始播放(因为Ballance的TAS制作需要每次都重新打开游戏开始播放,当TAS制作到关卡后面一部分时,每次都还需要重头开始观看播放太费时间了,因此我们可以利用这个功能跳转你想要的位置而不用反复观看开头的播放,其本质是不渲染这一段游戏画面让TAS能够以很快的速度播放到那个位置,前面说的FramerateUnlocker不能设置成2就是因为如果限制帧数了,那么跳过渲染的时候仍然被这个mod所限制而不能快速跳过)
      • 翻到下一页
      • ExitOnDead -> Yes(在球死亡时退出游戏,除非有死球捷径,不然这个都可以打开)
      • ExitOnFinish -> No(在播放结束时退出游戏)
      • ExitKey -> 你觉得方便的快捷键(在播放TAS时,如果你已经获取到有用的信息了,可以直接按这个键退出游戏)
      • AutoLoadTAS 即进入游戏自动加载TAS文件,比如我们在这里填写“SR5”,表示打开游戏就自动播放SR5.tas文件
      • AutoLoadLevel 自动加载的关卡,这个需要和上面一个设置结合,既然是要做SR5的TAS,那么就自动加载第五关,所以这里我们可以填一个“5”
  2. 编辑器
    • 在整合包里找到BallanceTASEditor-v1.0stable.zip并解压到你觉得合适的位置。
  3. 限帧工具
    • 【限帧的目的和原理】限帧是为了控制TAS播放的速度。其原理是比如tas是500fps,两帧之间是0.002s,但是如果限制到250fps,两帧中间有0.004s,但是TASSupport mod会强行设置上帧用时为0.002s,让游戏认为只过了0.002s,因此播放会变慢。如果不能完全理解,只需要记住限帧能控制TAS播放速度就行。
    • 对于限帧工具,方法非常多,编写者这里用的是Bandicam,可以限帧也可以录制,比较方便,以下以Bandicam为例进行示范。在整合包里可以找到Bandicam.zip并解压到你觉得合适的位置(已有Bandicam的读者可以忽略这一步)。打开Bandicam,选择录制模式为游戏录制模式,在左边栏里选择“FPS”,勾选显示叠加FPS,然后勾选热键并设置你觉得合适的快捷键。

至此,环境配置基本完成。

TAS制作的基本流程和操作方法

  1. 准备工作
    • 打开TAS编辑器,打开ModLoader\TASRecords目录,把TAS文件(SR5.tas)拖入TAS编辑器
    • 打开ModLoader\Config\TASSupport.cfg(你可以使用记事本、VScode等文本编辑器打开)
    • 打开Bandicam(限帧工具)
  2. 制作TAS:编写TAS文件。播放TAS。
    • TAS编辑器的使用方法具体可以查阅编辑器目录下的【!先看这个-说明书.pdf】
    • 利用TAS编辑器对每一帧操作,例如,我们在第800帧 到 第1300帧之间填入“↑”(你可能需要先用选择模式先添加足够的帧数,TAS空文件只有917帧),保存TAS
    • 打开游戏,应该能观察到,球在第800帧 到 第1300帧之间输入的“↑”,球的运动状态是往前滚动。
    • 【技巧】限制工具的使用。将帧数限制在某个大小,以调节TAS的播放速度,便于观察。(如果能使用快捷键来限帧会方便很多,注意刚打开游戏的时候不要限帧,否则游戏打开会很慢。即:在游戏进入开始播放时进行限帧)
    • 【技巧】ExitKey的应用。当你获取到了足够的信息,不用继续观看播放TAS时,可以直接使用“ExitKey”退出游戏(注意,ExitKey只有在播放时能触发,因此可以把TAS文件里的帧数添加多一点避免过早结束播放,或者你使用ExitOnFinish也可,但是不推荐)
    • 继续编辑TAS文件,保存,打开游戏观察,重复此步骤,直到你满意为止。
    • 至此,你已经有做出一个TAS的基本能力,接下来是一些功能的应用和技巧方法。
    • 【技巧】SkipRenderUntil的应用。当你做了一段TAS之后,比如你已经做到第10000帧,如果每次都重头开始播放太费劲了。因此你可以选择直接跳过到某一帧,比如当你做到第10000帧,你可以选择直接在第9800帧开始观看,那么在SkipRenderUntil里填入9800即可。为了方便,你可以直接在TASSupport.cfg里修改。其原理在前面已经说过。

TAS制作技巧:游戏具体内容外的心得

真正的TAS制作流程第一步

  • 最重要,最重要,最重要。路线、细节研究。制作TAS前必须先研究好路线和细节,不然做到最后才发现开头就做错了有你好受的

编写者的一些习惯(TAS制作环境)

  • 对于TAS编辑器,编写者认为竖向布局好用,但是你仍然可以根据自己的情况选择。点击【编辑】,再点击【横向布局】,将【横向布局】的勾去掉即可
  • 将ModLoader\TASRecords目录添加到快速访问,这样能迅速找到目录,回退一级就是ModLoader目录
  • 将Player.exe添加快捷方式到桌面,以方便快速启动游戏

记得随时备份你的TAS文件

  • 在研究路线分支时
  • 利用SpiritTrail获取影子球后
  • 在做出一个捷径或细节后想尝试再优化时

自制图TAS的制作方法

  • 将自制图文件替换原版关卡文件,然后当成原版关制作即可。

非原版物理特性TAS(比如弹弹球TAS)的制作方法

  • 更改控制该特性的文件,替换原版文件即可

加快跳过渲染的速度、提高帧率

  • 以下mod建议在非必要的时候不要装,需要的时候再装
    • PositionViewer.bmod 该mod会严重减慢播放TAS开头跳过渲染时的速度
    • Segment.bmod 该mod会大幅度降低最高帧数,减慢TAS播放的最快速度
  • 可以另外建一个游戏目录,使用dx9来观看TAS(对于低配机)
    • 具体使用方法参照dx9教程,这里不赘述,该方法需要全屏
    • 该方法仅仅适合需要感受一下原速播放时是怎么样的时候用一下,建议不要直接使用dx9制作播放TAS。因为每次打开都需要全屏实在太慢了。
  • 将游戏目录下Sounds文件夹内所有音频换成0.01秒静音轨道,可以将跳过渲染的速度加快5%-15%
  • 做出成品后,你可以将tas文件交给高配电脑的玩家帮你录制视频(对于低配机)

视频封面建议(大雾)

  • 在经过一年多的TAS制作后,TAS制作者们无形中达成了一个共识,那就是Ballance TAS视频封面的特点。
  • 封面背景图使用作者认为整关最华丽或最关键的某个捷径
  • 文字颜色使用黄色
  • 该规定只是一个好玩的规定,你仍然可以制作自己特色的封面
  • 具体图例可以参照onlyforyou发布的视频封面

TAS制作技巧:路线、捷径、细节制作的基本方法

前言:任何方法都不是绝对的,你需要根据实际情况来制定最优的路线细节

尖头单轨的制作方法、路面边缘的寻找方法

  • 利用PositionViewer(编写者的该mod设置分别是0.93和12)
  • 利用BML变球种的功能,如果你的球本来就是木球,如果按下变木球的快捷键,那么球的物理状态将重置,也就是瞬间失去自转和速度。
  • 正常打开游戏(不播放TAS),开全局倍速0.3(低一点即可,方便观察球是怎么偏的)
  • 把球放在单轨上,重置球物理状态,观察坐标变化,如果右偏就把球放到靠左一点再重置,不断逼近单轨正中心。利用该方法找到单轨中心的坐标,精度在±0.02内即可。
  • 播放TAS时,观察球坐标在单轨中心附近就行,具体精度由你自己决定(编写者常用的是±0.02以内)

侧轨的制作方法

  • 利用PositionViewer
  • 正常打开游戏(不播放TAS),贴住侧轨,记录坐标
  • 播放tas时观察坐标别超过记录的值就行,为了保证没有碰到侧轨,可以让球的坐标和值相差在0.01以上,但是也别差太多了,否则会慢,而且观赏性不佳。

碰撞时机的判断。变球器开始和结束的判断

  • 利用Speedometer
  • 利用限帧将播放变慢,录制播放
  • 观察录像,当Speedometer显示的速度发生突变时即为碰撞发生的时候(你需要会使用你的播放器的逐帧查看,一般是按F键)

路线快慢对比方法

  • 方法一:利用NewSpawn(v0.0.2)的影子球功能 和 PhysicsEditor(也可用ChangeGameSpeed替代)的全局倍速功能,反复手打对比,如果能观察出明显的快慢差距,即可得出结论。
  • 方法二:利用方法一无法准确得出结论时,可以直接做两个路线的TAS
    • 制作路线一的TAS,利用SpiritTrail记录影子球。(如果路线未到达盘点,你可以使用StopKey结束TAS播放,然后手打让球经过盘点以此记录影子球。)
    • 备份路线一的TAS
    • 返回某个时间节点,制作路线二的TAS,观察影子球即可对比快慢

换视角

  • 在游戏中,按下shift+方向键换视角的瞬间,视角立即发生变化,但是此时键盘输入的方向并未立即发生改变(即当你按住↑走单轨时,立即换视角,在视角旋转最开始的时刻,你仍然需要按住↑,直到某一时刻改变了游戏的操作方向)
  • 经测试,操作方向发生变化的时刻,在按下shift换视角后的0.25秒左右。
  • 在264fps的tas中,如果第1帧按下shift,那么你应该在第63帧(即相隔62帧)开始输入新的方向。
  • 你仍然可以自己测试操作方向发生变化的时刻,利用speedometer.bmod,观察速度变化的时刻来确定操作方向发生变化的时刻。