blunderDB
blunderDBは、バックギャモンのポジションのデータベースを構築するためのソフトウェアです。主な強みは、プレイヤーが(オンラインやトーナメントで)遭遇したポジションを一元的に集約し、それらのポジションを任意に組み合わせ可能なさまざまなフィルターで絞り込みながら再検討できる点にあります。blunderDBは、参照用ポジションのカタログを作成するためにも使用できます。
本ドキュメントは、次のように構成されています。
ダウンロードとインストール のセクションでは、blunderDBの入手方法と起動方法を説明します。
マニュアル では、blunderDBの全般的な動作について説明します。
ユーザーガイド は、blunderDBを素早く使い始めるための実践的な入門です。
コマンド の一覧およびキーボード ショートカット の一覧により、blunderDBを効率的に使用できます。
コマンドラインインターフェース(CLI) のセクションでは、一括インポート、自動化、スクリプト処理に使用できるコマンドについて説明します。
FAQ では、よくある質問への回答をいくつか提供します。
バージョン履歴
バージョン |
日付 |
変更の理由および内容 |
|---|---|---|
0.1.0 |
2024/12/31 |
ベータ版の作成。 |
0.2.0 |
2025/01/06 |
各種バグの修正。 マッチ/TP/GV テーブルの追加。 検索フィルター(着手、キューブの決定、日付)の追加。 ポジションへのメタデータの追加。 blunderDBインスタンス間のインポート/エクスポート機能。 データベースへのメタデータ機能の追加。 バージョン番号(データベースおよびアプリケーション)の導入。 |
0.3.0 |
2025/01/27 |
各種バグの修正。 ウィンドウサイズの自動保存。 XGからのコメントのインポート(存在する場合)。 |
0.4.0 |
2025/02/03 |
各種バグの修正。 blunderDBのアイコンの追加。 フィルターの修正。 MacOSのサポートの追加。 |
0.5.0 |
2025/02/04 |
新しいフィルター(ミラー、ノンコンタクト、内野ブロット、外野ブロット)の追加。 |
0.6.0 |
2025/02/13 |
フィルターライブラリの追加。 メタデータでのデータベースバージョンの表示。 |
0.7.0 |
2025/02/16 |
XGエクスポートにおける日本語およびドイツ語のサポート。 |
0.8.0 |
2025/05/03 |
ピップカウントを非表示にする機能。 ランダムなポジションの読み込み。 |
0.9.0 |
2025/11/02 |
フィルターライブラリのバグ修正。 データベースのインポート/エクスポート。 選択した着手に対する矢印の表示。 インポート/エクスポート用のキーボードショートカット。 |
0.10.0 |
2026/02/25 |
eXtreme Gammon (XG/XGP)、GNUbg (SGF)、Jellyfish (MAT/TXT)、BGBlitz (BGF/TXT) からのマッチのインポート。 マッチ内のナビゲーション:インポートしたマッチの着手をたどり、実際に打たれた着手を強調表示します。 マッチパネル:一覧、ソート、インライン編集、プレイヤーの入れ替え、トーナメントの割り当て。 フォルダーの再帰的インポートおよびドラッグアンドドロップによるインポート。 EPC(実効ピップカウント)計算機。GNUbgのベアオフデータベースを内蔵しています。 コレクション:ポジションのカスタムなグループ化。 トーナメント:イベントごとのマッチのグループ化。 セッション状態(最後の検索、現在のポジション)の保存と復元。 データベーススキーマの自動マイグレーション。 分析における複数エンジンの表示。 検索におけるプレイヤー1のエラー/ブランダーのフィルター。 きめ細かな選択によるデータベースのエクスポート(マッチ、コレクション、トーナメント、打たれた着手)。 マッチ内ナビゲーション用ボタン。 マッチナビゲーションにおけるピップカウントの表示。 完全なコマンドラインインターフェース(CLI)。 最後に開いたデータベースの自動再オープン。 ツールバーとアイコンの改善。 |
0.11.0 |
2026/03/06 |
現在のポジションに対する検索フィルター。 マッチごと、トーナメントごとのフィルターの追加。 検索パネルを開いた際のボードの自動クリア。 |
0.12.0 |
2026/03/19 |
分析付きのeXtreme Gammonポジションファイル(XGP)のインポート。 |
0.13.0 |
2026/03/28 |
インターフェースの簡素化:マッチおよびコレクション内のナビゲーションはパネルから直接行えるようになりました。 ステータスバーに統合されたコマンドライン。 コンソールパネルをログパネルに名称変更。 下部パネルに専用のEPCパネル。 検索パネルでのポジションのコピー/貼り付け。 ドラッグアンドドロップによる、コレクション、コレクション内のポジション、トーナメント内のマッチの並べ替え。 マッチパネルへのトーナメント列の追加とインライン編集。 検索後の分析パネルの自動表示。 |
0.14.0 |
2026/03/30 |
間隔反復学習(FSRSアルゴリズム)のための専用Ankiパネル。 XGファイルからのコメントのインポート。 |
0.15.0 |
2026/03/31 |
ポジションをPNG画像としてクリップボードにエクスポート(Ctrl+X でボードのみ、Ctrl+X Ctrl+X で分析付きのボード)。 |
0.16.0 |
2026/04/18 |
データベーススキーマ v2.0.0:Zobristハッシュによるポジションの重複排除、非正規化されたフィルタリング列、ビットボードによるパターンの事前フィルター、WALジャーナリング。一括インポートが3倍以上高速化し、1万件以上のポジションに対するフィルター検索が100ミリ秒以内に。注意:v0.16.0で作成したDBファイルは古いバージョンでは開けません。古いDBはその場で自動的にマイグレーションされます(先にバックアップを取ってください)。 |
0.17.0 |
2026/04/20 |
ストレージの最適化:分析データのzlib圧縮(約80%削減)、ポジションのコンパクトなエンコーディング(サイズを約90%削減)。検索性能を向上させるために不足していた5つのインデックスを追加。キューブエラーによる検索の修正。結果のない検索後のEDITモードの修正。タブ切り替え時の検索パネル状態の復元。クリティカルパスから62件のデバッグ命令を削除。 |
0.18.0 |
2026/04/20 |
大規模なコードのリファクタリング:db.go(1万行)を19個の専用ファイルに分割、App.svelteから7個のサービスモジュールを抽出(4888→469行)、モーダル/パネルのストアを統合。Svelte 5 runesへの完全移行。9個のテーブルモーダルを汎用コンポーネントDataTableModalに置き換え。ESLint + Prettier + vitest(フロントエンドテスト125件)とCIの追加。WCAG 2.1 AA準拠(可視フォーカス、ARIAロール、キーボードナビゲーション)。読み取りの並列性を向上させるためDatabaseのミューテックスをRWMutexに変更。完全なCLIドキュメント(CLI_USAGE.md + Sphinx FR/EN)。READMEの書き直し。ESLint(46→0)およびVite(6→0)のすべての警告を修正。 |
0.19.0 |
2026/05/07 |
統計パネルの追加:PR(Performance Rate)、Snowie Error Rate、MWC cost(Match Winning Chance cost)の各指標、フィルターバー(プレイヤー、トーナメント、日付、決定の種類、マッチ長)、レベルカード/移動平均PR/トップブランダーを表示するダッシュボードタブ、トーナメントごとの推移曲線とマッチごとの散布図を表示する進捗タブ、キューブアクションごとの内訳とエラーの大きさのヒストグラムを表示するエラータブ。すべての指標からポジション/マッチ/トーナメントへのインタラクティブなドリルダウン。PR/MWCの即時切り替え。CLIコマンド list --type stats。PR/Snowie ER/MWC指標をeXtremeGammonおよびgnuBGに整合(接近したキューブのエクイティしきい値0.16)。Double/Pass決定のcube_error計算の修正。統計モデルのドキュメント化(付録:統計モデル — XG / gnuBG / blunderDB の整合)。Stats パネル を参照。 |
0.20.0 |
2026/05/31 |
検索パネルに除外構造 Except を追加:描いた駒のいずれかを含むポジションを除外します。「空でなければならない」マーカー(ダブルクリック)と、ポイントごとの駒数の上限なし(コマンド x)に対応。サイコロの目フィルターに「最初のサイコロのみ」オプションを追加(バリアント D1、CLIオプション --dice)。コメントパネル:開いたときに入力欄へ自動フォーカスし、編集/削除ボタンを常に表示。すべてのコメントタグを見つけられなかった「Search Text」フィルターの修正。 |
0.21.0 |
2026/06/01 |
インターフェースの国際化:blunderDB全体(ツールバー、パネル、メッセージ、ヘルプ)を、英語、フランス語、ドイツ語、イタリア語、スペイン語、フィンランド語、日本語、ギリシャ語、ロシア語から選んで表示できるようになりました。言語を選択するための設定ウィンドウを追加。ツールバーの歯車型ボタンからアクセスできます。言語の選択はセッションをまたいで保持されます。設定 を参照。 |
0.22.0 |
2026/06/02 |
デスクトップアプリケーションを補完する、高度かつ任意のヘッドレスモード(サーバー)を追加:エンジンをHTTP + JSONで公開するデーモン |
0.23.0 |
2026/06/05 |
インターフェースのガイドツアー(全体ツアー、検索、マッチ、トーナメント)を追加しました。ツールバーまたはコマンド |
0.24.0 |
2026/06/06 |
ヘッドレスモード向けのコンテナイメージ(Docker)を追加しました。専用のエントリポイント |
0.25.0 |
2026/06/07 |
サーバー(ヘッドレス)モード:局面を保存せずに再構築する2つの新しいメソッド —— |
0.26.0 |
2026/06/09 |
設定ウィンドウにおけるインターフェースの表示設定:インターフェース全体を拡大または縮小する拡大率スライダーと、横長の画面をより有効に活用するためのパネルの位置の選択(下、横または自動)。ボードの上に、両プレイヤーとマッチの背景情報(イベント、開催地、ラウンド、日付、長さ)を示す情報バーを追加。データベースを開くと、マッチパネルがすぐに表示され、レビューは最初のポジションから始まります。キーボードショートカットがキーボードレイアウトに依存しなくなりました(AZERTY、QWERTY、QWERTZ…)。XGID のデコードを修正(Jacoby/Beaver フラグとキューブの値)。設定 を参照。 |
0.27.0 |
2026/06/13 |
Anki パネル:Study の隣の Cram ボタンから利用できる新しいフリー練習(cram)モード。間隔反復のスケジュールを変更せずにデッキからランダムな局面を表示します。トーナメント前のウォームアップや、順序を乱さずにデッキを集中的に復習するのに最適です。検索:最悪のミス(エクイティ/MWC)を分析ビューに直接読み込む新しいコマンド |
目次
- 1. ダウンロードとインストール
- 2. マニュアル
- 3. ユーザーガイド
- 3.1. 新しいデータベースを作成する
- 3.2. 既存のデータベースを開く
- 3.3. データベースをインポートして統合する
- 3.4. ポジションを編集する
- 3.5. ポジションをデータベースに追加する
- 3.6. ポジションにタグを付ける
- 3.7. ポジションを削除する
- 3.8. XG からポジションをインポートする
- 3.9. マッチをインポートする
- 3.10. マッチのフォルダをインポートする
- 3.11. ドラッグ&ドロップ
- 3.12. マッチ内を移動する
- 3.13. マッチパネルを管理する
- 3.14. コレクションを管理する
- 3.15. トーナメントを管理する
- 3.16. パフォーマンス統計を表示する
- 3.17. EPCを計算する
- 3.18. XGからインポートしたポジションの分析を表示する
- 3.19. XGにポジションをエクスポートする
- 3.20. 様々なポジションを表示する
- 3.21. 条件に基づいてポジションを検索する
- 4. コマンド一覧
- 5. キーボードショートカット
- 6. コマンドラインインターフェース(CLI)
- 6.1. はじめに
- 6.2. 一般的な構文
- 6.3. 利用可能なコマンド
- 6.4. create — データベースを作成する
- 6.5. import — データをインポートする
- 6.6. export — データをエクスポートする
- 6.7. search — ポジションを検索する
- 6.8. list — 内容を一覧表示する
- 6.9. match — マッチを表示する
- 6.10. info — データベースのメタデータ
- 6.11. edit — メタデータを編集する
- 6.12. verify — 整合性を確認する
- 6.13. delete — データを削除する
- 6.14. ワークフロー例
- 6.15. 終了コード
- 7. よくある質問(FAQ)
- 7.1. blunderDB の用途は何ですか?
- 7.2. blunderDB 作成の動機は何ですか?
- 7.3. 現在のデータベースを保存するにはどうすればよいですか?
- 7.4. ポジションのカテゴリごとに異なるデータベースを作成する必要がありますか?
- 7.5. 複数のデータベースを統合するにはどうすればよいですか?
- 7.6. どのマッチファイル形式がサポートされていますか?
- 7.7. コレクションとは何ですか?
- 7.8. EPC とは何ですか?
- 7.9. blunderDB にはコマンドラインインターフェースがありますか?
- 7.10. blunderDB を変更、コピー、共有できますか?
- 7.11. blunderDB はどのデータ形式を使用していますか?
- 7.12. blunderDB の設計原則は何でしたか?
- 7.13. blunderDB のソフトウェアアーキテクチャは何ですか?
- 7.14. blunderDB はどのプラットフォームで動作しますか?
- 7.15. blunderDB のアイコンはどこから来ていますか?
- 8. ヘッドレスモード(サーバー)
- 9. 付録: フィルターの高度な使い方
- 10. Windows 付録:blunderDB のマルウェアとしての誤検知
- 11. Mac 付録:blunderDB の起動ブロックについて
- 12. 付録: データベーススキーマ
- 13. 付録:統計モデル — XG / gnuBG / blunderDB の整合
連絡先
作者:Kévin Unger <blunderdb@proton.me>。Heroes ではハンドルネーム postmanpat でも見つけられます。
私は当初、自分のミスのパターンを見つけられるよう、個人的な利用のためにblunderDBを開発しました。しかし、設計、コーディング、デバッグに多くの時間を費やした後では、フィードバックをいただけるのはとても嬉しいものです。ですから、ぜひお気軽にご感想をお寄せください。(建設的な)フィードバックはすべて歓迎します。
やり取りの方法はいくつかあります。
blunderDBのDiscordサーバーに参加する:https://discord.gg/DA5PpzM9En
blunderdb@proton.me 宛にメールを送る、
トーナメントで会うことがあれば直接話す、
Githubで、
バグ修正や改善の提案には、プルリクエストを作成してください。
寄付する
blunderDBを気に入っていただき、これまでと今後の開発を支援したいとお考えの場合は、次のことができます
お会いする機会があれば、一杯おごってください!
PayPalで blunderdb@proton.me 宛にささやかな寄付をする
謝辞
このささやかなソフトウェアを、パートナーのAnne-Claireと愛する娘のPerrineに捧げます。とりわけ、何人かの友人に特別な感謝を述べたいと思います。
Tristan Remille には、喜びと思いやりをもってバックギャモンの世界へ導いてくれたこと、この素晴らしいゲームを理解するための道を示してくれたこと、上達しようとする私の拙い試みにもかかわらず励まし続けてくれたことに感謝します。
Nicolas Harmand には、もう10年以上にわたって素敵な冒険を共にしてきた陽気な仲間であり、バックギャモンに夢中になって以来、素晴らしいゲームの相棒であることに感謝します。