MGT(6)
β¨ MGT(6) β Games Manual, but make it cute β¨
okay so bestie, welcome to the manual for mgt π (it's a Games Manual page, section 6, iykyk). buckle up, this is part 1 of 3 and we have so much to cover π«Ά
πΈ NAME πΈ
mgt β a game record display/editor for the oriental game of go π
π¦ SYNOPSIS π¦
mgt [-m filename] [-s] [-t] [files]
π DESCRIPTION π
Go is an ancient oriental strategy game based on the capturing of territory. the players alternate putting stones on the board, trying to surround as many empty intersections as possible. it's giving territory wars but make it elegant β¨
Mgt lets you examine Go game tree files created through the Macintosh(tm) programs Smart-Go (tm) or Go Explorer (tm). no cap. and mgt also has basic Go game tree editing capabilities, so you can literally create or edit game tree files yourself. the on-line material provided by a rather extensive and growing database allows many hours of instructional enjoyment of various studies and tutorials concerning the game of Go. like, hours. plural. a whole era of your life, gone, slayed π
Mailgo is a utility which manages E-mail Go games using mgt as the Go board editor. it's included in the mgt package, bestie, it comes as a lil bonus π
The mgt program was originally developed to be a companion for the series, "From My Go Teacher", archived bsdserver.ucsf.edu for ftp. also available is the Internet GO Board communications program, 'go', also by Greg Hale, which connects up two terminals in real-time anywhere in the world, and the clients for the Internet Go Server. iconic behavior honestly π
π₯ COMMAND LINE OPTIONS π₯
-mfilename β invoke a set of options used by themailgoprogram for managing email games. if a filename is specified for loading (see below), the game record is loaded, andmgtautomatically moves to the end of the main variation of the game record. the game can be modified without confirmation. if the game record has been modified, it will be automatically saved, on exit, to the filename specified after the-mandmgtwill return success (zero). if the game record has not been modified, or has not been allowed to be saved, thenmgtwill return failure (nonzero). so like, zero = slay, nonzero = not slay, that's the vibe check right there π-sβ change save format used to write save files. the default save format is the long format Smart-Go file. using this option results in short format Smart-Go files. short queen energy π-tβ invoke tutor mode where you select variations by playing on the board. the key for making a move has special behavior in this mode. see the section on the"space or 0"keyboard command for a description. tutor mode is literally the main character of studying πβ¨filesβ these are the files to be loaded. the Unix and IBM version support wildcards. if no file is specified,mgtloads a blank board. if you attempt to modify a file that was loaded,mgtwill prompt for confirmation the first time. yes bestie, it checks in with you before you do something wild, consent era π«Ά
heads up: this is only part 1, more is coming so don't go anywhere π
β¨ OPERATION β¨
okay bestie, so Mgt can be used to view and edit game records, or as an electronic game board for a two person game. There are so many keyboard commands which execute the various editing and display functions. Let's get into it π
β¨.
>β Step down the game tree to the next move. Stop at the end of a variation and do not visit other variations. (like, it's not gonna branch out, periodt π )<β Move back up the game tree. (Previous move).β Go to the next node using a tree traversal which will visit all nodes. Sometimes the order of traversal can be confusing. (iykyk, it's giving maze energy π),β Go to the previous node -- the opposite of.forward movement.eβ Go to end of the current variation.bβ Go to beginning of the game tree.}β Go forward like the.command until a comment.{β Go backwards like the,command until a comment.gβ Go to a specified node. Type in the desired node number. (no cap, just type the number)]β Move forward until there is a variation branch in the game tree.[β Move backwards until there is a variation branch in the game tree.kandiβ Scroll the game tree variation window up and down. A-at the top of the variation window, and a+at the bottom indicate that more variations are available.janduβ Scroll comment window up and down. A-at the top of the comment, and a+at the bottom indicate that more comments are available.#β Load new file. Will prompt for confirmation if the current file has been modified.rβ Load previous file. (Reverse through the file list)fβ Load next file. (Forward through the file list)wβ Write out Smart-Go file. Will prompt for a filename. The special filename*will save with the current name (which appears in the upper right corner). (slay πΎ)spaceor0β Make a move. The current player turn is indicated by the> <around the captured stones on the lower right. Normally, this adds the move to the game tree and moves to a new node. In tutor mode, it checks the various game continuations. If one of them contains the move you made, it moves to that variation. If not, it prints an error message. The game tree cannot be modified in tutor mode.pβ Pass. Enter a pass move.oβ Other player. Changes whose turn it is, adding a token in the game tree to force the change whenever this node is visited. If the player is forced by such a token, the current player turn is indicated by} {characters on the lower right.tβ Toggle stone color. Changes whose turn it is without adding any tokens in the game tree. This will not work if the game tree has a PLayer token (generated by theokey) at the current node.zβ Set/unset black stones.xβ Set/unset white stones.qorESCβ Quit.qwill prompt for confirmation.ESCwill not prompt for confirmation. (choose your fighter π€)vβ Create a variation below the current node. The variation will initially contain a null node. You must move to that variation to make a move in it. If thevcommand is invoked at a node which is at the end of a variation, variationAis created with a null node. Subsequent invocations of thevcommand will create theB,C... variations.!β Cut tree. Moves the current node and everything below it to a temporary holding buffer. (Moves your location back to the parent of the node you are on when you invoke it.)^β Paste tree. Pastes the temporary holding buffer in after the current node. Usually the opposite of cutting the tree.cβ Edit the current comment. The editor has two models of operation. The default model has been vaguely designed after emacs. That means that the editor commands are either 'control-key' or 'escape-key'. The controls are configurable through an environment variable. The notation^keyis used to indicate control keys, and]keyis used to indicate keys which should be preceded by the escape character.
On some terminals, instead of ESC-key, you can press Alt-key or Meta-key. (On the IBM version, you can use the Alt key.) Under VMS, the ESC key does not work. VMS users may need to redefine the edit keys.
The second edit model was vaguely designed after vi. That means that the editor has a command mode for cursor movement, etc. and an insert mode for inserting text. The vi model editor starts in insert mode. The ESC key changes mode from insert mode to command mode. If pressed in command mode, the ESC key exits the comment editor and saves the comment. The letters below are typed in command mode to obtain the specified function. To leave command mode and enter insert mode, you must use the function which is listed as the insert mode command. This defaults to R. To select the vi like mode of operation, put _ASCEDVI in your MGT environment variable.
Defaults are:
cursor up(previous line) β emacs:^P, vi:kcursor down(next line) β emacs:^N, vi:jpage up(prev page) β emacs:]p, vi:^Bpage down(next page) β emacs:]n, vi:^Fcursor left(back) β emacs:^B, vi:hcursor right(forward) β emacs:^F, vi:lbeginning of lineβ emacs:^A, vi:0end of lineβ emacs:^E, vi:$beginning of commentβ emacs:]<, vi:Hend of commentβ emacs:]>, vi:Ldelete one characterβ emacs:^D, vi:xdelete to end of line (kill)β emacs:^K, vi:Dtoggle insert modeβ emacs:^I, vi:Rsave commentβ emacs:]z, vi:wexit, don't save commentβ emacs:^W, vi:q
Pressing c on a comment larger than the 120 lines allocated for comments will cause the extra to be lost. Also, on terminals which generate IBM PC arrow key codes, the arrow keys will correctly move the cursor within the comment editor. The arrow keys only work in the emacs based model.
π
dβ Delete node. Deletes the current node, replacing it with its child. If the current node has no child, then clear the properties of the current node.nβ Name the current node. You will be prompted for the name.sβ Score the game. After selecting this, move the cursor around and remove the dead groups with0orspace. You can undo one (and only one) kill with theukey. Pressing return will score the game and print the (Japanese) score in the comment area. If you missed some dead groups, continue removing them. Pressqwhen you wish to exit scoring mode. You will be prompted to either keep the score information as a comment for the current node or restore the old comment. πΈCtrl-Iβ Enter info mode. In this mode, the various informational properties of the current file are displayed and may be edited. To edit an item, press the letter associated with it, and enter the new text. This letter must be entered in upper case. To see a list of letters, press?. The comment window scrolling keys can be used to scroll the info display. The supported info properties are:Size,Handicap,playerBlack,bLackrank,playerWhite,whIterank,Gamename,Event,rouNd,Date,Place,Time,Result,gameComment,sOurce,User,Komi. The capital letters in this list indicate which letter selects that info property. β¨Ctrl-Tβ Toggle tutor mode. (See the section onspaceor0for explanation.)Ctrl-Wβ Toggle the format used for writing Smart-Go files between long and short.Ctrl-Lβ Refresh the screen.Ctrl-Fβ Save the current screen to a file.?β Display a help screen.12346789β Move the cursor around. Assumes standard numeric keypad orientation. π
πΈ ENVIRONMENT SETTINGS πΈ
okay bestie, here's the tea β β literally every single character used for the commands and the display is configurable through environment variables. you're the main character, you get to customize your whole vibe.
For the ascii interface, you'd use:
setenv MGT '_ASCCOM:q><.,eb}{][gwzxv\!lm#^cdn
spotrfLWTFI012346789kiju&
_ASCCHAR:#O:+-.+|-++++
_ASCINV _ASCED:PNpnBFAE<>DKIzO'
and no, that's not a typo β the command should appear all on one line with a single space separating _ASC... from the previous string. one line, bestie. we're not doing multi-line chaos here.
That's csh syntax btw. for other shells the syntax will be different, iykyk. drop that line in your .cshrc so the alternate characters are always in effect, and you never have to think about it again π
- the
_ASCCOMstring lets you change the keyboard commands. uppercase letters stand for control characters. slay. - the
_ASCCHARstring specifies the display characters. like, for example, wanna use@for black stones? just change the#to@in the_ASCCHARstring. done. - you only need to include one of the two declarations (
"_ASCCOM:"or"_ASCCHAR:") if you only want to change the commands or the characters but not both. lowkey efficient. - wanna set the default display type to inverse video? use
_ASCINVin theMGTenvironment variable. - wanna set the comment editor commands? use
_ASCEDin theMGTenvironment variable.
π§ the _ASCED environment variable, emacs based editor model π§
in the emacs based editor model, control keys are specified with a capital letter, and ESC keys are anything which is not a capital letter. here's the key string for the defaults:
PNpnBFAE<>DKIzO
β οΈ okay important warning time: note that^V,^O,^Cand^Zare poor characters to use for anything if you have berkeley unix, because the berkeley tty drivers interpret these characters. π
^Vis the quoting character which quotes the following character β you'll need to press it twice formgtto see it.- the other characters have to be quoted by first pressing
^V, ormgtwill not recognize your keypress. no cap. - you cannot use
^Hor^?for anything, because the editor always interprets these as destructive backspace. just don't, bestie π
π¦ the _ASCED environment variable, vi based editor model π¦
in the vi based editor model, no special processing is done on the characters. to specify control keys, you have to place actual control characters into your environment string. the default string has two control commands (^B and ^F) defined, and this is the default:
kj^B^Fhl0$HLxDRwq
the vi based editor model may be selected by including _ASCEDVI in the environment variable. β¨
wanna include control characters in your string? easiest way is to edit a file which sets the environment β Vi can insert most of the control characters directly. iconic workaround honestly.
π«Ά in all cases, when you set your own keys, you must set all of the keys, and they must appear in the correct order.
- if you assign the same key to different functions, then an arbitrary one will be used by
mgtand the other functions will be unavailable. pick a lane bestie. - if multiple contradictory specifications occur in the
mgtenvironment variable, the last that appear will be used by the program. - any option not specified will assume the default values identified above.
πΎ IBM version, DOS, and VMS πΎ
with the IBM version, the same effects may be achieved under DOS 4.0 or DOS 5.0 with a SET command placed in the AUTOEXEC.BAT file.
π under previous DOS versions, quotes were interpreted literally and"|",">"and"<"characters have special meanings and thus cannot be put into environment variables with theSETcommand. tragic.
under VMS, the command is just:
MGT = "_ASCCHAR:..."
π¬ COMMENT FORMATTING π¬
so comments are expected to consist of long lines, each of which is one paragraph. a single long line will be formatted to fit the display. here's the rule that actually matters:
- line breaks will be ignored if they are preceded by a space
- but will be respected otherwise
that's it, that's the whole thing. π
π DISPLAYS π
all displays have in common the purpose of displaying a go tree. every single one. that's the assignment.
π¨ ASCII display:
A B C D E F G H S T
+--------------- ---+ -Suppose this is the second
19|. . . # . . . . . .|19| line of the comment. Since
18|. O O # # # O . . .|18| there is some more of the
17|. # # O O O O . . .|17| comment above us unseen,
16|. # O + . . . . . .|16| the - appears to the left
15|. # O . O . . . . .|15| of 'Suppose'.
14|. . # O . . . . . .|14|
13|. . # . . . . . . .|13|
12|. . . . . . . . . .|12|
11|. . . . . . . . . .|11| And here, when there is
10|. . . + . . . . . .|10| more of the comment
9|. . . . . . . . . .| 9| below, the '+'
8|. . . . . . . . . .| 8|+appears to our left.
7|. . . . . . . . . .| 7|
6|. . . . . . . . . .| 6| Node #173: Name
5|. . . . . . . . . .| 5|-B: variation 1 hit 'B' to see
4|. . . + . . . . . .| 4| C: variation 2 hit 'C'
3|. . . . . . . . . .| 3| D: variation 3 etc...
2|. . . . . . . . . .| 2| E: variation 4
1|. . . . . . . . . .| 1|+F: variation 5
+--------------- ---+ ? for help read long
A B C D E F G H S T
Black #11 at 'D19' #: 0 > O: 0 <
let's decode this masterpiece π
- the bottom line tells you that Black has just made move
#11. - on the bottom right, the angle brackets around the white stone indicate that it is White's turn.
> O: 0 <β see it? iconic. - above that, the word
"read"indicates that the Smart-Go file hasn't been modified. - and
"long"indicates that the default save format is the long format. "Read"will change to"edit"if you modify the file, and it will say"tutor"if you enter tutor mode. π
π FILES π
wrapmgtβ prepare short format Smart-Go files for mailingmailgoβ email go game managementmgt2shortβ script to convert Smart-Go files to short formatRULESβ an introduction to the game in Smart-Go format.- the From My Go Teacher tutorial lessons, and many professional game records, all available at
bsdserver.ucsf.edu - Internet go, a program to play go over internet, available on
bsdserver.ucsf.edu Smart-Go.def, the Smart-Go format definition.
π BUGS π
π comment editing is limited to 120 screen lines. that's the limit bestie, sorry.
π most, but not all, of the Smart-Go properties are supported.
send bug reports to "adrian@bsdserver.ucsf.edu" or "hale@scam.Berkeley.EDU" β they genuinely want to hear from you π«Ά
π AUTHORS π
- Greg Hale
- Jeff Boscole
- Adrian Mariano (
adrian@bsdserver.ucsf.edu) - Mike Dobbins (
mdobbins@asns.tredydev.unisys.com)
the absolute legends who built this. we stan. π
π SEE ALSO π
rec.games.goβ a newsgroup on the game- Graded go problems for beginners, vol 1-4, Ishi Press
- In the Beginning, Ishi Press.
- The Treasure Chest Enigma, Ishi Press.
aaaand that's the whole page, bestie π go forth and play some go. this one's from 9 July 1993 and it lives in section MGT(6) β vintage but still absolutely eating. periodt. β¨ππ
π¦ where this page comes from
- debian bookworm: mgt 2.31-9
- ubuntu jammy: mgt 2.31-8
- ubuntu noble: mgt 2.31-9
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms