KMY競馬 Ver5.0.0-alpha 主な変更点
ご無沙汰しています。あすかです。
以前、KMY競馬というソフトを開発していましたが、しばらく放置していました。
放置している間にJRA-VANで2023年8月に破壊的仕様変更が入りまして、それへの対応すら放置していたためKMY競馬は正常に利用できない状態になっておりました。そのため、JRA-VANのソフト一覧からも消してもらって、完全にどこかに隠れていました。
でも最近、また競馬やりたいってなったときにこのソフトの存在を思い出しまして、破壊的仕様変更に今更対応したうえで、そのほかにもいくつか改良や新機能を加えました。
バージョン5.0.0のリリースに向けて整備を進めていますが、あすかにはソフト開発以外にもいろいろやることがありまして、5.0.0が無事リリースされるという保証はないため、ひとまずアルファ版として出してしまうことにしました。
ここでは、バージョン5.0.0-alphaの変更点を簡単に紹介します。
KMY競馬5.0.0-alphaのダウンロード
KMY競馬のコンセプトを見直しました
KMY競馬はこれまで「予想支援ソフト」というジャンルで作っていましたが、開発者である自分自身がKMY競馬に何を求めているかというのを考え直しました。
開発者には競馬でこうすれば勝てるというファクタも持ち合わせていないですし、指数を作る知識もないですし、そもそも競馬で儲けるなんて全く考えてないです。
じゃあ何のために競馬やっているかっていうと、ギャンブルならではの楽しさ、予想が当たったときの喜び、完全に初心者ムーブではありますけどもそういうところに競馬の楽しさを見出していると思いました。
そして、破壊的変更に対応したあとしばらく使ってみて、開発者自身が求めているのは以下であるという考えになりました。
いろいろなデータを比較検証する
様々なところにメモや数値をつける
強力な検索機能
(手動での)予想に有用なデータを表示する
自分好みのUI
要するに、netkeibaみたいなことを自分好みのUIでやりたいという話でしかなかったわけです。
予想支援ソフトは他にいくらでもありますし、それらを作ってる人たちは当然あすかより競馬の知識ありますし、KMY競馬はもうそこに存在しなくてもいいなんて思いました。
KMY競馬がnetkeibaより優れている点は、メモ機能、検索機能、JRDBを併用できる、アプリならではの追加機能、もうこれくらいしか思いつかないです。しかもJV-Linkってnetkeibaより高い。
netkeiba使ってる人がKMY競馬を使う理由はどこにもないです。なので開き直って、開発者自身だけのためのソフトであるという一点を追究しようというのが今後の方針です。
このようなものをJRA-VANのソフトウェア一覧に登録する理由は特に無いですが、強いて言えば、開発者の趣味に共感できるような人がいると嬉しいなーみたいな。
パフォーマンスを大幅に改善しました
KMY競馬では従来より、パフォーマンスが大きな課題でした。
アプリ起動したてはいいんですけども、使っているうちに、レースの切替に大変時間がかかります。時間かかりすぎて画面固まります。メモリの使用量も大幅に増えます。5GBとか普通です。
今回、結論から言うと完全な改善には至っていません。100点ではありませんが、画面・レース切り替えなどの速度はかなり改善されたと思います。バージョン4以前を知っている人は、以前ほどストレスなく利用できるはずです。
メモリに関しても、メモリリークがありましたので直しました。かなり改善されてはいますが、まだどこかに残っている可能性はあって、メモリ使用量は依然として少しずつ増えます。
メモリリークに気付かなくてもアプリを引き続き使えるようにするためには、PCに搭載するRAMは16GB以上にしたほうがいいかもしれません。
なお一括実行機能のパフォーマンスは一切改善できていません。
セットアップデータダウンロードの所要時間を改善しました
これまではデータのダウンロードは1ヶ月毎に区切っていました。1ヶ月毎に区切るってことは、つまり、新しいデータがないかサーバーに問い合わせる作業、データの読み込みでいらないデータを捨てる作業も毎回行うってことです。これが地方競馬の場合はたいへんな時間ロスになっていました。
なぜ1ヶ月毎に区切っていたかというと、ダウンローダの構造上の問題でした。今回それを改善して、一度に大量のデータを一気にダウンロードしてもダウンローダが壊れないようにしました。
それにともない、地方競馬のロード所要時間が大幅に改善されました。例えば6年分のデータを3時間でロードできました。(サーバーからダウンロードする時間は含まれてないので実際はもっと時間かかります)
(ちなみに中央競馬は1986年から2024年までのデータを3時間でロードしましたが、ダウンロードや後処理などあるため実際はもっとかかります)
ただ副作用として、1ヶ月区切りが無くなったため、どこまでダウンロードしたかアプリ側からはわかりにくくなっています。
途中で中断・再開する機能、実は作る方法があります。作れないことはないんですが実際作ってみたところ変なバグが出たので、アルファ版ではもうちょっと待ってもらうことにしました。
設定画面を新設しました
これまでアプリの設定と言えば、一度レースを開いてから分析画面を開いてそこで設定する、という手順になっていました。
ただ、これ、UIとして分かりづらいだけでなく、実はレース切り替えに時間がかかる理由の1つにもなっていました。
今のままではまずいということで、「拡張分析」「外部指数」「拡張メモのラベル」この3つの設定を設定画面に移動しました。
この他に「拡張メモ」「印」の設定もあるんですが、そちらはデータ入力画面に融合してしまってるので今回は見送っています。
構成管理スクリプトを完全廃止しました
構成管理スクリプト、わかりやすく言えば、アプリの設定をJavaScriptで自分で記述しておくものです。ここでしか設定できないものがありましたが、今回、それを設定画面に移動して、誰でも気軽に設定できるようにしました。
本当は画像以外にもいくつかの設定がありましたがそれらの項目は廃止または別の項目に統合となっています。
保存された検索条件の名前変更、条件編集、並べ替えができるようになりました
検索画面の右上に「検索条件の保存」ってありますよね、今まではここでしか検索条件の操作ができず、「追加」「読み込み」「削除」の3操作しかなかったです。一度保存した条件の編集すらできない状態でした。
それも、設定画面から自由に編集できるようになっています。
検索結果に表示されるデータをカスタマイズできるようになりました
検索結果画面といえばこう、いろんなデータが並んでいて、「1」「2」「3」で表示するデータを切り替えることもできます。
今回、それを自由にカスタマイズできるようになりました。
しかも、これまで検索画面に存在しなかった項目も複数追加しています。ある限り全ての項目というわけではないですが、開発者自身にとって必要なものはあるんでアルファ版はこれでいいかなという感じ。
また、「1」「2」「3」を切り替えたら他の検索結果画面でも一緒に切り替わるようにしました。
レースのペース表示を追加しました
これまでタイム偏差値というのがあったんですが以前の利用者からいらないと言われ、自分でも改めて考えた結果これはいらないとなりまして、代わりにレースのペース表示を追加しました。
レースの前半が後半より1秒短ければ「遅い」長ければ「速い」、3秒以上なら「とても」がつきます。(これで合ってる?)
ちなみに中央・南関東以外はレースのラップタイムは取得できないので「不明」と表示されます。
なおこのペースは検索画面に表示することもできます。
本日のコース傾向表示を追加しました(追記)
レース当日のコースごとの傾向の表示を追加しました。
実はいろいろあって一度アルファ版公開した後にインストーラを差し替えており、現在5月21日18時ころにアップロードしたものが最新となっておりますが、そこに搭載されています。
馬グループ画面を追加しました
KMY競馬を久しぶりに使っているうちにレースの展開も予想したいなーとなったので、まず拡張メモの設定を変えることにしました。
(拡張メモ機能自体が難解なので、既存の機能から先に説明します。そもそもこの馬グループ画面、既存の機能を拡張したものでしかないです)
設定画面の「拡張メモのラベル」を1つ追加します。
次に、新しい拡張メモ設定を作り、スタイルを「数値+コメント」または「数値」にしたうえで、さっき作ったラベルで「ラベル置換」を行います。
ここまでの設定はバージョン4まででも可能です。既存の機能です。
で、ここまでで作ったのは以下のように表示されます。正直、こう並んでいるだけではいまいち展開がイメージできないです。
そこで、拡張メモに記録したラベルごとにグループ分けできれば展開予想としては分かりやすいだろうということで、それ専用の画面を新設しました。それが馬グループ画面です。
先程の拡張メモが以下のように表示されます。馬番の順番入れ替えはできませんが、従来の画面よりもかなりわかりやすく表示されます。
ボタンをクリックすると編集ができ、その場でグループを変更することもできます。
この馬グループ画面ですが、展開予想以外の用途で使ったときにもラベル置換してしまってたらここに表示されちゃうということで、あとラベル設定を途中で変えても反映されないとか、新しい拡張メモ設定を追加した場合はレースを再度読み込まないと表示が変になるとかありますので、
使い勝手は今後も改善が必要ではありますが、使えるレベルにはなってると思います。
そのほかの細かい改善点
・レース名をクリックしたらメモを編集できるようになりました
・印を変更したらアプリが終了する場合のある問題を修正しました
・印設定で印の順番を入れ替えたり設定を追加したりしたら既存の印が消えてしまう問題を修正しました(実際にDBからは消えない、表示上の問題)
・検索を途中でキャンセルできるようになりました(内部構造の関係上、該当するレースが少ない場合、検索に非常に時間がかかることがあります)
・netkeibaで開くボタンを追加しました
・天気と馬場状態の表示を独自仕様にしました
・騎手勝率の計算/以前のバージョンで廃止された傾向検索機能の関連コードなど、不要な処理を削除しました
・地方競馬での脚質計算方法を見直し、機械学習を使わないようにしました
・ディープラーニング機能を削除しました
・その他複数の安定性に関する問題を修正しました