COSUMIに纏わる数字の話

COSUMIを始めて7年ちょっと経ちました。今では、当初は想像もしなかったようなたくさんのアクセスがあって、本当に驚くばかりです。Googleで「囲碁」という単語で検索しても、当然環境には左右されるのですが、一番上に表示されることが多くなり、そうなってくると、もはやCOSUMIの様々な統計情報も、自分で眺めてニヤニヤするだけではなく(笑)、囲碁普及に努めておられる方々と、ある程度共有していかないといけないような気がしますので、今日はCOSUMIに纏わるもろもろの数字を、まとめて公開していきたいと思います。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

今回の記事はかなり長めになりますが、いきなりハイライトです(笑)。Google Analyticsでの平均セッション時間、直帰率、新規セッション率がとにかくすごいです。

平均セッション時間 12分9秒
直帰率 37.17%
新規セッション率 14.77%

(データは直近一ヶ月)

これから分かることは、「COSUMIはアブノーマル。でもたぶん嫌われてはいない」(笑)。アクセスがそれなりにあって、こんな数字になるサイト、実際のところ他にどれだけあるのでしょうか?

次は、COSUMIが打っている手数(ユーザが打っている手数は含まず)です。これも現在なかなかどえらいことになっていて、例えば、6/28~7/4の7日間では計26,386,121手でした(実際はもうほんの少しだけ(1%以下)多いですが、正確にカウントできるのだけに限定しました。以下、COSUMIが打った手数についてはすべて同じ)。平均して3,769,446手/日、157,060手/時間、2,618手/分、43.6手/秒になります。同じ期間中の、1分単位で見た一番のピークは7/4(土)の17:46台で、4,854手/分、80.9手/秒。COSUMIが手を打った後、同じ対局の次の手を打つまでの間隔(要するに黒白1手ずつ計2手対局が進む時間)は平均10秒ぐらいなので、このピーク時は800面打ち(!)ぐらいになっている計算に…(いや、何て言うか、囲碁が不人気だとかオワコンだとか、絶対嘘でしょ?(笑)) あと、COSUMIの2台のサーバもちょっとすごい。1台で400人相手できるとか、なんかもうかっこいい。現在メインで使用しているサーバはレンタル開始から2年半ぐらいになりますが、歴史上、囲碁の手を一番たくさん考えたコンピュータじゃないかと、本気で思っています(笑)。

続けてCOSUMIが打っている手数を時間帯別に見ていきます。次のグラフは7/1(水)の0時~24時の24時間を1分単位で見たものです。

典型的な平日の推移となっていて、昼・夕方・夜の3つの山が確認できると思います。その中でも、特に注目していただきたいのは、昼の山(ピークは12:41台)で、このいかにも「隙間時間に何とか碁を打ちたい」って感じは、これからの囲碁普及の結構重要なポイントではないでしょうか? 時間さえ許せば、みんなきっと碁を打ちたいんだと思います。

さらに今度は碁盤サイズ・レベル・置石の数などの対局条件別にCOSUMIが打っている手数を見ていきます。次のグラフは、6/28~7/4の7日間のデータです。Lはレベル、Hは置石の数、Hの後の-(マイナス)はCOSUMIが石を置いていることを意味します。ちょっと見にくいかもしれませんが、グラフをクリックしていただくと、たぶん大きく表示されます。

ひとつだけ、なんだかおかしな数字になっている項目があるので、スケールを変更したグラフも用意しました。

実は今回いろいろ調べていて、一番驚いたのがこの数字です。見ていただいて分かるとおり、19路盤の互先がなんかもうよく分からないぐらい多いです。19路盤が多いと言うのは、ある程度分かっていましたが(それも正直想像以上ですが…)、それはともかくとして、互先と置き碁にこんな差があるというのは、今の今まで全く知りませんでした… 15路盤にも全く同じ傾向が見られるのですが、これはCOSUMI固有の現象なのでしょうか? それとも、みんな置き碁が好きではないのでしょうか? 9路盤~13路盤では、レベルが一番低いのと一番高いのが人気なのが見てとれると思いますが(個人的には、これは理解できます)、それと比較すると、ちょっと異様な感じがします。あと、9路盤・13路盤・19路盤という昔からよく打たれていた碁盤サイズの手堅い人気も見てとれます。11路盤・15路盤は、打てる環境が無いから打たないのではなく、打つことができても打たないのですね。とは言え、その大本の原因は、「元々打てる環境が無かったから」でしょうから、これから時代が進むにつれ、このあたりも少しずつ変わっていくのでしょうか? ちなみに、大きな碁盤サイズの方が、一手に掛かる時間が短い傾向がありますが、程度としてはあまり大きなものではないので、「COSUMIが打った手数」を「ユーザが対局している時間」に置き換えて上のグラフを見ていただいても、特に問題はありません。

今回調べていて、もうひとつ初めて気がついたことがあります。それは、囲碁のルール解説のページ(http://www.cosumi.net/learn.html)へのアクセスが、日曜日だけ少し多いということです。ある程度落ち着ける休日に、新しい趣味を始めたいのかもしれませんし、それならそれで感覚的にも分からなくはないですが、しかし、土曜日は特にアクセスが多かったりはしませんね。日曜日ですか… これは怪しいですね(笑)。ということで、6/28(日)~7/4(土)の7日間を1時間単位で見たグラフを用意しました。比較対象としてFlash版の囲碁対局ページ(http://www.cosumi.net/play.html)へのアクセス数に[learn.htmlへの7日間の総アクセス数/play.htmlへの7日間の総アクセス数]を掛けたものも表示しています。

日曜日のお昼がおかしいですね。ピークは13時台、その次は多いのが12時台。もうお分かりだと思いますが、NHKの囲碁の時間ですね。先ほど、初めて気がついたと書きましたが、今まで、NHKの囲碁の時間の影響を気にしたことが無かった訳ではありません。むしろとても興味のあるところなので、今まで何度か調べてみたことはありましたし、その上で特に大きな影響は無いんだなと判断していました。実際、囲碁対局ページへの影響は特にあるように見えませんし、これは囲碁のルール解説のページだけに顕著なようです。あの放送を見て、囲碁に興味を持つような人が毎週毎週これだけいるのならば、この人たちを丁寧に掬い上げてあげられたら、それだけで囲碁人口は結構増えていきそうなものですが… 個人的に面白いなと思うのは、テレビを見て囲碁に興味を持った人って、ほとんどリアルタイムでウェブ検索するんですよね。今の人って、「後で、誰かに聞こう」とか、「今度、本を買ってこよう」とかではなく、「今、ぐぐってみよう」になるわけで、ウェブ上に、しっかりとした入門者向けのコンテンツがあるというのは、当たり前のこととはいえ、ものすごく大切なことだと思うのですが、しかし実際は、今ある囲碁関連のウェブコンテンツって、ものすごくしょぼく感じます。いや、本当に「お前が言うな」ですけど(笑)、もうちょっと何とかならないでしょうか?

次は、モバイル関連の話です。Google Analyticsでの全セッションに対する「デバイス カテゴリ」ごとの割合はこんな感じ。

desktop 78.26%
mobile 15.66%
tablet 6.08%

(データは直近一ヶ月)

そうなんです、モバイル端末からのアクセスがちょっと少ないです… たぶん、「囲碁のゲームがやりたい」ってなったら、ウェブなんか調べず、アプリを探すんでしょうね。囲碁のゲームぐらいネイティブアプリじゃなくてもと、私なんかはつい思ってしまうのですが、うーん、これはどうしたものか…

次は、国別の利用状況です。Google Analyticsでの全セッションに対するアクセス元の国ごとの割合はこんな感じ。

日本 81.90%
中国 7.37%
アメリカ 4.20%
韓国 2.06%
カナダ 0.66%
台湾 0.37%
オーストラリア 0.30%
イギリス 0.28%
香港 0.19%
ドイツ 0.18%

(データは直近一ヶ月)

意外に思われるかもしれませんが、海外からのアクセスも決して少なくありません。中国からは結構以前からアクセスが多かったのですが、ここ最近は他の海外の国からのアクセスが増えました。とは言え、海外からのアクセスは伸び悩んでる感じもあって、ちょっと寂しいです。伸び代はまだまだあるはずですが…

ということで、たくさん調べて、たくさん文章書きました。うーん、疲れた…

[追記 2015/7/12]
iPadだけとiPhoneだけに限定した、対局条件別のCOSUMIが打っている手数のグラフも作ってみました。期間は6/28~7/4の7日間。まずはiPad。

そしてiPhone。

タブレットなら碁盤サイズを好きに選べるけれども、スマホではさすがに19路盤は厳しいということでしょうか? スマホを触っているときはあまり時間が無いってこともあると思います。

悪手の指摘が少し正確になりました

COSUMIの5路盤~9路盤(レベル0)の対局リプレイでは、ユーザの打った悪手を指摘する時がありますが、これが少しだけ正確になりました。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

今までは、Fuegoに初手から調べさせて、ユーザから見たwin rateが下がったところを悪手としていました。ただ、これだと勝っている局面で、不必要な手入れをした方がいいと言うことがたびたび起こり、ちょっとみっともないことになっていました。そこで、今度からはさらにGNU Goの意見も聴くようにし、GNU Goが「確かにFuegoの指摘する手の方が得だ」と判断しないかぎり、COSUMIとしてはその手を悪手とは指摘しないようにしました(実際は、今までも今現在も、そこまで単純ではありませんが…)。

例えば、次の棋譜は実際にCOSUMIで打たれたものですが、最後に2回、自陣に手を入れろと指摘が入っています。Fuego的にはそうした方がだいぶwin rateが高くなるようですが、正しくはこれらの手は不必要な手入れであり、かなり問題のある指摘になっています。逆に、GNU Goはこういうところであまり不正確にならないので、Fuegoの主張をいい感じに却下してくれます。という訳で、今現在は、同じ棋譜の対局が行われても、悪手の指摘はしなくなっています。

[9路盤 レベル0] 黒(You)12目勝ち – オンライン囲碁ゲーム COSUMI

今回は同時に、Fuegoが悪手と判断する基準も緩くしたので、COSUMIが悪手とする回数自体はあまり変わっていないと思います。

ということで、今回の変更でなかなか良くなったのではと思っているのですが、サーバの負荷がしゃれになっていないので、これから何とかチューニングしてみます。なんだったら最後はお金の力で…(笑)

JavaScriptな囲碁の棋譜ビューア WGo.js

2015.02.10  |  JavaScript, ウェブ制作, 囲碁  |  Comments (3)

このブログでは囲碁の棋譜ビューアとしてGoswfという、Flashのソフトを使っていたのですが、自分でiPadを使っている時にも当然見ることができなくて、さすがにそろそろまずいかなあと思っていました。ところが、じゃあJavaScriptなので何かないかと探しても、意外なことに適当なのがぜんぜん見つからないんですね(最初に探し始めたのは、1年ぐらい前だったような気がする…)。せいぜいちょっとオールドファッションなEidoGoぐらいで、これは9路、13路、19路以外はちゃんと対応していないみたいです。というわけで、時間は掛かりましたが、ようやく見つけたのが今回のWGo.jsです(正確には、WGo.jsを利用したWGo.js Playerで棋譜再生ができます)。

WGo.js – javascript library for game of go
http://wgo.waltheri.net/

SGF Player | WGo.js
http://wgo.waltheri.net/player

こんな感じで表示させることができます。

Sorry, your browser doesn’t support WGo.js.

クリックしないと対局結果が表示されないのは気が利いていますし、コメントに座標が含まれていれば、その座標にマウスオーバーすると、その場所が画面に示されるのは、ちょっとおしゃれです。

以下、簡単に使い方の解説をします。

まず、ファイルをダウンロードしてきます。正式版では、パス(着手放棄)の扱いがおかしかったりするので、こちらから開発版を落としてきたほうが良いと思います(最新の開発版はこれはまたこれで、本当はできるはずの碁石の大きさの変更ができないような気がしますが…)。必要なファイルは、wgo/wgo.min.jswgo/wgo.player.min.jswgo/wgo.player.csswgo/wood1.jpgだけです。単色の碁盤、もしくは自前の碁盤の画像を使う場合は、wood1.jpgも必要ありません。その場合は、後で説明するように、碁盤の設定をしてください。

次に、ファイルをサーバにアップロードして、headタグ内で、wgo.min.jswgo.player.min.jswgo.player.cssをロードします。

<script type="text/javascript" src="path/to/wgo.min.js"></script>
<script type="text/javascript" src="path/to/wgo.player.min.js"></script>
<link type="text/css" href="path/to/wgo.player.css" rel="stylesheet" />

CMSなどを利用する場合は、絶対パスの方が良いかもしれません。wood1.jpgwgo.min.jsと同じところに置いておきます(もしくは、後で説明するように、パスを設定してください)。

最後に、ウェブサイトの棋譜ビューアを表示させたい所に、このように記述します。

<div
style="width:650px"
data-wgo="(;GM[1]FF[4]SZ[9];B[aa];W[bb];B[cc];W[dd];B[])"
>
Sorry, your browser doesn't support WGo.js.
</div>
Sorry, your browser doesn’t support WGo.js.

外部ファイルを読み込むこともできます。

<div
style="width:650px"
data-wgo="path/to/sgf-file.sgf"
>
Sorry, your browser doesn't support WGo.js.
</div>

初手以外を初期局面としたい場合は、このように記述します。

<div
style="width:650px"
data-wgo="(;GM[1]FF[4]SZ[9];B[aa];W[bb];B[cc];W[dd];B[])"
data-wgo-move="3"
>
Sorry, your browser doesn’t support WGo.js.

デフォルトでは、碁盤の画像はwgo.min.jsと同じ場所に置かれているwood1.jpgが使用されますが、それ以外の画像を使いたい場合は、このように記述します。

<div 
style="width:650px"
data-wgo="(;GM[1]FF[4]SZ[9];B[aa];W[bb];B[cc];W[dd];B[])"
data-wgo-board="background:'path/to/image.png'"
>
Sorry, your browser doesn't support WGo.js.
</div>
Sorry, your browser doesn’t support WGo.js.

碁盤を単色にすることもできます。

<div 
style="width:650px"
data-wgo="(;GM[1]FF[4]SZ[9];B[aa];W[bb];B[cc];W[dd];B[])"
data-wgo-board="background:'#bbccbb'"
>
Sorry, your browser doesn't support WGo.js.
</div>
Sorry, your browser doesn’t support WGo.js.

スタイルシートのwidthプロパティで、表示サイズを変更することができます。ただし、レイアウトも変わってしまう時があります(ちゃんと調べてないので、ちょっとよく分かっていません)。

これ以外にも、WGo.jsはかなりいろいろとカスタマイズすることができ、この手のソフトに求められる機能は、ほぼ網羅されている気がします。詳しくは本家サイトで調べてみてください。

WGo.jsは最低でも向こう5年、もしかすると向こう10年、問題なく使い続けることができるソフトだと思います。廃墟(笑)のようになったJavaを使ったウェブサイトとか、もう見たくありません(作られた時はものすごい労力がかかったでしょうに…)。今このタイミングで、Java、Flash、EidoGoからWGo.jsにみんなで移行しませんか?