MisaMino
(重定向自Misamino)
该页面原文来自 Tetris Wiki,原页面链接:MisaMino。本页文本内容在CC BY-NC-SA 3.0许可协议下提供,对本页的所有贡献亦采用该许可协议发布。 |
该页面介绍的是方块对战游戏 MisaMino,玩家可在游戏中对战同名 AI。下载地址在外链章节。 |
这篇文章需要改进,你可以帮助俄罗斯方块中文维基进行编辑。 编辑者签名:阅读游戏源代码,解决条目中诸如软降前摇等代码层面遗留问题。。 |
MisaMino | |
---|---|
开发 | misakamm |
游戏平台 | Windows |
发行时间 | 2013年7与15日 |
最新版本 | 1.4.5 / 2013年11月11日[1] |
游戏信息 | |
预览块数 | 6 |
场地大小 | 10 × 20(+20)[注 1] |
暂存 | 有 |
硬降 | 有 |
旋转系统 | SRS |
MisaMino 是由社区玩家 misakamm(御坂美琴,中文社区编号TSSS[注 2]) 于2013年中在 Hard Drop 论坛上发布的方块 AI [1]。AI 的代码同样也被 misakamm 上传至 GitHub[2]。
社区玩家赞誉 MisaMino 开创了现代对战方块 AI 的先河,之后的 Zetris、ColdClear 等 AI 都参考或借鉴了 MisaMino。MisaMino 本身也被移植到 Jstris 等非官方四连方块游戏平台上[3]。
配置
MisaMino 有诸多供调节的选项,但它们大多需要玩家修改配置文件。以下给出能在游戏中直接通过按键实现的功能。
功能键 | 功能 |
---|---|
F2 | 重开(仅限20块前或终局后) |
F3 | 是否预览垃圾行 |
F4 | 方格是否可见 |
F5 | 调高主音量(一次5%) |
F6 | 调低主音量(一次5%) |
F12 | 配置助手 |
除了 .exe 可执行文件本身,你还能找到一份名为 misamino.ini 的文件。该文件共有六个部分,包含简单的 key=value 设置选项。 游戏还附带解释上述选项的 TetrisGameReadme.txt 说明书。
AI
delay
- 仅在turnbased
关闭下生效,控制 AI 的思考间隔,单位为帧[注 3]。move
- 仅在turnbased
关闭下生效,控制 AI 每步操作后的延迟,因此该值对 AI 的实际速度影响更大,单位为帧[注 3]4w
- 控制 MisaMino 是否考虑 4w 堆叠。根据说明书,游戏推荐玩家只在 TOJ 规则下开启 4w 思考。[注 4]
AI_P1/2
style
- MisaMino 的思考策略,整数型。
值 | 0 | 1 | 2 | 3 | 4 | 5 | -1 |
---|---|---|---|---|---|---|---|
AI类型 | 人类[注 5] | T-Spin+ | T-Spin | Ren | Non-Hold | Downstack | 载入指定 .dll 文件 |
level
- AI 能“看”的预览数量,默认为4,可调0-8。数值越高,思考效率越高。PieceMul
- 回合制中,玩家放一块,AI 放块的数量。只能是整型。非法数据类型将被 1 覆盖[注 6]dllplugin
- 作用未知,似乎是为程序员准备。
Rule
turnbase
- 布尔值,是否开启回合制。KOS_turnbase
- 布尔值,是否开启 King of Stackers 式回合制。spin180
- 布尔值,是否允许 180 旋转。GarbageStyle
- 整形值,影响垃圾行空洞的连续程度:
值 | 0 | 1 | 2 |
---|---|---|---|
垃圾行规则 | TOJ | 两行变一次 | 一行变一次 |
GarbageCancel
- 布尔值,是否允许相杀。GarbageBuffer
- 布尔值,是否有垃圾缓冲槽。GarbageBlocking
- 布尔值,是否允许垃圾行阻挡。samesequence
- 布尔值,控制双方序列是否相同。combo_table_style
- 连击表,默认使用 1。
值 | 0 | 1 | 2 |
---|---|---|---|
连击表类型 | 0,0,1,1,2,2,... | TOJ | TF |
Player
das
- DAS,单位为帧(60fps,故与其他现代方块兼容)。softdropdas
- 软降 ARR,单位为帧(60fps,0为瞬降)softdropdelay
- 软降 DAS,单位为 1/10 帧
Sound
p1sfx
- 布尔值,是否开启 P1 音效。p2sfx
- 布尔值,是否开启 P2 音效。bgm
- 布尔值,是否开启背景音乐。背景音乐似乎直接来自 TOJ 的拆包文件。
机能
Misamino 可以提前思考多个操作,这点与其他方块 AI 不同。
此外,机器人会考虑软降到底(瞬降)之后的移动和踢墙(包括 SRS 踢墙)。这让它能够打出 T-Spin Triple(虽然 AI 算法会尽可能避免无意义的 T3)。
当然,计算一包方块内所有的摆放情况将花费大量时间。所以,即使考虑下一块,机器人在前往下一级前,只计算一部分可能的场地。下面给出无暂存环境下, 2 级 AI 的工作机制:
- 生成当前块所有的摆放情况(0 级场地)
- 为所有可能的场地情况打分(孔洞个数、场地的水平程度、消除和发送的行数),并对所有情况按分数进行排列。
- 为"最佳" 0 级场地(得分最高的场地)生成下一块的所有摆放情况,对次佳 0 级场地进行同样的操作,以此类推。在一段时间后停止(不生成较差场地的子场地)。所有生成的场地称作 1 级场地。
- 为所有 1 级场地打分并排序。
- 重复上述步骤:计算 1 级场地下,下一块的所有情况,在一段时间后停止,打分并为这些 2 级场地排序。
- 摆放当前块,这一摆块方法为 2 级场地下最优摆法。
注解与参考
- ↑ a b The T-spin AI bot (MisaMino ver 1.4.5 1111), turn-based mode and normal mode Tetris . Hard Drop Forums. 2013年7月15日.
- ↑ MisaMino's open source code repository . GitHub. 2015年7月15日.
- ↑ Jstris's version history . Jstris. 2022年1月1日.