How to use the Fumen tool

Started by caffeine, June 07, 2012, 01:32:20 PM

Previous topic - Next topic

caffeine

Myndzi and I happened to write up a guide for Fumen at the same time. This post is a result of both of our guides (the opening tutorials were done by me, and the more detailed body of the post was written by Myndzi).

You can find the Fumen page at http://harddrop.com/fumentool . It's a powerful tool for making diagrams and is very helpful when trying to convey Tetris ideas to other players. "A picture is worth a thousand words!"

It allows you to draw arbitrary situations and setups along with illustrate movements and placements in sequence. Less well-known is the fact that you can use it to play arbitrary sequences of pieces (with the keyboard!).

Here's a bird's eye view of how to use the tool (click to enlarge):
[!--ImageUrlBegin--][a href=\\\"http://harddrop.com/file/pic/gallery/4148.jpg\\\" target=\\\"_new\\\"][!--ImageUrlEBegin--][img width=\\\"400\\\" class=\\\"attach\\\" src=\\\"http://harddrop.com/file/pic/gallery/4148.jpg\\\" border=\\\'0\\\' alt=\\\"IPB Image\\\" /][!--ImageUrlEnd--][/a][!--ImageUrlEEnd--]

To add a Fumen diagram to your forum post:
  • Create a diagram.
  • Near the bottom, click "Output data."
  • Copy this code.
  • Type the following into your forum post:
  • Replace the text "Insert Fumen code here" with the output date code.
  • Do not include the 'v' found at the beginning of the output data code!
How to use the Fumen Quiz feature:
  • In the text box, type #Q=[Z](I)OJSTL (all capitals!) and hit enter. You'll notice that your active piece will become I, your next queue will become OJSTL, and your hold piece will become Z.
  • Underneath the Quiz button, you'll see a few buttons "< V ^ > ( ) ~." You can use these to manipulate the pieces, or you can just click on that empty box to the right of them and use the numeric keypad to manipulate the pieces.
    • < shift left (numpad 4)
    • V move down by one (numpad 2)
    • ^ hard drop (numpad 8)
    • > shift right (numpad 6)
    • ( rotate left (Z, numpad 7, numpad 3)
    • ) rotate right (X, numpad 9, numpad 5, numpad 1)
    • ~ hold (C, numpad 0)
  • Every time you hard drop, a new frame will start.
  • You can also press the 'B' and 'N' keys for back/next frame.
  • Also, I like to play with the "Lock" option unchecked.
The playfield
The left panel is your 10x20 grid (standard size) playfield. You can draw minos in the row below the line (these will be pushed up into the field if you use the 'Rise' option), and you can draw minos and/or place blocks in the gray area above the field as well.

Right panel
The right panel contains all the controls, I will explain them from top to bottom.

Drawing controls
The top section is for drawing on the field. There is an option button for each color and gray for garbage. Click one of these to activate it, then click on the field to draw. If you click and hold, you can color in any cell you drag the mouse over. If you click on a cell that's a different color from your active color, you will re-color it, but if you click a cell that's the same color as your active color, you will clear it. If you click and drag from a same-color cell, you will clear every cell you drag the mouse over regardless of its color.

The Fill Row checkbox
This enables you to draw garbage patterns easier. When this box is checked, instead of filling the cell you click on, the entire row *except* the cell you click on will be filled. You can drag this up and down as well to quickly create streaks and the like.

Up, down, left, right buttons
These shift the entire field in the specified direction. Minos will not shift into the area below the line, but can shift into the gray area above the field. Minos that shift off the field are lost (if you shift back they will not come back).

Piece controls
The next section is for manipulating blocks. You can have one Tetris block active per frame, which you can manipulate (shift, rotate, etc.) or place/reposition with the mouse.

The 'mino' checkbox
This is used for removing the active piece from the screen. You can't check it, only uncheck it.

The 'guideline' checkbox
This sets the rotation system, including colors and kicks.

The 'quiz' button
We'll come back to this later in more detail.

The 4x7 "rainbow" circle checkboxes
These allow you to select a piece and rotation combination. The row that is darker is the spawn orientation. Hovering your mouse over them will display the piece and rotation in the spawn position on the field so that you can see which one you are going to select. Click one of these and then move your mouse over the field; click to place it wherever you want. By default, pieces behave like in 20g (instantly falling to the bottom).

There's a little circle checkbox to the right of the colored grid; this one allows you to actually draw the piece you want. You can place up to four bright white minos on the field, and if they are connected in a valid tetrimino shape it will be converted to that piece.

(The buttons below and the editbox I will cover along with quiz mode.)

Frame controls
Below this is a section labeled 'after placement', with three checkboxes.

When 'lock' is checked, upon creating a new frame the active piece will be converted to part of the field, full lines will be removed and gravity applied.

When 'rise' is checked, upon creating a new frame, all the minos will be pushed up by one, and the minos under the line will be pushed into the field.

When 'mirror' is checked, upon creating a new frame, the entire field will be mirrored along the X-axis.

The frame counter
You can edit the active frame number in the editbox to jump directly to a frame (you have to click the focus to somewhere else or hit enter to activate the change).

The Caption box
You can type whatever you want in here and it will be displayed alongside the current frame. You can type more in here than can fit in the display area, so you'll want to try and keep it short. A user can, however, click/select/drag the text to scroll and read the rest of it if necessary.

The buttons below allow you to jump to the beginning [|<], previous, next, or last [>|] frame. Clicking 'next' when you're on the last frame will create a new frame that's a copy of the current one. To my knowledge there is currently no way to insert, duplicate, or delete frames - so you need to take care to proofread your diagram frequently if you're making a long or complex one. See 'add-on' section at the end.

Input/output controls
The 'clear to end' button will remove all the frames after the active frame.

Finally, we have the input/output controls. 'Output data' will export the entire diagram into the editboxes below. Checking 'auto output' will re-output the data every time you change something.

The big text box below this will hold the data that represents your diagram. You can paste this data into a new instance of fumen and click the 'Load data' button to load the diagram up. This can sometimes be necessary with extremely large diagrams since there is a limit on the length of URL a web server will accept.

Below here are two hyperlinks for sharing the diagram. "URL" will link the user to the editing page you are using, while "View" will link them to a compact viewer with none of the editing controls. The only difference between the urls is the ?v or ?m in the query string.

The 'Make TinyURL' button does what you might think.

Quiz mode
There's a little button labeled 'quiz mode' that gets overlooked but actually comprises a good amount of functionality. Essentially it creates a bag of pieces and allows you to play them out. When you click the quiz button, the caption is filled with a sequence of characters that describes your piece sequence. The format is like this:

#Q=[held piece](active piece)next pieces

Clicking the quiz button will generate and/or append a 7-piece bag sequence. It uses the bag randomizer whether or not the 'guideline' box is checked. Active pieces can be controlled using the buttons underneath the piece grid and the editbox to the right of it.

When you click in the editbox, you'll see the captions of the buttons change; entering the appropriate character in the editbox will cause the piece to perform that function. The buttons' functions and key bindings are as follows:
  • < shift left (numpad 4)
  • V move down by one (numpad 2)
  • ^ hard drop (numpad 8)
  • > shift right (numpad 6)
  • ( rotate left (Z, numpad 7, numpad 3)
  • ) rotate right (X, numpad 9, numpad 5, numpad 1)
  • ~ hold (C, numpad 0)
You can also press the 'B' and 'N' keys for back/next frame.

When Fumen sees a caption matching this format, the interface adds a few features:
There is a visual display of the next 7 pieces underneath the piece control buttons and the held piece is drawn to the left of the next sequence. When you have clicked in the editbox for keyboard controls, there will also be a ghost piece drawn beneath the active piece.

If the 'lock' checkbox is checked during keyboard input, pieces behave under 20g rules. The rise and mirror checkboxes also take effect, but are cleared when a new frame is created; 'lock' mode is not cleared when new frames are created.

You may edit the generated quiz mode sequence however you like; this enables you to configure known or created sequences of pieces and play through them manually. Each locked piece will automatically create a new frame, so this is a fast and convenient way to diagram moves that don't require drawing on the field itself.

Add-on
I've never explored this option until now, since I had no "addons" to supply it with. There are some useful extensions available via this button, though! I don't know why some of them are not enabled by default.

The 'add-on' link below the main Fumen page will allow you to select which add-ons to include, and provide you with a link that loads them when you click the "add-on" button. The harddrop hosted version of fumen comes with these enabled by default, but you still have to click the button to display them.

frame.js
This addon provides you with delete/duplicate/clear previous functions for frames.

'Delete current frame' does exactly what it sounds like.

'Copy current frame' makes a duplicate of the active frame and takes you to it (the original frame will be before the one you are shown after clicking the button).

'Clear past frames' will clear everything *up to* the current frame, in the same way that 'Clear to end' clears everything after the current frame.

pfcode.js
This addon provides you with an output function for creating diagrams for the harddrop wiki extension. Click 'output diagram code' to output the active frame in a format that can be placed directly into the wiki.

myndzi

#1
edit: combined into OP

myndzi

#2
Amusingly, caffeine and I both posted threads at the same time. I've merged them here. Caffeine's post makes a better opening post, but I think I went into enough detail to be worth hanging onto as well

Edit: if somebody ambitious wants to combine the details I'll take that too

caffeine

#3
Haha, it was about time we got a Fumen guide on HD! Make sure to read Myndzi's more thorough post, too. There's stuff in it that I left out in my post (as well as a couple of things I didn't even know about!).

Paradox

#4
[!--quoteo--][div class=\\\'quotetop\\\']QUOTE[/div][div class=\\\'quotemain\\\'][!--quotec--]caffeine and I both posted threads at the same time [/quote]

thats cute
[!--ImageUrlBegin--][a href=\\\"http://oi46.tinypic.com/2zqx63k.jpg\\\" target=\\\"_new\\\"][!--ImageUrlEBegin--][img width=\\\"400\\\" class=\\\"attach\\\" src=\\\"http://oi46.tinypic.com/2zqx63k.jpg\\\" border=\\\'0\\\' alt=\\\"IPB Image\\\" /][!--ImageUrlEnd--][/a][!--ImageUrlEEnd--]

Blink

#5
Quote from: Paradox
thats cute

hah yeah, they do everything together awww

[!--ImageUrlBegin--][a href=\\\"http://i46.tinypic.com/2gt25nl.gif\\\" target=\\\"_new\\\"][!--ImageUrlEBegin--][img width=\\\"400\\\" class=\\\"attach\\\" src=\\\"http://i46.tinypic.com/2gt25nl.gif\\\" border=\\\'0\\\' alt=\\\"IPB Image\\\" /][!--ImageUrlEnd--][/a][!--ImageUrlEEnd--]

caffeine

#6
Myndzi and I are BFTFF (best freaking Tetris friends forever).

I'm gonna go ahead and try my hand at merging the content into one post if you don't have any objections.

Edit: okay, I've combined the content. Feel free to go over it again and change stuff.

t0x

#7
my god, finally a guide to this : D
i really was too lazy to figure it out properly, thanks a lot!


Anonymous

#9
Thank god, i was drawing everything with the single blocks at the top the whole time. This will make it a whole lot easier to make fumens!
My awesome downstacking guide, last updated (Jan 29, 2013): Downstacker's Guide to the Galaxy
Tired of the same old Tetris games? Read my idea for a revamped Tetris game! The Next

belzebub

maybe the post can mention my mod where fumens ofo the game are available in the report section

caffeine

Quote from: belzebub
maybe the post can mention my mod where fumens ofo the game are available in the report section
What should I link to?

myndzi

#12
He's talking about his nullpomino mod. Thread's about using fumen, not using nullpo. Off topic in my opinion but I don't have anything against the guy.

DarthDuck

#13
Quote from: myndzi
He's talking about his nullpomino mod. Thread's about using fumen, not using nullpo. Off topic in my opinion but I don't have anything against the guy.
I'm really impressed that you got this working on IPB. I've been looking everywhere for a fumen hook but with no luck.

I decided to convert my prior efforts of making a book on tetris into just making a nice forum section on tetris to try and convert non-players, but it's tricky without fumen.
Pyrrhonian disclaimer: If I use assertive language, then I only do so as a manner of speaking. I might say "the sun will rise tomorrow", but deep down, like anything else, I can never really know that. So if I

Sisu

[!--quoteo--][div class=\\\'quotetop\\\']QUOTE[/div][div class=\\\'quotemain\\\'][!--quotec--]連続テト譜エディタ by Mihys
Ver 1.15  (2014/08/13)
・ フィールドを23段に拡張。
   (使用アドオンの更新が必要)
   pfcode.js(Rev.3)
   frame.js(Rev.2)
・ クイズで最後に残ったHOLDを操作できるように変更。
・ frame.jsアドオンの「追加読み込み」に対応。
・ 「新規作成」機能追加。
・ 「一覧用URL」追加。
・ ミノ配置のラジオボタン上部にミノ表示を追加。
・ 「データ読み込み」でURL文字列を使用できるように対応。
・ 「データ読み込み」実行時にURLとVIEWを空白にする変更。
・ 異常データ読み込み時の不正なフィールドを防止。
・ フィールドの青色をわずかに明るくする変更。
・ クイズ中にデータ出力(自動含む)でラジオボタンが戻るバグ修正。
Ver 1.10g2(2011/02/17)[/quote]