|
该页面介绍的是方块对战游戏 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 级场地下最优摆法。
注解与参考
- ↑ 特定规则:缓冲槽超过 100 行即死。
- ↑ 不要和另一名社区玩家“白给白给御坂御坂”混淆。
- ↑ a b MisaMino 以60fps运行。
- ↑
combo_table_style=1;
style=1, 2, 3; //三者取一
GarbageCancel=1;
GarbageBuffer=1;
GarbageBlocking=1
- ↑ 若将 AI_P1 改为非零值,即可观看 AI 互搏。但 MisaMino 不支持人人对战(即使将这两个值都设为零)。
- ↑ 也即不能玩家放 n 块,AI 放一块。
外链