Tuesday, April 25, 2006

Portuguese translation

If Blogger wouldn't have been down and after it had been down, refused to sign me in properly, I could have showed this a day earlier: A Portuguese translation.

Vasco Pimenta managed to translate Moyo Go Studio in less than a day!

Four years ago I paid 600 USD to get a Korean translation for Moyo Go, the "tips", Help and website but I never got it because I kept dragging my heels - totally underestimating how long it would take before all this would be ready for translation. And now I don't manage to contact her any more..

Anyway - if you are Korean and would like to translate MoyoGo, let me know, I offer a free copy of Moyo Go on DVD for the effort. Which is not much for a good translation, so I appreciate it a lot.

Update: She contacted me :)

Saturday, April 22, 2006

I18N & L10N

I noticed that SmartGo now has on-the-fly switching of CJK languages.

I hacked up such a system a decade ago. I published some of that code and this is why, when you download GNU gettext from SourceForge, my name appears in the credits. I used RTTI to recursively modify the GUI widget properties that needed translation and an XML file provided context, comments and the translations in UTF-8.

GNU gettext is better so I use that, although my version was able to display CJK correctly on Wintendo (95, 98 & ME). MoyoGo is not supported on platforms that are only partially 32-bit so it's not an issue.

MoyoGo is ready to be translated: I have an external file, I made the program Unicode-compatible (well, some bugs always remain but they will become apparent when a Japanese translation file will be used) so everyone who offered to make a translation for Chinese, Japanese or Korean: Brace yourself :)

Anyone willing & able to translate into a language that is not yet on this list:
http://www.moyogo.com/Translations.htm will get a free copy of Moyo Go Studio.

The reason I waited such a long time was the fact that I kept adding strings - now it's mainly bugfixing and the creation of a "SmartGo/GoTools/MadLab killer": A TsumeGo module that will solve life/death tactics and problems. This will take a long time to develop and while I do that and the program is being translated, I'll fix all those little issues that have been requested and don't require new translations strings, except hints on buttons etc.

Monday, April 17, 2006

Bookmarks

I just added a bookmark feature to the auto-update. MoyoGo's new bookmarks are powerful and versatile: You can sort them on filename, player, database, variation number, date or event and you can even add your own comments.

The columns can be resized and dragged to different positions and that, as well as everything else about the bookmark dialog - its size, position and sorting - is remembered.

A very nice feature is the fact that a bookmark includes the position! So you can bookmark different problems in the same problem collection, different Joseki variations in the same Joseki dictionary or different positions in an interesting game. Such bookmarks are distinguishable by their variation number and their comment. An example of a variation number is g3v2m5, meaning: Game/problem 3, variation 2, move 5.

Friday, April 14, 2006

Miracles Take a Little Longer

Other SGF software offers drag & drop too, but I think Moyo Go is the only program that accepts dropped URL's and images from a web browser.

Open Moyo Go Studio and drag this link to the board: Go Seigen - Fujisawa Hosai.sgf

And try dragging this image straight from this blog to the board:


I just made this work, so it is not yet available in the freeware SGF editor.

(Use Settings - General Settings - Board - Skin - Board.jpg to get the original goban back.)

Wednesday, April 12, 2006

Multitab Gobans Progress (2)

Multi-tab go boards is a massive thing to implement because everything suddenly has to be "multiple". The undo buffer, for example. All that stuff resides in separate classes, but they were not yet combined into a "superclass".

One tactical advantage of Moyo Go over competitors like SmartGo is that I am agile. Example: SmartGo's latest version has artist-drawn icons. Those things cost about 80 USD a pop, and adding new ones takes time because the designer has to have time free, and the same designer has to be used because new icons should have the same style as the existing ones.

Tuesday, April 11, 2006

Multiple gobans progress

The multi-tab goban stuff is getting done, but a lot of problems had to be solved along the way.

One of the obstacles encountered was the lack of Unicode support of the docking manager, so I modified the sources of that thing, which was non-trivial: The manufacturer, in spite of their customer's requests, declined to implement it.

Sometimes, seemingly simple things are complex to bring about. Yet it will be worth it. Unicode support aside, a plethora of issues need to be taken care of, so it will take some more days to finalize, test and roll out this oft-requested feature.

Saturday, April 08, 2006

Small Things That Make Me Happy

This is from a poll on www.godiscussions.com.
"Other" includes SmartGo, MFOG and BiGo.

I want to thank all those who made favorable comments about Moyo Go Studio on that new forum. People have been pointing out that this is just the beginning, with Moyo Go. It has been available for much less than a year. I had a day time job at the time of launch and the half year that followed - now I am working full time on it.

The most interesting aspect is the fact that I do not play Go above beginner level but this summer I will dedicate as much time as possible on study and play, to go hand-in-hand with a TsumeGo module. I will concentrate on Go problems because whatever I do in my life is subordinate to my Go programming. However much I am fascinated by the game itself, the bulk of my time should still go to more "technical" issues of supporting and building my software. This winter I bought piles and piles of Go problem books, books about TsumeGo, Tesuji, I printed a toner cartridge on Tree searching techniques and especially, I have been thinking, thinking, thinking.. Solving TsumeGo is a hard problem. I want to approach it in a novel way. Moyo Go has "stolen the show" with its pattern system, what I want is a similar "bang" with its TsumeGo solver, so that noone can ignore this software any more. This means it might take a long time before there will be a TsumeGo solver, but it will be a good one :)

A TsumeGo module, combined with the pattern system and the influence module I already have (the influence module is the fastest delta-based semi-Bouzy function I could design, it is an order of magnitude faster than Bouzy but essentially the same and uses only one iteration to calculate the force fields of influence), will be enough to start entering Moyo Go into online computer Go competitions. I have patience. My main interest lies not in Go databasing or pattern expertise, my interest lies in making the world's strongest Go program.

All this work on the current Moyo Go is just a stepping stone for a Go-playing program. Moyo Go's pattern system is intended as a Joseki library and plausible move sorter. But since I approached this endeavor as a self-funding excercise, I am growing the program organically.