Sponsored links
広告
Twitter
Calendar
1234567
891011121314
15161718192021
22232425262728
293031    
<< May 2016 >>
New Entries
Recent Comment
Category
Archives
棋譜投稿画面の盤面を改善しました
棋譜投稿で使っている将棋の盤面について、以下の改善をしました。

・1文字と2文字駒を自由に選択できるようにしました
・成り駒を赤字に変更して見やすくしました
・盤数字の表示に対応しました

http://ken1shogi.sakura.ne.jp/bbs/

突貫工事だったので、何か問題があった場合は優しく教えて頂けると助かりますです。
明日は人間ドックなので対応遅れるかもしれませんが・・・。
 

posted by: ken1-fund | 将皇(Android) | 23:31 | comments(0) | 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) |-
囲碁アプリの開発日記(2)
ソースコードの移植は、5日作業して1/3程度進みました。CからC#への移植なのですが、C#はリバーシで一度使っただけで詳しくないのでイマイチはかどらないですね・・・。あとは移植元のコードがマクロを駆使してステップ数を減らしているので、移植後は意外と規模が大きくなりそうです。プログラムは大変だし、それ以上に入門用の説明を考えるのも大変だしで長期化する予感しかしないです。

初心者向けの説明原稿は、以下のページに少しずつ書き足していこうと思います。今は章立てを考えている段階です。作者の棋力向上がボトルネックになりそうです。
http://ken1shogi.sakura.ne.jp/Igo/memo/doc1.html

ちなみに今回の囲碁アプリですが、UnityのWebGL出力を使ってWebアプリとして公開しようと思います。まずは動くものを公開して、少しずつ改善していきたいです。
 
 

posted by: ken1-fund | 囲碁 | 23:53 | comments(0) | trackbacks(0) |-
囲碁アプリの開発日記(1)
4月から囲碁アプリの開発を始めました。とはいっても、AIを作る以前に囲碁をまともに打てる棋力もないので本当に1からのスタートです。備忘録代わりに色々書いていこうと思います。

まずは、プログラムを作る前にある程度の棋力がないと駄目かなと思い囲碁の勉強を始めました。入門本を買ったりスマホの囲碁アプリやWebで一通り学んでみました。
 
全然分からないし勝てないんですけど

やはり一筋縄ではいきませんね。しかし、初心者の気持ちが分かるこの時期は、アプリを開発するには一番良いタイミングなのかもしれません。先にアプリを開発して、その棋力にギリギリ勝てるAIを作って自分が強くなったらAIも強くするという開発スタイルの方が良いアプリが作れる気がしてきました。というわけで、囲碁の勉強はいったん中断orz

囲碁AIの方を先に作ろうと思い、参考になる情報をWEBから漁ってみました。山下さんの下記サイトが参考になると思います。

囲碁プログラムを作る人向けのリンク集
http://www.yss-aya.com/howtogo.html

囲碁AIは将棋AIと比べるとかなり難しい気がします(年のせいかも)。以前、モンテカルロ木探索の事を少し調べていた時に「人間らしい自然な弱さを実現するにはモンカルロ木じゃなくて、知識ベースの古いアルゴリズムを採用した方がよいのでは?」と少し思って、古い情報から調べたのですが、職人芸の雰囲気を感じてお腹いっぱいになりました。GNU GOのソースも長すぎて手に負えません(ライセンスがGPLだからどっちにしても使えませんが)。

「囲碁AIはワイには無理やったんや」と思い途方に暮れていたところ、ライセンスがMITのオープンソースを発見しました!しかもソースコードの記述が分かりやすく量も少ないです。これなら何とかなるかもしれません。

https://github.com/db3108/michi-c

まずは、このコードを理解してC#に移植する作業から始めてみます。1か月くらいで何とかしたいな〜。
Check
 

posted by: ken1-fund | 囲碁 | 16:15 | comments(0) | trackbacks(0) |-