MisaMino

来自俄罗斯方块中文维基
该页面原文来自 Tetris Wiki,原页面链接:MisaMino。本页文本内容在CC BY-NC-SA 3.0许可协议下提供,对本页的所有贡献亦采用该许可协议发布。
该页面介绍的是方块对战游戏 MisaMino,玩家可在游戏中对战同名 AI。下载地址在外链章节。
这篇文章需要改进。你可以帮助俄罗斯方块中文维基进行编辑
编辑者签名:阅读游戏源代码,解决条目中诸如软降前摇等代码层面遗留问题。。
MisaMino
Misamino1.png
开发 misakamm
游戏平台 Windows
发行时间 2013年7与15日
最新版本 1.4.5 / 2013年11月11日[1]
游戏信息
预览块数 6
场地大小 10 × 20(+20)[注 1]
暂存块
硬降
旋转系统 SRS
Misamino2.png
Misamino3.png


MisaMino 是由社区玩家 misakamm(御坂美琴,中文社区编号TSSS[注 2]) 于2013年中在 Hard Drop 论坛上发布的方块 AI [1]。AI 的代码同样也被 misakamm 上传至 GitHub[2]

社区玩家赞誉 MisaMino 开创了现代对战方块 AI 的先河,之后的 ZetrisColdClear 等 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 级场地下最优摆法。

注解与参考

  1. 特定规则:缓冲槽超过 100 行即死。
  2. 不要和另一名社区玩家“白给白给御坂御坂”混淆。
  3. a b MisaMino 以60fps运行。
  4. combo_table_style=1;
    style=1, 2, 3; //三者取一
    GarbageCancel=1;
    GarbageBuffer=1;
    GarbageBlocking=1
  5. 若将 AI_P1 改为非零值,即可观看 AI 互搏。但 MisaMino 不支持人人对战(即使将这两个值都设为零)。
  6. 也即不能玩家放 n 块,AI 放一块。

  1. 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日.
  2. MisaMino's open source code repository . GitHub. 2015年7月15日.
  3. Jstris's version history . Jstris. 2022年1月1日.

外链