動作は安定したので
今日は、MasterReversi Professionalの「エンジン対局」機能を使って、Windows版とHTML5版MasterReversiを対局させつつ、バグ修正を行ったのだが、動作は安定した。数日前に書いた様に、現時点では、リバーシエンジンの性能の最適化は出来ていないのだが。
« 2013年9月 | トップページ | 2013年11月 »
今日は、MasterReversi Professionalの「エンジン対局」機能を使って、Windows版とHTML5版MasterReversiを対局させつつ、バグ修正を行ったのだが、動作は安定した。数日前に書いた様に、現時点では、リバーシエンジンの性能の最適化は出来ていないのだが。
今はHTML5版MasterReversiを開発中で、設定系を除き、それなりに動作する様になったので、バグ出しとコード整理を始めた。MasterReversiの場合、それなりに動作している様に見えても、実はバグがあるケースが多々あるので、他アプリよりも開発は大変だ。
今はHTML5版MasterReversiの開発中なのだが、設定系を除いて大体動作する様になったので、Web Audio APIを使って、音声出力系も実装した。MasterReversiでは、Buffer出力で事足りるのだが、ScriptProcessorも使えたので、Mirror-DTCでも使えそうだ。
今日は、HTML5版MasterReversiに、Web Audio APIを使った音声出力ルーチンを追加してみたのだが、PC/AndroidのChromeとMacのSafariでは音が出た。Firefoxについても、次バージョンではAPIが実装される予定なので、IE以外なら、音声は出力できそうだ。
今はHTML5版MasterReversiの開発中で、設定ダイアログは後回しにしてあるのだが、コンピュータプレイヤーとの対局は出来る様になっている。しかし、まだ、音声出力には未対応なので、今週は対応してみる予定だ。それが出来れば、大体の目処は立つ筈だ。
今はHTML5版MasterReversiをJavaアプレット版から移植する形で開発中なのだが、移植するにあたっては、色々な対応を余儀なくされている。当然の事ながら、言語がJavaからJavaScriptに変わるので、その為の対応もあるのだが、それ以外の対応も少しある。
今はHTML5版MasterReversiの開発中で、今週の作業で、コンピュータプレイヤーとの対局をアプレット版と同様のヒント表示とアニメーションとコンピュータコメント付きで行える様になった。なので、それなりに進展したのだが、あまり、集中して作業する事はなかった。
今はHTML5版MasterReversiの作成中で、コンピュータとの対局は出来る様になっている。ただ、ブログネタとしてはツマラナイので、今日も、昨日Mavericksに更新したMacBookの話にするのだが、今は、Mirror-DTCを併用し、リッドクローズドモードで使っている。
今日は、MacのOSX Mavericksが正式にリリースされた、というニュースがあった。作者的には、秋にリリース、というのは判っていたのだが、殆ど意識していなかったので、不意打ちをくらった形になるのだが、外部HDDのSnow LeopardをMavericksに更新してみた。
ここの所、ブログは時事ネタにしていたのだが、今はHTML5版MasterReversiの開発中で、開発作業は続けていた。なので、今日の時点で、まだ、サボっている箇所も多々あるのだが、一応は、コンピュータプレイヤーと対戦できる所までは来ている。
今はHTML5版のMasterReversiを開発中なのだが、コーディングレベルの話ばかりになりがちなので、真面目に書いてもブログ的にはツマラナイ。なので、ここ数日、Windows8.1がリリースされたので、これ幸いと、Windows8.1ネタにしたのだが、今日もそうする事にする。
既に書いた様に、作者のWindws8ノートPCであった所のX202Eを8.1にアップデートすると、IEでのYouTube視聴だとか、メディアプレイヤーでの動画視聴でビデオ表示が変になったのだが、ASUSからWindows8用ドライバをダウンロードしてインストールすると問題は無くなった。
今日は大した事はしていなかったので、昨日アップデートしたX202EのWindows8.1の感想を書いておくのだが、とりあえずの感想は、表題の通りだ。作者的には、スタートボタンを押すとデスクトップアプリが優先されたアプリビューを表示出来るのが便利ではあるのだが。
今日は開発中のHTML5版MasterReversiの局面評価がマトモになったので、ASUSのX202EをWindows8.1にアップデートした。その後、作者の開発アプリをざっと動かしてみたのだが、問題は無かった。なので、YouTubeでも見ようか、と、思ったら表示が変だった。
今日は、開発中のHTML5版MasterReversiで、適当な盤面を入力後に、全着手候補の評価値を出力できる様になった。これが出来た、という事は、リバーシエンジンの大体の処理を動かせた事になる。ただし、まだ評価値は間違っているので、デバックが必要だ。
今日は、昨日書いていた64Bit整数演算が出来ない問題への対策として、64Bit整数演算を行っているコードを64Bit処理関数を作成して置き換えた。このため、着手候補の表示は正しく行われる様になったので、MasterReversiのエンジン関係の処理を動かし始めた。
今日はHTML5版MasterReversiにリバーシアプリとしての機能を追加していたのだが、着手候補を表示させる仕組みが動く様になったので、表示させてみた所、候補が間違っていた。原因を調べた所、JavaScriptでは64Bit整数演算が正しく行えない事が原因だった。
昨日書いた様に、HTML5版MasterReversiではWeb Workersを使う事にしたのだが、今日は、早速、使ってみた。Web Workers用のスレッド生成は簡単だ。しかし、そのスレッドではUIオブジェクトは使えず、変数も共用できないので、使いどころは考慮する必要がある。
今はJavaアプレット版から移植する形で、HTML5版MasterReversiを開発中なのだが、初期化処理は大体動作する様になったので、次に普通の処理ルーチンを動かそうとしている。しかし、シングルスレッドで作るのは大変そうなので、Web Workersは使う事にした。
今はHTML5版のMasterReversiを作成中で、Windows版MasterReversiで作成できるデザインデータを使って盤面のレンダリングと表示が出来る様になったので、今日からリバーシ用の思考エンジン関連処理を動かし始めた。今日の時点で、初期化処理は動いた。
今日はビットマップを合成する盤面も表示可能にしたので、HTML5版MasterReversiでも、Windows版に同梱してある「ゴージャス」だとか「リッチ」相当の盤面が表示出来るようになった。これらのレンダリングには少し時間がかかるのだが、PCでなら3秒程度だ。
今日はHTML5版MasterReversiのコードを変更して確認してみたのだが、ループ中で参照用に使っていたimagedata.data[]という配列をローカル変数にコピーしてから使う様にすると、Firefoxで約2倍、IE10で約3倍高速になった。C++だと、有りえない話なのだが。
今日はHTML5版MasterReversiの表示部品のレンダリング性能を処理内容を微変更しつつ上げたのだが、その結果、やはり、IE10での処理時間は大幅に短縮でき、昨日の16秒を8秒に出来た。ただし、Chromeは3秒、MacBookのSafariは4秒で同じ処理を終える。
今日は、HTML5版MasterReversiのレンダリング処理のオーバーヘッドを減らしていたのだが、それなりには軽くなった。Chromeでは昨日の時点で7秒だった処理時間は4.5秒に縮まり、IE10でも21秒だったのが16秒になったのだが、IE10の減り方は相対的に少ない。
今はMasterReversiのHTML5版を作成中で、初期盤面のレンダリングが出来る様になったので、今日は性能を見ていたのだが、IE10で21秒かかるレンダリング処理がChromeでは7秒で終わった。MacBookのSafariでも10秒で終わるのだが、Nexus7では47秒かかった。
今はHTML5版のMasterReversiを作成中なのだが、何とか初期盤面を表示出来るようになった。盤面表示はユーザー定義に従って半透明/アンチエイリアス機能を多用してレンダリングしているので、大変な訳なのだが、現状では、表示までに15秒かかっている。
今はMasterReversiのHTML5版を作成中なのだが、やっと、盤面表示が出来始めた。まだ、完全な表示は出来ていないのだが、とりあえず、フレームとボードは表示できたので、多分、本質的な問題はもう無いと思われる。使える様になるには、まだ、少しかかりそうだが。
今はHTML5版のMasterReversiの作成中で、作業を始めてから三週間くらいたったのだが、まだ、リバーシボードの画面表示すら出来ない状況だ。しかし、必要な処理ルーチンは揃ったので、後は、順番にデバックしていけば、画面表示くらいは出来る様になった筈だ。
今はApplet版をベースに、HTML5版のMasterReversiを作成中なのだが、まだ、盤面表示も出来ていない。これは、HTML5版はJavaScriptで書いているので、Javaで書いているApplet版と似たような事をやるのが大変だからなのだが、少しは、こなれてきたかもしれない。
今はMasterReversiのHTML5版を現行のApplet版から移植する形で作成中なのだが、HTML5版のプログラミング言語である所のJavaScriptというのは、非常にやっかいな代物なので、作業は中々進まない。しかし、そろそろ、結果が出る作業もできるかもしれない。