Index (comments/trackbacks)

hidew 2010.03.03

#1905 sklStone 【透けるストーン】心眼を鍛える棋譜並べ

開発が進めば進むほど完成からは遠ざかっていくような気がするので、とりあえずこの辺で公開してみる。

Transparent Go 【透過碁石】心眼を鍛える棋譜並べ
sklStone 【透けるストーン】心眼を鍛える棋譜並べ
http://stone.dialog.jp/sklstone/

レベル

  1. 通常碁石
  2. 中途半端透過碁石(よく見ると黒白が分かる)
  3. 透明碁石(このソフトの標準モード)
  4. 丸だけ。(ヒント用の裏碁盤なし)
  5. 何もない。真正の脳内碁盤が必要。張栩棋聖レベル

※level 2 と leve 4 は廃止予定。通常・透過の2モードで、究極レベル(現行の level 5)をネタとして残しておけば十分かと思う。

ネーミング案

シンプルに「心眼」という名前にしようかと思ったけど、一般名詞として使う言葉なので具合が良くない。いろいろ思案した結果、とりあえず「透過碁石」ということに。

英語名は「Transparent Stone」、長いので「Transparent Go」にしようかどうか迷い中、とりあえず Java のコードは 'Transparent Go' で書いた。

  • 透過碁石
  • 脳内碁盤
  • 心眼
  • Transparent Stone(Go)
  • Clear Board

関連

immoral & stoic ―下心系囲碁普及考察日記―: 棋譜ワン ランキング機能追加 - 開発状況(2010/3/01)
http://curren-note.seesaa.net/article/142505043.html

*

hexagoban 2010.03.03 [1]

透けるストーン

skelton+stone skelstone,透けるストーン・・・ダサいですかね(苦笑)

hidew 2010.03.03 [2]

sklStone

名前をつけていただきありがとうございます。

「透けるストーン」は語呂がいいですし、意味もピッタリですね。

ただ、英語の skelton は 「碁盤の木の部分」が透けて「碁石と罫線」(つまり骨格=スケルトン)が残るという逆のイメージです。また、辞書を調べたら、skel(麻薬中毒者、ホームレス)という俗語があるようなので、少し気になるところです。

Blu-ray や Flickr みたいにわざと一部を省略して sklStone にしようと思います。発音は当然「すけるすとーん」で。

curren 2010.03.03 [3]

やってみました

こんにちは。
うちの方でランキング実現してほっこりしていたのですが、
さすが、開発スピードが尋常じゃないっすね!

候補手の導出ってどうやってるんですか?
ヒントの出方が絶妙で、
こちらは確実に棋力に応じたスコアが出そうな気がします。
また、以前のときも思ったのですが、
盤面の線が透ける、というのはチラリズム的にすごい絶妙と思いました。
うちのアプリ、やはりスペース的に無理があるので、
この考えを取り入れさせてもらおうかと思っています。

ちなみに私こちらのページを普段IEで見ているのですが、
jarファイルをダウンロードするといつの間にかzipになってしまうようです。
また、このコメント欄もうちのIE8では上手く開きません。
(のでGoogle Chromeで書いてます。でもウチのIE、Google Toobarが開かないなど、いろいろオカシイのですが...)

それと、スケルストンというと、
http://dailyigo.seesaa.net/
こちらを真っ先に思い浮かべてしまいます。
コラボしてみるとよいかも知れませんね!

それではまた!

hidew 2010.03.03 [4]

maznaga式ヒント

候補手の導出ってどうやってるんですか?

候補手は「#774 maznaga式ヒント」です。単純に現在手から num 手先までを表示しています。

private int[] hintArray = {8,4,3,2,1}; //詰碁には {0,4,2,1} のようなパターンにする。
private int hintcounter = 0;
private int calcHint(final int a) {
    hintcounter = (a == 1 && hintcounter < hintArray.length-1) ? hintcounter + 1 : 0;
    return hintArray[hintcounter];
}

if(right) num = calcHint(0); //正着
else      num = calcHint(1); //誤

//ヒントの描画
Point[] ps = goban.getMovesAfter(num); 
                // getMovesAfter は現在手から num 個の着点を返す。
for(Point p: ps) drawDot(p);
hexagoban 2010.03.03 [5]

年配じゃないけど

彩(やまねのねさん)の有色透明なあれ、実は、「碁盤を囲んで」でも記事にしたくらい気になった商品でして、あの、形が不揃いなところが味がありましてね、買ってませんけど。スケルストーンって、そのまんまでしたね(苦笑)。やはり、「人は、過去の記憶から発想するのだ」という茂木健一郎さんの話がよくわかりました(笑)。昔自分で書いたことをすっかり忘れて、自分で「いいネーミングじゃん、俺ってやるじゃん!(やや誇張してます)」というあたり、物忘れが激しい人みたいじゃないですか(爆)!まあ、採用していただけると、うれしいです。

hidew 2010.03.04 [6]

チラリズムの追求

盤面の線が透ける、というのはチラリズム的にすごい絶妙と思いました。

そのチラリズムの加減をどうしようか、まだ苦心しています。

普通は「棋譜を並べ終わって成績が良かった時に、ご褒美画像を全開にする」ということになりますが、それだとチラリではなくなってしまうので、半透明という微妙なところに落ち着きました。透けすぎると興ざめなので、透過率の加減をいろいろ考えています。

//透過率の計算
float sf    = (float)(score.get())/100.0f;  // 0.0 - 1.0f
float limit = 0.6f; //透過率の下限
if(level <= 1)      limit = 0.9f;
else if(level <= 2) limit = 0.8f;
else if(level <= 3) limit = 0.7f;
else if(level >  3) limit = 0.3f;
if(!(level == 1 && gameState == PLAY) && sf > 0.1f){
   opacity = 1.0f - (1.0f-limit)/sf;  // ★★★
   if(opacity > 1.0f)       opacity = 1.0f;
   else if(opacity < limit) opacity = limit;
   g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, opacity));
}

f(x) = 1/x が 0 に漸近するように、透過率を計算しています。レベル1だとどんなに頑張っても 0.9f までしか透過しません。

hidew 2010.03.04 [7]

本物の「スケルストン」

スケルストンというと、 http://dailyigo.seesaa.net/ こちらを真っ先に思い浮かべてしまいます。

すでにあるんですね。このまま当ソフトが「透けるストーン」を名乗るのは道義的にまずいような気がしてきました。英語名の sklstone はプログラムの動作にかかわるので、このまま変更しないことにして、日本語名をなんとなく「透過碁石」に戻すかもしれません。

囲碁ショップ「彩(さい)」
http://www.igocolors.com/

なかなかの美しさです。この碁石は私も知っているはずなのに、すっかり忘れていました。

コラボ企画として広告提示と賞品提供の交換は考えられますね。「棋譜並べ」最優秀者に、本物の「スケルストン」をプレゼントみたいな。ただ、あまり表世界の立派な人を巻き込むと「チラリズムの加減がねー」とか言いにくくなるマイナスがあります。

# そういえば、囲碁の対局ソフトに「彩(あや) 」という名前のものがあります。ややこしいやー。

hidew 2010.03.04 [8]

IE関連

.. 普段IEで見ているのですが、jarファイルをダウンロードするといつの間にかzipになってしまうようです。

私の環境(Firefox)では、とくに問題ないのですが、*.jar を送出するときに何か MIME を設定すればいいのかもしれません。

#.htaccess
AddType "application/java-archiver" jar

curren さんはお分かりかと思いますが、もし他の方が、.jar → .zip になってしまったら、改名してください。ファイルが hogehoge.jar という名前になっていれば、関連づけによって起動できると思います。

また、このコメント欄もうちのIE8では上手く開きません。

コメント欄はスパム対策で JavaScript - jQuery を使って書き出しているので、ブラウザによっては具合がわるいかもしれません。JavaScript を off にすると、通常の form(ミニクイズあり) にリンクします。

curren 2010.03.04 [9]

単純に現在手から num 手先までを表示しています。

そうだったのですかぁ!
シンプルな方法ながら、すごい適切さだと思います。

チラリではなくなってしまう

うちのアプリも、他の脱衣モノの流儀に倣って全開モード付けましたが、
あの、"効果の大きい所"から着手する要素が無くなってしまうのも惜しいと思っていました。
最近画像を変更して自分でプレイした時に、
激弱なCPUにも関わらず、「欲張って」中央の重要な領域を無理に攻めすぎて敗北したのは
良い思いでです。(笑)

あまり表世界の立派な人を巻き込むと「チラリズムの加減がねー」とか言いにくくなる

これ、悩みですよね~(笑)
先日の棋譜並べ、かなり早いタイムを出した方がいて、
アクセス解析とかから、某ブロガー棋士のM九段なんじゃないかと思っているんですが、
なかなか記事にできません。(笑)

hidew 2010.03.05 [10]

囲碁要素も重要(笑)

そういえば、対戦型だと「コンピュータの思考」を作るのがたいへんですね。いつもコンピュータの石を全滅させて終わるので少し味気ないと思っていました。

私が「棋譜ワン」推し #1747-1 なのは、エロだ、アクションだと言いながら、やはり囲碁要素も重要だということです 。 コンピュータ相手の実戦だと囲碁が楽しめないので。

ランキングは、プログラムを書くのは簡単ですが活性化する仕組みを考えるのがたいへんです。今更ですが「成人男性」をターゲットにするのではなくて、女性や子供を巻き込んだ方がうまくいくのかな、と迷っています。

某ブロガー棋士のM九段なんじゃないかと思っているんですが、

本当にプロ棋士が参加してくれると面白いですね。

私はデバッグなどで 20回以上並べた棋譜があって、その棋譜に限りプロ棋士に勝つ自信はあります。
「囲碁問題ソフト」を開発すると、なぜか囲碁の勉強がはかどる法則

hexagoban 2010.03.05 [11]

奇遇ですね(笑)

最近、私も「必要に迫られて」、詰碁本を片っ端からSGF化する作業が日課になっています。お菓子なんか食べながら、この宿題に取り組んでくれる生徒さんの顔など思い浮かべつつ、ディスプレイ上で「詰碁並べ」をやっているんですが、パターン認識というか、形で覚えてしまいますね。1問並べるたびに、ピーナッツをあげれば、チンパンジーでもできるんじゃないかとさえ思います。答えのある問題って、いいですね。『個性を捨てろ、型にはまれ!』の世界ですが、棋譜並べと同じで、この作業にストレスを感じません。ほとんどゲーム化してるというか、こんな楽ちんな勉強法をなんで今までやらなかったんだろうって思います。

hidew 2010.03.06 [12]

碁は体で覚えるもの

手筋の勉強はかけ算の九九と同じですね。あるパターンの繰り返しです。脳科学的にも「強い人ほど、記憶・習慣が優位。考えていない」ということが分かっています。

「棋譜並べにアクションゲームの要素を」というテーマは、一見「おふざけ」のようでいて、実は「効果的な勉強」でもあると思います。

詰碁本を片っ端からSGF化する作業は私も 方円の迷宮 の時にやりました。石葉 を使うとすごく効率が良いです。

  • 左クリックで黒石、右クリックで白石
  • ドラッグすると連続して石を置ける。

詰碁をコンピュータに入力したり、間違いチェックをしている時が「一番囲碁の勉強をしている時」で、入力し終わると何もしなくなります。

この宿題に取り組んでくれる生徒さんの顔など思い浮かべつつ、

「生徒をやる気にさせる」という部分(ピーナッツの要素、下心系)が重要です。その方面の話も是非お聞きしたいですね。

hidew 2010.03.06 [13]

津波警報を見て思いついた【迷案】お邪魔画像

先週の「チリ大地震による緊急津波警報」を見て、思いついた。

着手を間違えたとき、お邪魔画像がランダム位置に出現する。試しに実装してやってみたが、マイクロソフトのイルカ(Excel とかのヘルプ?)並にうざい。お邪魔画像は脳内碁盤が崩れる上に、集中力も乱される。嫌がらせがすぎると思った。

NHK囲碁の津波警報も、最初は「定期的に位置を動かせばいいのに」と思ったが、それをやったら逆に問題がありそうだ。定位置にあれば脳内補完が効きやすい。

というわけでお邪魔画像は定位置に置いておくのがいいのかな(それも違う

Amazon オススメ商品