MisaMino
MisaMino | |
---|---|
Developer(s) | misakamm |
Platform(s) | Windows |
Release | July 15, 2013 |
Latest release | 1.4.5 / November 11, 2013[1] |
Gameplay info | |
Next pieces | 6 |
Playfield size | 10 × 40 (20 hidden)[notes 1] |
Hold piece | Yes |
Hard drop | Yes |
Rotation system | SRS |
MisaMino is an early block stacking AI created by misakamm, which was released for the HardDrop forums mid-2013.[1] The source code to MisaMino's logic was later open sourced on GitHub.[2] MisaMino's impact on the community cannot be understated: while paving the way for many other stacker AIs, such as Zetris or Cold Clear, MisaMino itself has also been ported to other titles, such as Jstris.[3]
Configuration
MisaMino has various options, which are hidden away in configuration files for the most part. Without editing any files, you can use the following function keys to modify MisaMino's behavior:
Function key | Action |
---|---|
F2 | Restart (Only after finishing a game, or before 20 pieces have been placed) |
F3 | Toggle incoming garbage preview |
F4 | Toggle grid opacity |
F5 | Decrease master volume in steps of 5% |
F6 | Increase master volume in steps of 5% |
F12 | Control configuration wizard |
Alongside the executable, you may also find the misamino.ini file. This file consists of six total sections and contains simple key=value options per-line, which are explained in TetrisGameReadme.txt.
AI
delay
- Only used when
turnbased
is disabled. Controls thinking delay upon piece entry in frames.[notes 2]
- Only used when
move
- Only used when
turnbased
is disabled. Controls delay after each movement, so a highmove
delay will impact MisaMino's speed much more than a high thinking delay. Measured in frames[notes 2]
- Only used when
4w
AI_P1/2
style
- MisaMino's playstyle, boiled down to a single integer:
- Human
- As in—controlled by you, the player. You can change this under
AI_P1
to have MisaMino VS MisaMino matches. You cannot 1v1 another human with the MisaMino client by simply changing both values to be 0, however. - T-Spin+
- T-Spin
- Ren
- Non-Hold
- Downstack
- Load specified .dll file
- MisaMino's playstyle, boiled down to a single integer:
level
- Set between a value of 0-8. By default, this is 4. This value may decide how many previews MisaMino can access—therefore leading to more efficient and elaborate setups on higher levels, since MisaMino's speed has already been decided before reaching this stage.
PieceMul
- Only relevant during turnbased operation: this setting changes the ratio of pieces you can place to pieces MisaMino can place. For example: if the value is set to 4, for each piece you place, MisaMino can place 4 total pieces. This option cannot be a decimal, and invalid numerals result in a 1:1 ratio, so the lowest this can be set to is 1.
dllplugin
- File path relative to the MisaMino executable to an applicable .dll file. There are several included in the plugin folder, but this setting seems primed for advanced development.
Rule
turnbase
- Off/on boolean to disable/enable the turnbased mode.
KOS_turnbase
- Off/on boolean to disable/enable the turnbased mode. When enabled, both you and MisaMino are allowed to place up to 7 pieces per turn, just like King of Stackers.
spin180
- Off/on boolean to disable/enable the 180 key. Even if this is disabled, the control configuration process will still allow you to bind a 180 key, leading to the false assumption that 180s are indeed enabled.
GarbageStyle
- Influences garbage generation in a variety of ways:
- Garbage is produced on a "Change on attack" basis, similar to Tetris Online Japan
- Garbage is randomized per 2 rows.
- Garbage is randomized every row.
- Influences garbage generation in a variety of ways:
GarbageCancel
- Disallows/allows garbage canceling. If disabled, sent garbage will not interact with pending garbage.
GarbageBuffer
- Disables/enables the garbage buffer. If disabled, sent garbage will immediately enter the board, regardless of active piece state.
GarbageBlocking
- Disables/enables the mechanic which prevents pending garbage in the buffer from entering your field if a line is cleared. You can "block" garbage consecutively, so long as a combo is preserved.
samesequence
- Enables/disables RNG synchronization between the two players.
combo_table_style
- This modifies garbage produced by consecutive combos. All tables are additive in nature. The default option is 1.
- Sent garbage will be produced in the following table: 0,0,1,1,2,2,2...
- Combo behavior will mimic Tetris Online Japan's combo table.
- Combo behavior will mimic Tetris Friends's combo table.
- This modifies garbage produced by consecutive combos. All tables are additive in nature. The default option is 1.
Player
das
- Configures your Delayed Auto Shift on a frame basis. MisaMino's logic runs at 60 frames per second, so this can be easily ported from handlings set on other modern clients such as TETR.IO.
softdropdas
- This makes the action of soft dropping faster—0 is instantaneous. Once again based on frames.[notes 2]
softdropdelay
- This controls how long one must hold soft drop before soft drop is deployed. 0 is instantaneous. According to TetrisGameReadme, frame.
Sound
p1sfx
- Off/on boolean to disable/enable sound effects for the first player.
p2sfx
- Off/on boolean to disable/enable sound effects for the second player, typically MisaMino.
bgm
- Off/on boolean to disable/enable background music. This background music appears to have been ripped directly from Tetris Online Japan.
References
- ↑ 1.0 1.1 "The T-spin AI bot (MisaMino ver 1.4.5 1111), turn-based mode and normal mode Tetris". HardDrop Forums. July 15, 2013. Retrieved .
- ↑ "MisaMino's open source code repository". GitHub. July 15, 2015. Retrieved .
- ↑ "Jstris's version history". Jstris. January 1, 2022. Retrieved .
Notes
- ↑ MisaMino also includes a very unique topout check: as soon as the garbage bar reaches 100 rows of pending garbage, the game instantly ends without player input.
- ↑ 2.0 2.1 2.2 MisaMino runs at 60 frames per second.
- ↑ This means
combo_table_style
is set to 1 or 2,style
is set to 1, 2, or 3(the latter being a combo-oriented playstyle); andGarbageCancel
,GarbageBuffer
, andGarbageBlocking
are set to 1.