以下の内容はhttps://socha77.hatenablog.com/entry/2025/12/12/045835より取得しました。


BLD練習用に作っているツールの話

挨拶

初めまして、もしくはお久しぶりです。

この記事は Speedcubing Advent Calendar 2025 - Adventar の12日目の記事です。

11日目は凛さんの「スキューブBLD」
13日目はCuCuberさんの「Skewb〜平均sub5と、その先へ」です。

スキューブに挟まれていますが今日はBLDの話です。

BLD練習の補助として以下のツールを作っているのでそれぞれ紹介します。

  • 実行ステップの習得補助ツール
  • 実行ミスの原因検出ツール

それではよろしくお願いします。

実行ステップの習得補助ツール

こちらは開発途中のものですがWeb公開しているので良ければアクセスしてみてください。 仮にBLD Execution Trainerとしています。

https://cube.sochadev.click/

BLDをやったことがない人も、キューブが解ける人であればなんとなく雰囲気はつかんでもらえるのではないかと思います。
またPCでのアクセスを想定しています。

使い方

BLD Execution Trainerは、主にM2OPまたは3styleを習得中の方を想定ユーザーとしたツールです。

初回アクセス時に解法を選択します。
解法選択後にスクランブルを入力すると、分析結果の一例とそれぞれの手順を表示します。

手順が表示されると、Enterキーで表示される手順を進めることができます。
実行ミスかバグがなければ最後にはキューブが完成していることでしょう。

任意のタイミングでCtrl+Enterで最初から表示、または別スクランブルの解法を表示することができます。

ツールの立ち位置

元々趣味というか個人利用的な範囲で作っていた簡素なツールではありますが、せっかく公開したのでできれば使ってもらう機会があればよいなと思っています。

そこでこのツールをどのような意図で作っているか、どのような人に向けているかを簡単に説明させてもらいます。

ずばり、主な対象ユーザーは以下を想定しています。

  • BLDで揃えたことがない人
    • M2OPモードでとにかく回してもらう
  • 3styleに移行したい人
    • 3styleモードでとにかく回してもらう



そもそも、BLDの練習を語るうえで欠かせない偉大な存在としてhinemosがあります。

hinemosはレターペアや手順管理を中心とした様々な機能で日本のBLDのレベルを底上げしており、早くなりたかったらhinemosで3styleクイズをとにかくやりこむというのが間違いないルートでしょう。

saxcy.info

一方でExecution TrainerはBLDの裾野を広げるようなサービスをゴールとして作っています。
機能を絞ることによって、特に「事前準備なく始められる」「とりあえずページを開けば練習できる」という風にハードルを下げる狙いです。
(毎日cstimerを開くような気軽さをイメージしています。)



そもそもBLD習得の難しさとして、とりあえずやって覚えるという方法がとりづらいという点があります。

BLDの解法で一回揃えてみるまでのハードル(ナンバリング設定、分析方法の理解、適用する手順の理解)が高く、独学だとなかなかexample solveを真似してみるところから先に進めない場合もあるのではないかと想像します。

そこでExecution Trainerでは意味が分かっていなくても画面の指示に従うままBLDの流れを体験することができて、しばらくしてから入門資料などを読み直してこういうことだったのかと後付けで理解してもらうことを目標にしています。

適当にそれっぽいこと言うなら 理解→実践 が主なBLD習得方法である現状の中で、実践→理解 派の人にもBLDを習得してもらうチャンスを増やせたら良いなという感じです。



逆にですが、スタートラインに立ってからより練度を上げたい場合はhinemosを使ってもらうのが良いと思います。

ちなみにhinemosも「3x3x3目隠し M2/OP法 甘やかし編 個人レッスン」や覚えた手順のみで解けるスクランブル生成機能(3-style Scrambler)など習得者向けの機能が充実しています。
hinemosを用いたBLDの練習法は以下のブログが参考になると思います。

https://sak-cube.hatenablog.jp/entry/2018/05/12/221500

https://sak-cube.hatenablog.jp/entry/advent-calendar-2020-1

未実装の機能

機能を絞るといいつつ、以下の機能は必要かなと思っています。
単純に間に合ってないだけなのでおいおい実装予定です。

  • ログイン、手順登録
    • ログインしなくてもデフォルトの手順セットで利用可能にはします
  • ランダムのスクランブル生成
    • 現状ではcstimerなどからスクランブルを取得する必要があるので、1画面で練習がすべて完結するようにする予定です
  • 交換分析の有無、ループ後の選択パーツ優先度指定
    • 自分の解法の都合でパリティありの場合は必ず交換分析をさせる設計になっています。初心者向けという題目と矛盾しているので優先して修正す予定です。

実行ミスの原因検出ツール(仮)

ここからはもう一つのツールの紹介をします。
もう一つというよりは、源流が同じツールの完成していない部分って感じでもありますが...

BLDの練習における別の難しさとして、実行終了後に揃っていない場合どこでミスをしたのかわからないという点があります。
特にあるあるなミスを把握できていない初学者の場合は振り返りが難しいです。

そこで、実行終了後のキューブの状態を入力することで発生した可能性のあるミスを提示するツールを作成しています。

画面を見てもらったほうが把握しやすいかと思うので先に出します。

画面上の入力内容は主に二つで

  • スクランブル
  • 実行終了後のキューブの状態 (「誤った終了状態」とします) です。

状態の入力方法については詳細は省きますが、2006NISH01さんの記事での定義を使わせてもらっています。

qiita.com

さて、実行ミスは二つに大別されます。

1つ目は実行すべき手順の選択ミス。
例えば UF → UR → UL と実行すべきところを間違って UF → UR → DR と実行してしまったなどのケースです。
これには分析・記憶のミスも含まれます。

2つ目は特定の手順の実行ミス。
例えば R U R' D R U' R D' と実行すべきところを間違って 「R2」U R' D R U' R D' と実行してしまったなどのケースです。

ミス分析用ツールではこの両方を検知します。

画像は、先ほどの入力を行った場合の出力例です。

  • スクランブルから完成状態にたどり着く手順列
  • スクランブルから誤った終了状態にたどり着く手順列

をそれぞれ導出してその差分を出すようにしています。

(画像は特定の手順をミスした場合のパターンです。)

ブラウザで入力用のUIを作るのが面倒そうで公開の目途が立っておらず記事内では後回しにしましたが、どちらかというとこちらのツールのほうが本題です。
出力例を見るとわかると思うのですが、公開したほうの練習ツールは一部分を抜き出してWeb公開用に整えたものになります。

こちらもそのうちWeb上で動くようにしたいなと思っています。

おわりに

ということで、進捗報告的な感じでアドカレっぽくない記事になりましたが、作ったもの/作りたいものの話をさせていただきました。

最終的にはBLDの練習がもっと簡単になってBLDの裾野が広がったり競技レベルが上がればよいなと思っています。(何より自分が使いたい)
2019年のアドカレからBLDの話してるくせに肝心の練習から逃げ続けて全然早くなってないので、2026年こそは...

あとこれ元々は5BLDのミス分析をしたいってのが始まりだったんですが、見積もりがザルすぎて今のところ全く完成の目途は立ってません。

ツールはスローペースな開発速度になると思いますができる範囲で進めていきたいので、もしよければ反応やバグ報告などいただけると嬉しいです。

それではお読みいただきありがとうございました。
明日以降の記事もぜひお楽しみに。




以上の内容はhttps://socha77.hatenablog.com/entry/2025/12/12/045835より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14