Sponsored links
広告
Twitter
Calendar
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
<< July 2017 >>
New Entries
Recent Comment
Category
Archives
囲碁アプリの開発日記(7) 振り出しに戻る

一か月ぶりの投稿です。あんまり進捗がないかも。

プログラムの移植はほぼ完了しました。9路であればGNU GOより強いと思います。COSUMIとだとLV1に勝てるくらいでしょうか?これぐらいあれば初心者向けのアプリとしては十分な気もしますが、囲碁初心者の私には判断がつきません・・・。ただ、初心者の私が見ても明らかに変な手を打ったり地の判定を間違えるので、そこは改善したいところです。しばらくは容量の削減や高速化をしながら完成度を上げていこうと思います!

 

という記事を途中まで書いた後にUnity上で性能測定をしたところ、想定よりかなり遅い事実が判明しましたorz。ノートPC(Core i5)の.NetFramework上で動かした速度の1/3くらいはいける思っていたのですが、同じPCのUnityEditorで動かした場合でも1/5くらいの性能しかでません。スマホ(xperia z3 compact)だと1/10以下しか出ない。はっきり言って全く駄目です。見通しが甘すぎました・・・。

 

その後、原因調査やチューニングなど色々試してみましたが小手先のチューニングでは絶望的な気がしてきました。ここを頑張るくらいならC/C++で最初から作り直した方がよいと思えるレベルです。3か月の作業が無駄になるのは残念ですが、プログラミングの勉強になると割り切って頑張ろうと思います。AI部分をC/C++で書いた場合、Unityのネイティブプラグインを使用するか、Unityを使わずネイティブアプリとして開発するも考えないといけないです。しばらく開発を中断して他のアプリのVUPをしようかな・・・。

 

posted by: ken1-fund | 囲碁 | 15:56 | comments(0) | trackbacks(0) |-
囲碁アプリの開発日記(6)
色々あってモチベーションが落ちぎみなのですが、それでも少しずつ開発を進めています。先日のニュースで「AlphaGo−柯潔戦が年内にも実施?」という情報があったので、そのタイミングまでにアプリをリリースしたいのですがどうなる事やら・・・。

最近は作者自身の棋力を上げるために、開発と並行して囲碁アプリで対局を繰り返しています。でも、イマイチ強くなった感じがしないんですよね。やはり1局を振り返って敗因を確認したり、間違った手をやり直して再対局したいです。既存のスマホアプリではそういった機能が付いていないので、自分で作りながら勉強しています。

棋譜を貼りつけるJavascriptも作りました。今後はこれも活用していこうと思います。
http://ken1shogi.sakura.ne.jp/Igo/kifsample.html

最後の局面で黒番の私は、白に9-三を打たれると1目減る?と思い9-三に打ちましたが、2-七に打たれて負けました。盤面を広く見渡せば2-七に打たれる方がはるかに厳しいので先に2-六か2-七に打って攻めるべきでした。・・・みたいな感じで悪手をまとめて再学習していきたいです。入門向け記事の例題にもなって一石二鳥かも!
 
 

posted by: ken1-fund | 囲碁 | 23:12 | comments(1) | trackbacks(0) |-
囲碁アプリの開発日記(5)
きりが良いところまで作業してGWは休もうと思っていたら、いつのまにかGWが終わっていたでござる。でも作業はそれなりにはかどりました!



8割方移植が完了してこんな感じのテストUIで対局できるようになりました。GNU GOよりはまだ弱いですが、作者よりは既に強いです。Android版で一番人気がある「初めての囲碁」と同じか少し強いぐらいのレベルだと思います。今後は、このプログラムに勝てるように作者自身が強くならなければなりません(汗)。

次にどこを進めるべきか少し考え中です。UnityでUIを作ってWebアプリとしてβ版を公開するか、移植作業をしっかり終わらせて高速化も頑張るか、作者自身の棋力を上げるために囲碁の勉強をするか。早く公開したいという気持ちは強いですが、初心者向けの解説記事を充実させないと既存の囲碁アプリに勝てる要素が無いわけで、それがない状態でアップしても逆効果かなと感じています。自分のプログラムで対局して棋力向上しつつ入門者向けの記事を書くのがベストでしょうか。でも記事を書くのはつまんないんだよな〜(本音)。
 

posted by: ken1-fund | 囲碁 | 18:46 | comments(3) | trackbacks(0) |-
囲碁アプリの開発日記(4)
プレイアウト処理ができるところまで移植が完了したので性能を測定してみました。現状でギリギリぐらいの速度ですね。これ以上遅くなるとWebやスマホで動かしたときストレスを感じそうです。というか、これから遅くなりそうなら処理がガンガン増えていくので高速化しないと駄目みたいです。Visual Studioのパフォーマンスモニタでチェックしてみたところ、C#化で遅くなった箇所以外にもボトルネックがあるので結構大変かもしれません。ですが、完成前に最適化を考えても仕方がないので、まずは1局通してプレイができるようになるまでは、現状のまま進めていこうと思います。
 

posted by: ken1-fund | 囲碁 | 12:49 | comments(0) | trackbacks(0) |-
囲碁アプリの開発日記(3)
ソースコードの移植は50%程度完了しました。探索せずに打ってCOM同士で対戦させるところまでできました。完全ランダム打ちのCOMと3x3のパターンも使うCOMで対戦させてみところ、基本的には後者の方が勝っているようです。「ようです」と書いたのは、探索処理を作らないと地の判定処理が完成しないので、作者の拙い囲碁の知識で判断しないと分からないんですよね。早く探索処理を移植して自分で遊べるようにしたいです。

ひとつ懸念がありまして、今回の移植では保守性を考えて移植元のソースが最適化している箇所を見やすいコードに書き換えてるんですね。そのため性能が全然でないかもしれません。そうなったら最適化を色々と考えないといけないので進捗が大幅に遅れそうです。最適化はプログラミングの勉強になるし個人的には嫌いじゃないですが。

あと念のために補足しておきますと、UIは全然作っていないので移植が完了してからが本格的な開発スタートです。夏までにはWebで遊べるβ版ができればいいな〜くらいの感覚ですかね。
 

posted by: ken1-fund | 囲碁 | 18:03 | comments(1) | trackbacks(0) |-