TAS制作教程
TAS 制作教程,顾名思义,即为 Ballnce 的 TAS 制作所用教程。Ballance 的 TAS 制作门槛不高,但是仍然需要有一个教程来帮助有兴趣的朋友快速上手 Ballance 的 TAS 制作。
目录
前言
- 适合人群:了解 Ballance 基本内容及圈内常用术语,基础操作(如 安装和设置 mod 等)的玩家。
- 特点:
- 门槛低:搭建好环境后,制作并不复杂。
- 上限高:想做出一个高水准的 TAS,你可能需要较高的游戏理解和持之以恒的心态。
- 本教程为 TAS 制作教程,而非观看教程。观看 TAS 只需:
- 启用 TASSupport 功能并重启游戏。
- 在选关界面点击右下角 TAS 按钮,选择播放的 TAS 文件并进入对应关卡。
- 其他:
- 本教程所用操作方法均为本教程编写者的习惯。
- 如果你有任何疑问,直接在群里询问即可。
- 欢迎勘误
了解 Ballance 的 TAS 制作原理和流程
TAS(Tool-Assisted Speedrun)指在不修改游戏本体的前提下,利用模拟器的辅助功能(如外设输入模拟、存档、回退、慢动作与重录等)以极高精度完成游戏的一种方式。
Ballance的 TAS 制作,则是编写 TAS 文件,利用 BML 的 TASSupport 功能读取 TAS 文件,对游戏进行逐帧操控。
与其他游戏不同,Ballance 的 TAS 制作不支持回退帧操作,因此实际制作大致为以下步骤:
- 播放 TAS :使用 BML 和 TASSupport 功能在游戏中读取并播放编写的 TAS 文件。
- 观察与调整:根据播放时观察到的球体运动现象,修改 TAS 文件内容并保存。
- 重复调试:再次播放修改后的 TAS 文件,继续观察与调整,直到对结果满意为止。
配置 Ballance TAS 制作环境
如果有些地方不懂为什么要这么做,没关系,后面会讲具体的用法
- 下载整合包
- 下载 Ballance TAS制作整合包.zip(下称整合包)。可在 Ballance·研讨交流群 的群文件中找到
- 将整合包解压到合适的位置
- 准备游戏本体
- 找到 整合包目录\Ballance_TAS.zip 并解压到你觉得合适的位置。
- 该文件内容版本:游戏本体 + BMLPlus-v0.3.4-alpha8 + NewPlayer-v0.3.2
- 建议1:请务必使用该游戏本体,本文攥写者已经更改的部分设置,在下文中不会提及
- 建议2:为避免设置的频繁更改,建议该游戏目录仅用于播放 TAS,而非同时作为平时游玩的游戏目录
- 找到 整合包目录\Ballance_TAS.zip 并解压到你觉得合适的位置。
- 准备TAS文件
- 接下来以制作 SR3 为例
- 复制 整合包目录\misc\空tas文件\264fps.tas 到 游戏目录\ModLoader\TASRecords
- 将 游戏目录\ModLoader\TASRecords\264fps.tas 重命名为 SR3.tas
- 解释:
- 132fps 和 264fps 均可。
- 我们制作 TAS 时需要编辑修改的就是这个SR3.tas
- 基础游戏配置
- 双击 游戏目录\bin\player.exe 启动游戏
- 游戏打开后应该是窗口化模式,并且游戏窗口可以拖动,如果不能,请按下 Alt + Enter 切换为窗口模式。
- 游戏菜单\Options\Graphics\Screen Resolution:将分辨率设置为合适的大小(必须为4:3)。
- 游戏菜单\Options\Mods\BML\Graphics\UnlockFrameRate:设置为 yes
- 游戏菜单\Options\Mods\TASSupport\Misc 设置:
- Enable:Yes
- Record:No
- StopKey:合适的快捷键(用于结束TAS播放)
- ShowKeysGui:Yes(用于显示按键情况)
- ShowInfoGui:Yes(播放过程中显示玩家球的坐标、球速、转速等)
- SkipRenderUntil:0(可以理解成从什么时间点开始播放,单位:帧)
- ExitOnDead:No(球死亡时退出游戏)
- ExitOnFinish:No(播放结束时不退出游戏)
- ExitKey:合适的快捷键(用于随时退出游戏)
- AutoLoadTAS:SR3(游戏启动时自动播放 SR3.tas 文件)
- AutoLoadLevel:3(游戏启动时自动加载第3关。)
- Transcript:No
- 退出游戏
- 编辑器
- 找到 整合包目录\BallanceTASEditor-v1.2stable.zip 并解压到你觉得合适的位置
- 双击 编辑器目录\BallanceTASEditor.exe 启动编辑器
- 将 SR3.tas 拖入编辑器
- 点击 Edit (编辑),取消勾选 Horizontal Layout (横向布局)
- 使用 Ctrl + 滚轮 调整界面到合适的位置
- 具体使用方法详见 编辑器目录\!先看这个-说明书.pdf
- 关闭编辑器
- 限帧工具
- 目的与原理
- 限帧用于控制TAS播放速度:
- 如 TAS 是 500fps,限制为 250fps,则播放速度减慢,但游戏内部时间流逝保持不变
- 只需记住限帧工具可以调节播放速度即可。
- 限帧用于控制TAS播放速度:
- 工具选择
- 可使用 Bandicam
- 找到 整合包目录\Bandicam.zip 并解压到你觉得合适的位置
- 双击 Bandicam目录\BandicamPortable.exe 打开 Bandicam
- 在界面上方选择 游戏录制模式
- 在界面左边选择 FPS,设置一个快捷键以启用限帧功能。
- 勾选 显示叠加 FPS
- 勾选 热键,同时设置合适的快捷键
- 勾选 限制 FPS 为,同时设置合适的数值(20~50)
- 取消勾选 限制 FPS 为
- 关闭 Bandicam
- 可使用 Bandicam
- 目的与原理
至此,环境配置基本完成。
TAS制作的基本流程和操作方法
- 准备工作
- 打开TAS编辑器,将 SR3.tas 拖入TAS编辑器
- 打开 游戏目录\ModLoader\Config\TASSupport.cfg(你可以使用记事本、VScode等文本编辑器打开)
- 打开Bandicam(限帧工具)
- 制作TAS:编写TAS文件,播放TAS。
- TAS编辑器的具体使用方法详见 编辑器目录\!先看这个-说明书.pdf
- 利用TAS编辑器对每一帧操作
- 例如,我们在第800帧 到 第1300帧之间填入 ↑ (你可能需要先用选择模式先添加足够的帧数,TAS空文件只有917帧)
- Ctl + S 保存TAS文件
- 打开游戏,应该能观察到,球在第800帧 到 第1300帧之间输入的 ↑,球的运动状态是往前滚动。
- 继续编辑TAS文件,保存,打开游戏观察,重复此步骤,直到你满意为止。
- 技巧
- 限帧工具的使用:
- 使用 Bandicam快捷键 将帧数限制在某个大小,以调节TAS的播放速度,便于观察。
- 注意刚打开游戏的时候不要限帧,否则游戏打开会很慢
- ExitKey的应用:
- 当你获取到了足够的信息,不用继续观看播放 TAS 时,可以直接使用 ExitKey 退出游戏
- 注意,ExitKey 只有在正在播放时能触发,因此可以把TAS文件里的帧数添加多一点避免过早结束播放
- SkipRenderUntil的应用:
- 当你做了一段TAS之后,比如你已经做到第10000帧,如果每次都重头开始播放太费劲了。因此你可以选择直接跳过到某一帧,比如当你做到第10000帧,你可以选择直接在第9800帧开始观看,那么在 SkipRenderUntil 里填入 9800 即可。
- 为了方便,你可以直接在 TASSupport.cfg 里修改。其原理在前面已经说过。
- 限帧工具的使用:
- 至此,你已经有做出一个TAS的基本能力,接下来是一些功能的应用和技巧方法。
TAS制作技巧:游戏具体内容外的心得
真正的TAS制作流程第一步
- 最重要,最重要,最重要。路线、细节研究。制作TAS前必须先研究好路线和细节,不然做到最后才发现开头就做错了有你好受的
编写者的一些习惯(TAS制作环境)
- 将 Player.exe 固定到任务栏,以方便快速启动游戏
- 键位:
- ExitKey 为 K
- StopKey 为 L
- Bandicam 限帧快捷键 为 U
- Bandicam 录制快捷键 为 9
记得随时备份你的TAS文件
- 在研究路线分支时
- 利用 SpiritTrail 获取影子球后
- 在做出一个捷径或细节后想尝试再优化时
自制图TAS的制作方法
- 将自制图文件替换原版关卡文件,然后当成原版关制作即可。
非原版物理特性TAS(比如弹弹球TAS)的制作方法
- 更改控制该特性的文件,替换原版文件即可
加快跳过渲染的速度、提高帧率
- 以下mod建议在非必要的时候不要装,需要的时候再装
- Segment.bmod 该mod会大幅度降低最高帧数,减慢 TAS 播放的最快速度
- 将 游戏目录\Sounds\ 内所有音频换成0.01秒静音轨道,可以将跳过渲染的速度加快5%-15%
- 静音文件可以在 整合包目录\misc\空音频(替换游戏文件用于加快跳过速度 找到
- 如果电脑录制帧数跑不满:
- 方案1:做出成品后,你可以将tas文件交给高配电脑的玩家帮你录制视频
- 方案2:限制更低的帧数,例如 264fps 的tas文件限制为66 (264/4)帧,录制结束后利用视频软件将视频加速4倍
视频封面建议(非必要)
- 在经过一年多的TAS制作后,TAS制作者们无形中达成了一个共识,那就是Ballance TAS视频封面的特点。
- 封面背景图使用作者认为整关最华丽或最关键的某个捷径
- 文字颜色使用黄色
- 该规定只是一个好玩的规定,你仍然可以制作自己特色的封面
- 具体图例可以参照onlyforyou发布的视频封面
TAS制作技巧:路线、捷径、细节制作的基本方法
前言:任何方法都不是绝对的,你需要根据实际情况来制定最优的路线细节
Mod获取和使用方法:Ballance Mod 文档
尖头单轨的制作方法、路面边缘的寻找方法
- 利用 PositionViewer
- 利用BML变球种的功能,如果你的球本来就是木球,如果按下变木球的快捷键,那么球的物理状态将重置,也就是瞬间失去自转和速度。
- 该方法当前在BMLPlus暂时失效,但是你可以一直不停地切换球种来达成同样的效果
- 正常打开游戏(不播放TAS),开全局倍速0.3(低一点即可,方便观察球是怎么偏的)
- 把球放在单轨上,重置球物理状态,观察坐标变化,如果右偏就把球放到靠左一点再重置,不断逼近单轨正中心。利用该方法找到单轨中心的坐标,精度自己把控即可。
- 播放TAS时,观察球坐标在单轨中心附近就行,具体精度由你自己决定
侧轨的制作方法
- 利用 PositionViewer
- 正常打开游戏(不播放 TAS),贴住侧轨,记录坐标
- 播放 TAS 时观察坐标别超过记录的值就行,为了保证没有碰到侧轨,可以让球的坐标和值相差在0.01以上,但是也别差太多了,否则会慢,而且观赏性不佳。
碰撞时机的判断。变球器开始和结束的判断
- 利用 ShowInfoGui
- 利用限帧将播放变慢,录制播放
- 观察录像,当 ShowInfoGui 显示的速度发生突变时即为碰撞发生的时候
- 你需要会使用你的播放器的逐帧查看,一般是按F键
路线快慢对比方法
- 方法一:利用 NewSpawn(v0.0.2) 的影子球功能 和 PhysicsEditor 的全局倍速功能,反复手打对比,如果能观察出明显的快慢差距,即可得出结论。
- 方法二:利用方法一无法准确得出结论时,可以直接做两个路线的TAS
- 制作路线一的 TAS,利用 SpiritTrail 记录影子球。(如果路线未到达盘点,你可以使用 StopKey 结束TAS播放,然后手打让球经过盘点以此记录影子球。)
- 备份路线一的 TAS
- 返回某个时间节点,制作路线二的TAS,观察影子球即可对比快慢
换视角
- 在游戏中,按下 shift+方向键 换视角的瞬间,视角立即发生变化,但是此时键盘输入的方向并未立即发生改变(即当你按住↑走单轨时,立即换视角,在视角旋转最开始的时刻,你仍然需要按住 ↑ ,直到某一时刻改变了游戏的操作方向)
- 经测试,操作方向发生变化的时刻,在按下 shift 换视角后的0.25秒左右
- 在264fps的tas中,如果第1帧按下 shift ,那么你应该在第63帧(即相隔62帧)开始输入新的方向
- 在132fps的tas中,如果第1帧按下 shift ,那么你应该在第36帧(即相隔35帧)开始输入新的方向
- 你仍然可以自己测试操作方向发生变化的时刻,利用BMLPlus的TASSupport的ShowInfoGui,观察速度变化的时刻来确定操作方向发生变化的时刻
平地纸球 & 视野遮挡 做法(该具体方法在BMLPlus失效)
- 这一目的是减少由于纸球不规则带来的一些小卡顿问题
- 将 Camera 功能启用,将 MoveDown 快捷键设置为 Q,在TAS编辑器中设置一段帧按 Q,那么在后面的视角里,纸球的平地运动将会变得清晰可见
- 观察纸球运动即可在有较大卡顿的地方做处理
- 追求极致可以结合速度显示器
- 在264fps下,按500帧 Q 即可获得一个不错的视角。同理,132fps下,按250帧
- 该方法同样适用于做 6-2 等具有遮挡的关卡,可以避免遮挡
纸球爬护栏
- 有一个技巧,因为爬护栏需要在到护栏前一刻弹起来,而弹起来的一瞬间速度是向上的,此时如果碰到护栏反而削弱了向上的速度,所以可以尝试磕起瞬间反方向按键1-2帧,目的是不让球过快碰到护栏而减速
- 具体例子请参考 fluoresce 的 TAS SR6-3
纸球平地鬼躲 提高成功率做法
- 鬼躲前只走一边
- 具体例子请参考0x386的 TAS SR09 中的第3节,第5节
- 该方法由于尝试例子太少不排除只是运气好的偶然因素,即该方法可能是假的有用
音乐卡点设计方法
- 获取音乐重要位置的毫秒数
(编写者是用osu!编辑器获取并导出的) - 确定 TAS 播放时音乐的起点帧
- 计算音乐的几毫秒对应的这个 TAS 的 fps 下的第几帧(可能需要编程)
- 将帧数加上起点帧即为实际帧位置,列出清单
- 做的时候保证这个帧时刚好位于碰撞等有节奏感的位置
其他
- 这个条目比较杂,想到什么就写什么
- 一帧的状态不止按左或按右,还有不按