IthelogKotona

  1. Goban770 project for N770
    1. What Goban770 is good for?
    2. Objectives of 2.0 release
    3. Objectives of 1.0 release
    4. Objectives of 0.6 release
    5. Status of 0.6 release (Delayed. I failed my personal deadline and thus my personal priority for these tasks dropped much)
    6. Objectives of 0.5 release
    7. Objectives of 0.4 release
    8. Status of 0.3.9 release (Alpha release 9.3.2007)
    9. Status of 0.3.8 release (Alpha release 8.3.2007)
    10. Status of 0.3.7 release (alpha release 15.2.2007)
    11. Status of 0.3.6 release (beta release 18.1.2007)
    12. Status of 0.3.5 release (alpha release 11.1.2007)
    13. Status of 0.3.3 release (alpha release 5.12.2006)
    14. Status of 0.3.2 release (beta release 5.11.2006)
    15. Findings from earlier releases that are not fully taken care of with latest version
    16. Known bugs
    17. Tasks moved to maemo garage
    18. To do (in rough order of interest)
    19. Unimplemented planned functionalities
    20. Random ideas
    21. Other notes
    22. Guest book
Screenshots What is shown in the screenshot
Screenshot 0.2 version non-fullscreen view, logging features, old last move marker
Screenshot 0.3 version fullscreen, game tree, goban scaling
Screenshot 0.3.1 version menus, diagram view, move numbering, give hint icon
Screenshot 0.3.3 version game recording tab, setting goban size, setting handicap
Screenshot 0.3.4 version new move marker, territory counting, score estimate, writing game notes, clear territory marking icon, apply inheritted dead groups icon, move number at analysis tab
Screenshot 0.3.5 version help functionality, 2-step icon and feature
Screenshot 0.3.6 version training statistics
Screenshot 0.3.7 version outcome view, next file icon and feature, FAQ-button
Screenshot 0.3.8 version problem statistics, problem classification and level, banner notes
Screenshot 0.3.9 version Kogo's Joseki dictionary, new way to present game tree for big game trees, more icons fitted into the fullscreen toolbar

This project is moving to the garage. There you can download beta-version or give feedback

N800 compatability status: Garage help forum has instructions for tinkering Goban770 version 0.3.6 to work on N800

This is my second identity I have created because of problems with using wiki, so the name is made up. My real name is Jarmo Ahosola.

To contact me, see project page at maemo garage.

Goban770 project for N770

I intend to code from scratch go software for N770. First project under work is combined sgf-editor and game recorder for recording tournament games of board game go and analysis of existing sgf-files.

As cgoban1 has been ported for N770 now, this project overlap that with some a what. I need to get more familiar with cgoban1 port first, but most likely I will drop out such features of Goban770 that I have not yet started and in which cgoban1 port is good.

What Goban770 is good for?

Use case Suitability Status
Variation analysis of games 0.2 ok Lack of some assisting tools like ladder checking are minor details.
Recording tournament games Not yet Recording tournament info and player info is mising. Also UI has not been tuned for this purpose yet.
Playing against self Not yet Passing etc. is missing. No time counting or rule variants supported.
Studing joseki 0.3.3 decent Big file handling is missing. Will open only about 1/4 of the Kogo's Joseki dictionary.
Studing fuseki 0.3.6 fine Big file handling is missing. Transposition searching is missing.
Studing pro games 0.3.2 ok Game collection handling(* is missing, but if games are in separate files goban770 works well for this purpose.
Practicing memorization of own games 0.3.6 ok Known bugs fixed for 0.4 version
Reading game reviews 0.3.4 decent Annotations are not supported. Bug that mixex comments of different positions in some cases is in beta testing with version 0.3.6.
Reviewing games 0.3.5 decent Having keyboard, goban, comment area and game tree visible all the time is surprisingly usable. Goban is small, but labels are readable with keen eyesight and accuracy for clicking is adequate. Some problems with comment area refreshing, but appart from that testing was pleasant.
Solving problems 0.3.2 decent Game collection handling(* is missing. Some issues still need work around solutions. Does not detect player in turn and problem is always placed at root regardless of file creator intention of possible intermediate nodes. Some go-problem files does not work correctly.
Playing online Propably will not be supported KGS interface specification found and interface issues has been thought about, but there is very long way to go. Port of cgoban1 might obsolate need for this. I am considering co-operation with programmers who has more networking experience.
Playing against computer Propably will not be supported No go-modem interface. Port of cgoban1 might obsolate need for this
  • ) Game collection can be presented in several ways. One way is to collect several sgf games in a single file after each other. In such case goban770 treat the file as if it has only the first game in it. Second possibility is to have a lot of sgf-files divided in directories according classification. Handling such game collection goban770 version 0.4 has simple browsing features. Third way to make game collection is to make games separate branches of same big sgf-tree. The third type requires big file management planned, but not yet scheduled for implementation.

Objectives of 2.0 release

  • Application texts changed to be localisable (NOK, not started)
  • Supports go-modem interface (NOK, propably dropped out of version 1.0 as port of cgoba1 might obsolate need for this)
  • Support for problem collections

Objectives of 1.0 release

  • Stable (0.2 NOK, 0.3.2 seams stable, but there are known memory issues that has not been solved and bug that crash at file open some times)
  • Help done (0.3.4 NOK, 0.3.5 goes to alpha testing, 0.3.6 goes to beta testing)
  • Log removed or changed to be usefull for normal users (0.3.4 NOK, 0.3.5 goes to alpha testing, 0.3.6 goes to beta testing)
  • Tuned for analysing games (OK, very usable at the moment disregarding difficulty of obtaining files to analyse)
  • Usable for studing game reviews (0.3.4 OK, no support for annotations (=language independent classifications like 'good move', 'good for black', 'even position' etc.))
  • Usable for studing pro-games (0.2 NOK, 0.3.2 OK, statistics about learning progress goes aplha testing in version 0.3.5)
  • Usable for recording games from books (0.2 NOK, 0.3.2 usable, but some usability tuning could be done. Usability changes goes to alpha testing in 0.3.5 version)
  • Enables making game reviews (0.3.2 NOK, 0.3.4 decent. Making annotations will propebly not be supported. Editing symbols on goban supports some most typical) *Above tasks are satisfactory at current development version, below are not
  • Enables constructing problem files (0.2 NOK, possible with 0.3.2 version, but with very strict conditions, 0.3.8 OK, but needs a bit of finetuning and testing)
  • Usable for solving problems (0.2 NOK, 0.3.2 surprisingly usable even though most of sgf4 tags used by problems are not yet supported, 0.3.7 decent for problems that does not crach)
  • No placeholders (NOK, player ranks, player name not editable, tournament information complately missing and clock button does nothing)
  • Usable for recording tournament games (NOK, information of the players and game can not be given. No way to set komi)
  • Usable for studing joseki (0.3.6 usable, Bigfile management would still be needed)
  • Enables playing against self (NOK, game clock and different rule variants support are missing)

Objectives of 0.6 release

  • Support for tournament game recording way to set komi, player names and ranks cannot be recorded, no way to pass
  • Captured stones etc on game page testing, no problems discovered so far *Above tasks are critical for version 0.6, below are not
  • Support for tournament game recording location, event name, event time and such cannot be recorded
  • Notes on analysis page testing, known problems fix attempt at 0.3.6 version
  • Playable against self is not possible yet, score counting works
  • Support for game commentting testing, known problems fix attempt at 0.3.6 version
  • game clock currently. Clock does not run, time for clock cannot be set

Status of 0.6 release (Delayed. I failed my personal deadline and thus my personal priority for these tasks dropped much)

  • on hold

Objectives of 0.5 release

  • tuned for using Kogo's Joseki Dictionary

Objectives of 0.4 release

  • tuned for solving go-problems downloadable from goproblems.com
  • I expect 0.3.9 release to contain a lot of changes, so it is likely that it has bugs in it. I hope to be able to clean those in this version

Status of 0.3.9 release (Alpha release 9.3.2007)

  • Changed treatment of SGF4 syntax mandatory first semicolon
  • Added another way to present big game tree

Status of 0.3.8 release (Alpha release 8.3.2007)

  • added create problem feature (originally needed for tracking go-problem related bugs)
  • added merge load feature
  • added read plays only feature
  • column title printing implementation cleaned
  • added support for last MultiGo bookmark
  • added support for goproblems.com specific tags for problem classification and difficulty
  • moved find analysis mainline feature from main menu to the outcome mode toolbar
  • added next file icon to the play mode fullscreen toolbar
  • training statistics resetted at next file feature
  • correct on load sgf-files that do not have neccessary PL tag
  • added tag AE and other setup tags outside of root
  • added ignoring parsing for territory markings at root
  • added mirroring and dragging for new supported tags
  • added ignoring parsing for sgf4-standard illegal multiple comment
  • updated application string at sgf APgoban770:01 -> APgoban770:02
  • going home reset training statistics
  • added problem statistics (shown in place of training statistics if the file is go-problem)
  • setting home for go-problems implenetation changed
  • added menu-options-file open options-Set 2 step option for go-problems on as default
  • added menu-options-file open options-Set training mode for go-problems on as default
  • if go-problem and training mode, show as user message the note from the node if such exists.
  • if go-problem and player select analysed continuation, omit the "Correct" message.
  • when go-problem is opened, show at banner comments from root and home position if there is any
  • Added Menu-option-Tab control manual only as default not selected
  • Added switching tabs when mode changes or new game is started
  • Changed territory estimate to be pessimistic for both players

Status of 0.3.7 release (alpha release 15.2.2007)

  • help icon is not shown at the tab, when next file help is available
  • conditions to show score estimate are incorrect. In case of komi, it is overwritten on the column titles
  • go-problem files tend to crach. This is likely not to be specific bug in this version, but easier to detect because of new features of this version
  • full screen fits one icon more
  • icons can be added at the diagram view (not so in the development environment)
  • next file feature should show at banner the name of the file that is opened *Above discoveries in alpha testing, below new features
  • go beginning toolbar icon reset training statistics
  • right arrow instead of left arrow is counted as cheating
  • cheating show training statistics
  • automatic zoom out in case game tree does not fit into positive gint
  • score estimation is made visible when ever it is available regardless of the mode
  • support for pass in sgf-file
  • support for setting up player in turn in sgf-file (outside rootnode only)
  • open next file feature added at training mode (for getting next problem) and at outcome mode (for searching file)
  • left arrow and icon reduce number of correct play at training so that going back and remaking move have no impact on training statistics
  • go-problem opens at the problem, not at the root. Also, that position is marked as home automatically
  • some help texts changed and added
  • added to training statistics first moves where hint was needed, move was not quessed or cheat was used
  • pass-button connected
  • pass next move marker removed
  • texts to indicate that player has passed or set to be in turn to play added
  • alpha testing switch added
  • added FAQ
  • log level 'about'
  • changing working directory to where file is saved or where from loaded done. No affect to functionality at the development environment
  • fullscreen hardware key is accepted only if over full second has passed since previous accepting
  • at training mode root icon is replaced by home icon when home is available

Status of 0.3.6 release (beta release 18.1.2007)

  • during training it is difficult to find out how much more there is left in the game
  • detecting likely dead groups in the score counting would be helpful

Status of 0.3.5 release (alpha release 11.1.2007)

  • toolbar arrows <- and -> does not always update the comment window. This may be result of slow event handling attempt at 0.3.6, not much tested
  • after adjusting horizontally size of comment window comment window was only partially updated when needed so that text was visible at the left half and right half was blank attempt at 0.3.6, not tested

Status of 0.3.3 release (alpha release 5.12.2006)

  • score-estimation requirement to mark dead groups before correcting territories is very irritating
  • score-estimation should:
    • recognize certainly dead groups like stones that had aji, but no more has it
    • recognize better diagonal points that are territory, not false eye
    • correcting territory neighbour detection should not count as neighbour dead stones
  • joseki dictionary works much better now, but some issues remain:
    • graphics is messed up if gint is not enough for measuring height of graphics element attempt at 0.4 version
  • at setup positions last move is colorless and at left top corner
  • loading file that does not define komi,handicap or player names will use values defined by previous files. Same problem may be with some other tags also. These include event, place of tournament etc. noticed recently. Problem is may be fixed.

Status of 0.3.2 release (beta release 5.11.2006)

  • Problem of craching at file open when many files are opened in a row. Depends on file content some how. (Problem not located. Guess: sgf-tags not yet supported at root node)

Findings from earlier releases that are not fully taken care of with latest version

  • Still some place holders on user interface
  • Find analysis mainline logic of detecting mainline is faulty
  • Other things to fix. Status:
    • Note markers at game tree nodes would be usefull

Known bugs

  • Application is installed at extras. It would be better to let user to chose the location. Don't know how to do that (using repositories might fix this)
  • See status of releases
  • Application gradually eats memory. Closing application does not remove the problem. Currently active use of application requires booting of N770 about twice a month or so to release memory application has reserved but has not been able to release. This issue is very hard to fix, so it is likely that problem will be lived with at least a couple of versions.
  • Save the changes dialog is not called for when changes are about to be lost
  • File saving directory default location should be configurable
  • File opening directory default location should be configurable
  • Above directories should be remembered until application is closed or maybe longer
  • training mode captured stone that was not in atari. Cannot reproduce.
  • training mode refused to accept line of play. After night slep over cannot reproduce.

Tasks moved to maemo garage

  • measuring playing time
  • starting clock
  • stopping clock
  • setting tournament time limits

To do (in rough order of interest)

  • sgf-reading should skip white spaces while reading parameters. f.e. AB2: b4 should be read as ABa12:b4 instaed of crashing
  • test icon functionality: open all files in the playlist. Clear log and log name of the file before loading next file. After completion log number of files opened.
  • why going back to root crash after create problem feature has been used?
  • new tree mode should show filled full sized white circle without border at inactive branches
  • move number + 2 only if child also has siblings
  • text PAS on nodes where play is passing and SET for nodes that are setup nodes (consider W/B in place of SET)
  • small red asterisk at top right corner of the stone drawing area if the node has note at it
  • toggle symbols should work at root position (consider new list structure and combining toggle modes while doing this)
  • remove banner text: "Set boardmark up to see effect of this option"
  • skip 2 first symbols in string of 3 square brackets
  • do not interpreter unneccessary PL tags. That is, BjjPLW is just black play at tengen, not white to play position.
  • whitespaces between ][ should not interfare sgf parsing
  • empty comment should not create problems
  • when big tree status is set, set node scale big enough to show the node texts. When big tree status is reseted, restore original value
  • Menu-edit game-prune problem defender mistakes:
    • consider pruning branches where player to select the branch is opponent of color who's problem is
    • if there is a gote variation, keep shortest of those and prune the rest
    • if there is variation where opponent can decide if it is sente or gote, keep the one where variations gote/sente fraction is the highest and prune the rest
    • if there is only sente variations, keep the longest and prune the rest
  • Menu-edit game-Etch numbering
    • take numbering currently shown on the goban and make stone labels of the numbers
  • playlist menu:
    • linked list structure. Unlimitted amount of lists.
    • directory path
    • content structure
    • current file index
    • name of the last directory in the path
    • menu entry
    • next list
    • initially one list that is undefined
    • if current list is undefined, creates new list and keeps the undefined list. new current list will be the newly created list
    • menu choise 'Drop xxx list' where xxx is name of the currently selected playlist
    • changing playlist loads the current file from that playlist without changing the index
    • opening file via hildon open windows set current playlist to be the undefined
    • playlist menu show following content:
    • Drop xxx list, where xxx is the current list name
    • Reload file from xxx list, where xxx is the current list name
    • deliminator line (below one row is selected)
    • list undefined
    • xxx list, where xxx is the name of last directory in the directory path to the directory of which the list is made *go-problem related usability issues:
    • Fix next file help text
    • add node to the parameters of training statistics printing call
    • include stone decoration to information that is dragged with drag area feature Done???
    • set up position should set color of playe in turn Done???
    • support for recognizing goproblems.com specific commands in comment block
    • RIGHT correct solution
    • CHOISE as alternative to pick from
    • NOTTHIS to eliminate branch
    • FORCE to limit available choises
  • try to improve N800 compatability *preparatory tasks for 0.5 version:
    • sgf subset support
    • Skip subtree, recognize 2 first symbols
    • index loading: skip subtree if 2-branches found at current branch
    • match loading:
    • if not merge, delete children nodes before loading
    • if not merge, prune variations before loading
    • skip subtree if move is before current position and not merged to selected line of play
  • add to training stats "Hardest move to guess so far move x"
  • Set training statistics title to be "Training statistics x/x", where x/x is current move number / number of total moves in main branch
  • FAQ: Q:Game note X makes no sense. Why? A:Go-problems are rotated and mirrored randomly by default. That means that references like 'right side' or 'B6' make no sense. To see problem as it was originally oriented, deselect options menu Randomize problem orientation and re-open the problem. Selecting Stepping paused at playlist menu and then next file at toolbar might be easiest way to do that.
  • FAQ: Q:Why there isn't jump to position mode? A:You can jump to previous position by clicking on the last played stone of that position. To jump forward, just go to the end of the variation first. Jump to position feature implemented in any way would require more clicks from you to get to position you want to.
  • find analysis mainline feature considered to be killed
  • training statistics should show average correctness of current training session
  • player in turn setting for the root node i.e. sgfPL property as default none Done???
  • after result show number of moves at the node where result was given or number of the moves of the mainline if result is given at the root f.e. "W+3.5 at 285"
  • number detection aside goban shown take as parameter the column identification instead of boolean about which side of goban the click is searched for *Above tasks are requirements for version 0.4, below are not
  • new list structure that hold point and the type of the information. This should replace multiple lists. Reason: minimum size of single node would reduce some 40 bytes.
  • note markers at game tree
  • game tree showing option
    • option should be on by default
    • option has affect only if game tree draw height exceed preset amount of nodes
    • option will omit showing branches that do not start from currntly selected line of play
  • big file management (garage)
  • joseki dictionary still show vertical stribes. Check why the correction didn't work.
  • joseki view mode: show 4 separate positions from the sgf file in different corners. Details need further consideration
  • Joseki view at 4-corners
    • Show letter G at choises that has no continuation to mark it to be gote is gote for player in turn
    • show letter S at choises where all continuations are marked as G to mark it to be sente is sente for player in turn
    • show letter G at choises where all continuations are marked as S to mark it to be gote
    • show letter W at choises where both G and S are among continuations and player in turn at current choise point is black can chose if sequence is sente or gote
    • show letter B at choises where both G and S are among continuations and player in turn at current choise point is white can chose if sequence is sente or gote
    • show letter W at choises where all continuations are marked as W
    • show letter B at choises where all continuations are marked as B
    • show letter W at choises where any of the continuations is marked as W if current choise point is black
    • show letter B at choises where any of the continuations is marked as B if current choise point is white
    • show letter g if player in turn can force gote or let opponent decide
    • show letter s if player in turn can force sente or let opponent decide
    • show letter g if opponent can force gote or let player in turn decide
    • show letter s if opponent can force sente or let player in turn decide
    • thus: G=certain gote, S=certain sente, W=white decide, B=black decide, g=propable gote, s=propable sente
    • pass is interpreted as tenuki and thus considered as sente for passing player
    • keep in memory 8 positions. One for each color in turn at each corner. Position information has orientation and indication of possible color inverse.
    • Stones played from different corners may not overlap, but may extend to other quaters of the goban
    • exception. If same move is available continuation for several corners at the same time, that move is made in all of those corners if chosen
  • preferences saving
    • location of stripped joseki dictionary *Above tasks are requirements for version 0.5, below are not
  • outcome mode should show comments as read only. First current position comment, then separator and below that terminal position comment.
  • passing and score estimate at end of the game node is a visibility problem
  • play time measuring (garage)
  • time left sgf-file support
  • setting result of the game (garage)
  • showing time left at the log
  • ranking drop down lists should show the ranking of player indicated in the file
  • ranking selected at drop down list should be saved to file
  • linking player names on screen to corresponding sgf content
  • linking player ranks on screen to corresponding sgf content
  • different tabs for tournament and game information (komi, rules, time settings ets. are really tournament information)
  • at outcome mode consider "delete"-icon (x) to remove tail from current line last branch onwards
  • outcome mode should show all comments from current node to the end of the branch
    • title each comment with move number and position like: "112 white E7: " or "281 black pass: "
    • after each comment show empty line before next chapter containing next comment
    • changes to the comment are not saved
    • outcome mode specific handing for enter node
    • outcome mode specific handling for exit node
    • check that mode changing call enter node and exit node *Above tasks are requirements for version 0.6, below are not
  • "log" tab title changed to "msg"
  • adding stones should set player in turn tag
  • proper detection for who is player in turn
  • adding stones should be possible outside of the root
  • score estimate should not claim score from locations that can be eliminated from several directions (test case: Shusaku castle game 2 end position)
  • file extension sgf should be associated with goban770 right. Last time I tried to do this I had to revert back to back up to be able to compile
  • jumping between toggle modes should be made possible via icons aside the goban place of row numbers
  • possibility to set whose turn it is. May be combined into set up mode that replaced add black and add white modes
  • enter key to toggle between cursor key modes
  • territory counting status detection: calculate for each point of territory an eye value and sum them to gether to get strength of the group. If it is low and surrounding groups has high values, mark group as dead. Repeat until there is no changes in status of the groups. (eye value: if side, oc+1; 0, if os>0; if oc=1, 1/2 exp(ec+es); if oc=0, (ec+1)/(2 exp (ec+es)); where o=opponent, e=empty, c=diagonally adjacent, s=directly adjacent) *Above tasks are requirements for version 1.0, below are not
  • Menu choise Estimate scores at terminal positions: For each terminal position where is no estimate, create such
  • May be logging level about message of origins of sgf file after it is opened
  • language support for different languages
  • transposition searching
  • define PRODUCTION_VERSION and remove ifndef tests of this switch on part of features ment to be included in the production version
  • memory cleaning (0.3.2 is pretty good, but there known issues that has not been addressed yet)
  • clean recovery of out of memory situation
  • toolbar icon for clear (setup stones / stone labels)
  • 'find analysis mainline' feature should distinquish from each other long forced sequences like ladders from long non-forced sequences. (branch count + maybe capture detection) *Tasks below are considered to be dropped out
  • add user info message when in training mode file is opened and it is recognised as
    • go-problem
    • pro game
    • joseki or fuseki dictionary
    • non-pro game
  • support for other file formats
  • copy sgf to clipboard
  • paste sgf from clipboard
  • temporal mouse mode for trying out variations while in the training mode. Possibly removing branches made this way afterwards
  • go-modem interface
  • log scope set to 'user' and level 'warning' should show messages of use of error prone features
  • mark up mode to replace separate modes for toggle triangles, squares, circles and crosses. Usefull change to get space for new modes in the drop down list
  • new option to show next move marker only at selected and only if several choises are available
  • about icon aside FAQ button on the log page and about at the menu to select the log tab and do the same as the button
  • text with graphics function for the log where some strings are converted to icons within the text. ->, <<, trash, home etc.
  • variation letter color could be set to white or black according to which color the variation is profitable
  • retry refuted option that would reduce propability that goban770 selects refuted line when playing against fuseki dictionary
  • make rank drop down boxes shorter
  • instead of numbering mode, use diagram mode or specific temporal mode for showing numbers after fill goban feature
  • features activable both at menu and toolbar need a bit of cleaning
  • move back up to safe place
  • demo-button aside faq-button to generate set of pre-defined UI-signals at pre-set time intervals. Purpose: to demonstrate features of Goban770
  • exit file function
    • if was problem:
    • return original value of 2-step option
    • return original value of the current mode
    • save changes confirmation if there were changes
  • enter file function
    • if is problem:
    • store current 2-step option and set 2-step option
    • store current mode and set mode to be the problem mode
  • add testcase goproblems.com 9216.sgf into development environment for investigating problem of illegal re-capture of ko

Unimplemented planned functionalities

  • online mode
    • Icons: connect/disconnect, preferences, new game, find game (for observing ongoing games), possibly undo, pass, resign
    • connect creates connection all defined go-servers that can be connected to
    • disconnect closes all connections to go-servers currently connected
    • preferences let to define new go-servers, user-password combinations and preferred types of games both for playing and observing
    • new game set self as open for games and get list of open games to pick game from etc.
    • find game get list of runing games to pick game from
    • goban area would be wide as in diagram view. Times, prisoners etc. would be shown aside the goban
    • tab area log page would have below log one line of buttons 'yes','no',thanks' and possibly 4th button if space permits and I figure out what it should be
    • below button could be line with dropdown list and printer icon. From the list user can select standard phare to say and printer icon would say the phare
    • "I have stylus interface. It is difficult for me to write texts that are not pre-programmed like this text."
    • "Nice move."
    • "Would you like to have another game? If so, please challenge me."
    • below dropdown row is copy icon, edit field and printer icon. Copy would copy selection from log to the edit field and printer icon would say the text from edit field
  • bigfile management
    • when size of file to be parsed will exceed pre-set limit and no special load options are active, would do index opening
    • index depth need to be determined in a way that size of index plus size of biggest expansion together are far below limit application can handle
    • before drawing position expandability of current node is checked. If it is exapandable and has not been expanded, would do search from collection
  • merge on load option
    • instead of clearing loaded game before loading another game would merge the games together
    • would allow constructing game collections from separate sgf-files
    • might be easy to do as side effect of bigfile management implementation
    • transposition searching need for this to be considered (either at load or as option later)
  • search from collection
    • would load from game collection all branches that match continuation of the position on the goban currently and add those variations into present game
    • might be easy to do as side effect of bigfile management implementation
    • transposition searching need for this to be considered (either at load or as option later)
  • index opening
    • option for doing this regardless of the file size may be neccessary for testing
    • would load from sgf-file only some top levels, either based on move debth or branch count
    • might be easy to do as side effect of bigfile management implementation
    • each expandable leaf node would be marked with notification about expandability
    • file identification is remembered
  • transposition searching
    • active at training mode at root position
    • active at training mode when 2-step option has been activated
    • when active
    • if user click at incorrect location, search for transposition with all mirroring and rotating alternatives. If such is found, rotate and mirror goban accordingly and go to the transpositional position
    • this means that for example with joseki dictionary user could look situation at any corner and variations that revert back to variation handled elsewhere in the dictionary would be recognized automatically
    • the purpose is to make fuseki libraries 'playable' with 2-step option
  • smiles to indicate annotation
    • in addition or instead of analysis tab page could show dropdown list above comment area with values corresponding annotations: 'good move', 'very good move', 'good for white' etc. That would also be helpfull for find analysis mainline feature
    • smile on black stone is from black perspective, on white from white perspective
    • simple annotation is drawn with opponent color, double annotation with emphasis color (red)
    • good move, bad move etc. are drawn at the last played stone
    • good for black, good for white and even position is drawn at the player in turn marker
    • good in stone perspective is :-) and bad in stone perspective is :-( and even is :-|
    • same symbols are drawn at the game tree and goban. How ever, as stone color may reverse, so would the smile
  • Collection note page:
    • Visible only if several games detected when game was loaded
    • Buttons for first game, previous game, next game, last game
    • Some information about the collection like amount of games
    • Designed to be usable with problem collections that fit in the memory before parsing
    • Maybe pattern search that tries to take from collection all games that start with position at the goban. Possible also partial match if selecting rectangle of stones is implemented
  • Hardware keys:
    • Different modes between which enter key toggles
    • Enter key: circle to the next mode
    • When ever mode is changed, banner indicating the new active mode is shown
    • step by step mode (default): up and down change selected child branch. Left and right move at the tree.
    • jump mode: left=fast backwards, right=fast forward, up=reset to main line, down=goto variation + all will set step by step mode
    • to the limits mode: left=to the root, right=to the end, up=reset to main line + all will set step by step mode
    • seak branch mode: Like jump mode, but will not set step by step mode
  • Analysis features:
    • Delete tails: Delete even number of plays at end of non-branching analysis variations under current node. This would effectively remove fully played ladders etc. without harming analysis (is this really needed??)
    • Find misclick: Find next leaf node that has siblings. Purpose is to find unclened misclicks from analysis variations. Possibly also 'delete and find next' feature.
    • Undrag: Delete current variation from branching point onwards and reverts to the previous panicable position. Things to take care of: Selectability only immdiately after drag and ensuring that immediate panic button click after this causes no problems. Maybe undo icon at toolbar at fullscreen mode. Questionable feature!!!
    • Check analysis: Assuming that all variations are favorable for the player whose move is last at the variation tries to find common nominator in favorable variations, thus suggesting point of analysis or implying which player should tenuki and at which point or which of the variations player in turn should follow
    • Capture clicked: Plays brutely at liberties of clicked group until group is captured, it gets too many liberties or variation limit is reached. This will effectively check ladders and some other contact play tesujis, but will fail to find more robust tesujis
  • preferences dialog is propably good idea. Trying to put everything at notebook aside goban is not good idea for information not usually changed during games

Random ideas

  • Once note book tab sizes get to be issue, following pictures can be considered in place of title words
    • Game page: clock
    • Game recording setup: white and black hand shaking / white and black stick man facing over goban
  • Note book page autoselections:
    • clicking new game autoselects game recording setup page
    • loading sgf file autoselects analysis page
    • making first move of the game autoselects game page
    • error printed in the log autoselects log page
    • clicking already played stone autoselects analysis page
    • dragging already played stone autoselects analysis page
    • playing stone at the end of the main line autoselects game page
  • go playing logic development
    • Algorithms must be developped from end of the game towards the begining of the game. This is because any forward thinking bases on the fact that analysis of the position reached is sound. Thus, there is no point of trying to figure out fuseki decisions if life and death analysis does not work and so on
    • Branches analysed are left at the sgf-tree until next move of the computer. This helps algorithm analysis considerably and also reduces need to recalculate branches that player chose to follow
    • Using branches of tree and leaving them at the tree means that emphasis of the algorithms should be pruning out unneccessary branches of analysis. Some ladders or such could be replaced with note like "Ladder favorable for white" etc.
    • Go playing algorithm has following sub parts:
    • Position score estimation:
    • Minimal forward reading, may be ladder check or such needed for status determination of groups
    • Divide score as secure score for both players and scores available for pick
    • Assume that player in turn takes the biggest available pick, 3rd biggest, 5th biggest and so on and the other player the rest
    • Tuned to work properly on quiet positions (i.e. player in turn has sente)
    • Pruning of branches to consider
    • Calculate cost of analysis for each move to consider
    • Decide which move of which position is next to think forward
    • Decides when to stop finding more positions for analysing branches
    • Move selector
    • Possibly slightly modified min-max function that selects move to play based on game tree constructed by pruning algorithm and which leaf nodes are estimated with score estimation algorithm
    • This also means that sgf support for annotation and score estimate has to be implemented so that algorithms can maintain information of performed analysis
    • Because of the points above sgf-editor development is neccessary. My motivation proved #

Other notes

  • Apparently N770 file system is some how hidden. I have not figured a way to transfer files between N770 file system at the development environment and the debian file system. At actual N770 transfer succeeds via memory card that is mounted device in debian, but in development environment memorycard does not exist
  • Downloading sgf-fils is a bit mystery. Best success you get if you download at default directory, rename the file to name with common letters only and download again over the file downloaded first time. If you ever get resume button, click it. Also it seams that latest (at begining of 2007) version made situation worse
  • About go-problems. By now I have looked at 4 go-problem file which of each have had different way of showing the go problems each of which is different I would have thought.
    • The variations encountered are:
    • Show one problem in file at the root (+simplified case of one variation below)
    • Show one problem at the file at child of the root (+simplified case of one variation below)
    • Show several problems in a file each at root of different game in a game collection (+show problem immediately when game is opened)
    • Show several problems in a file each at different child of the root (+no need for collection management)
    • The variations I had thought myself are:
    • Show several problem in a file each problem at first child of the previous problem position (-difficulty of presenting answers within problem file)
    • Show problems at analysis branches of a game making minor modification for position (+keeps problems in concept,-difficulty of finding problems)

Guest book

Visitor Rank Comment Use for which would use Goban 770 in order of interest
Jarmo Ahosola 7k Author, example line for guest book Analysis of DGS games, studing go, recording tournament games, playing go
LeifRyge ? I would like to beta test when support for the Go Modem Protocol is implemented Playing against remote gnugo (and humans too)