新しいアップデート!

Wanderer, @ch_suginami (翻訳)lishogi

新しいアップデート?本当だよ。だから何が新しいかを見てみよう。

やあ、みんな。前回のアップデートからしばらく経ってしまいました。そこで何が新しくなったかを見ていきましょう。

Shogiground

lishogi内のあらゆる場所で対話形式の盤や小さな盤を見つけた際、その盤を表示する役割を負っているライブラリをshogigroundといいます。

私はより将棋に適した形式にするために相当な量を書き換えました。独自のリポジトリに移動したので、もし自身のプロジェクトで使いたい場合は、npmでも見つけることができます。

ここから最も視覚的な変化を見ていきましょう。

将棋盤

これまで将棋盤の背景は単なる画像でした。これは二つの大きな問題を抱えていました。一つ目は盤を小さくした際に一部の線がぼやけた点であり、二つ目は正方形のハイライトが背景と適切に配置されないことでした。そこで正方形と背景をそれぞれ別のレイヤーに配置しました。

こうすることで別の素晴らしい特徴を追加しました ー カスタムテーマを持つ盤です。

「盤のデザイン」の一番下に新しいボタン ー カスタムテーマ(Custom theme)が見つかります。そのボタンをクリックすると、盤の背景色、背景画像、境界線の色と幅、そして持ち駒の背景を設定することができます。透過やGIFもまた対応しています。標準設定は透過盤なので、色を変化させる場合は、透過スライダーを動かして新しい色を確認してください。下にいくつか例を示します。

boards

カスタムテーマで容易に再現可能な、あまり人気のないテーマを削除しました。

背景画像について残念なことにいくつか制限があります。URLはhttpsから始まる必要があり、chromeのバージョンは96以上使う必要があり、レスポンスは Cross-Origin-Resource-Policy: cross-origin を含んでいなければなりません。これについての詳細はhttps://developer.chrome.com/blog/coep-credentialless-origin-trial/のページで読むことができます。将来的にすべてのブラウザで動作を保証するために画像を自分たちでホスティングすることになるかもしれません。

持ち駒

持ち駒はshogiground から完全に分離されていましたが、今はshogiground の一部になっており、これによりいくつかの素晴らしい機能が可能になりました。

ー 持ち駒にある駒も、選択、選択の解除、駒を動かすときについて、盤面上と同じ振る舞いをして、ユーザーの環境設定を尊重します。

ー これまでは駒を打つ表現や、(ドラッグではなく)クリックとクリックによって駒を打つ場合、その駒は単に盤上で表示されるだけでした。これからは持ち駒が実際に盤へ移動する様子を見ることができます。

ー 矢印や円の表現が持ち駒に対しても適用され、その方法は盤上にあるときと同じように機能し、駒台から盤上へ、盤上から駒台へ、あるいは駒台から駒台への表現もできます。駒を選択して盤上に描く従来の方法は、持ち駒を中央クリックすることにより維持されています。

ー 駒台は盤面と同じ背景を持つようになります。

成る

持ち駒と同様に、成りもこれからはそれぞれ別ではなくshogiground で直接扱われます。

- デザインの変更 成りは将棋でしばしば登場します。そしてこれまでのデザインは非常に紛らわしく、またアニメーションは駒をぼやかせてしまっていました。そのためよりシンプルなデザインを選択しました。

- アニメーションは成りの場合も不成の場合も維持されます。

- 駒が強制で成らなければならないとき(例えば最上段の歩など)のダイアログ表示が出ないようにしました。

その他の変更

- 正方形のマス目を取り除きました。適切な将棋盤の比は 11:12 であるべきです。この変更は小さいので、すぐに慣れることを期待しています。二種類の盤サイズを提供することは難しく、そしてまたその差が小さいものであるためおそらく不要であることが分かりました。

- スマートフォンユーザーのために、駒をドラッグしているとき、これからはどこに駒を打つのかを示す円を見ることができます。駒はまた少々高い場所に配置されるので、指の上からでも見ることができます。この機能は環境設定で無効にできます。

Phone finger overlay

- 標準的な将棋盤における盤の端にある座標は、盤の内側と盤全体の間にあります。端の標準的なサイズは盤のサイズに対して相対的に使われます。

Edge coordinates

ローカルエンジン

平手と駒落ち将棋において、これからはNNUEやねうら王wasm(訳注:WebAssembly)エンジンがhttps://github.com/mizar/YaneuraOu.wasmによって利用されます。やねうら王NNUEはNNUEのないFairy Stockfish エンジンよりもはるかに将棋が強くなっています。

Fairy Stockfish は依然として五五将棋、非標準な初期配置、ブラウザがNNUEやねうら王をサポートしていない場合に使われます。どのエンジンが使われているかは評価値の隣を見ることで簡単に判別できます。

上流からその他にも新しい機能が追加されていることが見て取れます。もし指し手にカーソルを合わせると、プレビューが表示されます。

もしブラウザがやねうら王もFairy Stockfish もサポートしていない場合であっても、クラウドにキャッシュされた評価値にアクセスできます。

「学ぶ」セクション

CtripleA氏により書き直され、そしてこれまであまりなかった「学ぶ」セクションに数十のレベルが追加されました。「学ぶ」セクションについてこれからは駒を取る、打つ、駒の守り、王手、王手から逃れる、詰み、駒の配置、千日手、駒の価値について教えてくれます。

そして「学ぶ」セクション全体をJavaScript からTypeScript へ、mithril.js からsnabbdom へ移行し、多少のデザイン再構築をしました。これは最新バージョンのshogiground をたやすく統合するために必要なことでした。なので、もしどんなバグが生じたとしても、それはおそらく私のせいです。どうかこれらバグをgithubで報告してください。というのも新規プレーヤーはバグ報告をする可能性が低く、もしかすると落胆するかもしれないからです。もし「学ぶ」セクションに追加や削除すべきもののアイディアや意見があればgithubに投稿してください。

みなさんのこれまでの「学ぶ」セクションにおける進捗はリセットされました。

USI

lishogiはこれまでチェス用のSAN 記法、チェス用のUCI 記法、そして将棋用のUSI 記法を混ぜて使っていました。このことが多くの問題を引き起こしたことは簡単に想像できます。

しかしもはや十分なことから、すべてをUSI のみへ移行することに決めました。すべてがシンプルになるだけでなく、これは対局や研究ノードの保管にかかる平均容量を減らすという別の利点もあります。

もしこれまで提供していたSAN あるいはUCI 記法のAPIエンドポイントを使っているならば、この変更を反映するようにコードを更新する必要があります。これはまたshoginet - lishogiの分散解析機能にも影響しており、アップデートが必要です(詳細は後述します)。ボットも同様です。https://github.com/TheYoBots/Lishogi-Botからのコードを利用しているならば、今のところすべてがうまくいくはずです。というのもこのコードはUCIとUSIの両方を受け入れるからです。しかしサーバーへ返される駒の移動はUCI 形式です。サーバーは今のところそれを受け入れていますが、中将棋が登場するとUCI のサポートは打ち切られます。

その他の変更

  • 変則将棋を任意の盤面から対局を開始できるようになりました(現在は五五将棋のみ影響を受けます)。そこでロビーのセットアップ画面はこの変更を反映するように少し手を加えました。
  • 局面編集機能が五五将棋をサポートするようになりました。
  • 盤面編集の持ち駒を再デザインしたので、通常の手として機能するようになり、駒の増減は+/-をクリックして行います。
  • Shoginetを書き換えました - これはやねうら王とFairy Stockfish の両方をサポートします。つまり五五将棋解析が機能することを意味します。AIとの五五将棋と「任意の盤面」からが機能しない原因は分かっていませんが、みんながこれら対局の手を生成できるようになったので発見しやすくなることを期待しています。
  • 音声合成機能はユーザーの選択した表記を反映し、もし日本式表記を使って日本語を利用している場合日本語で読み上げます。これらはすべて、利用しているブラウザが音声合成をサポートし、必要な言語話者がインストールされている必要があります。
  • いくつか音のテーマの名称を変更し、ピアノテーマを削除しました。
  • 緑の時間ゲージを削除しました - これは駒を見にくくしていました。
  • 駒の移動先が繰り返されるときに使われる、日本式表記における「同」を正しく追加しました。同様にKitao-Kawasaki 表記から移動先を削除しました。
  • 駒落ち将棋のハンデ戦は、lishogiがハンデ戦と認定した対局に限り、上手の27点法計算に加算されます。
  • ScalaShogiは書き直され、独自のリポジトリに移動されました。これはまた専用(maven)リポジトリで見つけることもできます。
  • ミニ盤のデザインに手を加えました。
  • 最終手と王手のハイライトを環境設定から分離できるようにしました。
  • エンジンによる解析の最善手をユーザーの環境設定表記に反映するようにしました。研究のコメントでも指し手を 7g7f に代えて [usi:7g7f] とタイピングすることで使えます。
  • 新しい駒のセットが増えました。Engraved_czddeo604氏に、そしてIntl_PortellaCouchTomato氏に感謝します。
  • いくつかの不正確な解析と研究解析を削除しました。それらの新しい解析をリクエストできます。
  • 研究のいくつかにおける指し手番号が壊れましたが、これは今直っています。
  • Lishogi gif生成もこれからは 11:12 の比になります。
  • 解析済み対局の手と研究のグリフの手がこれからは色づけされます。
  • ここに載せるにはあまりに多くのバグ修正を行いました。
  • ここに載せるにはあまりに多くの新しいバグが含まれています。

Lishogiのこれから

現在取り組む予定のあるいくつかの計画があります。もし最初に見たいものがあればコメントをください。

  • 対局から完全に自動生成されるタクティクス、何千もの新しいタクティクスの追加と、十分な問題があればPuzzle Stormを可能にします。
  • より多くの変則将棋 - 次に続くのは中将棋で、その他の変則将棋は実装しやすいので、中将棋の後はより頻繁に新しい変則将棋がアップデートされます。
  • 共有解析盤- issue
  • lichobileをベースにしたスマホアプリ
  • 視覚的でないユーザーインターフェース

もちろん、小さなアップデート、生活の質の改善、バグフィックスもそこに散らばっていることでしょう。

そしてこれが要点なのですが、多くのバグをリリースまでに可能な限り取り除くようにしました。しかし見つけようとした数と同じくらいのバグを見落としていると思います。なのでバグや、バグと思われる何かや、誰かがバグを見つけた際はgithubで報告してください。このアップデートは初期のlishogiリリースよりも多くの変化をもたらしているので、バグがとても多く含まれていると思われます。これらバグの多くは、最善を尽くしてできる限り素早く修正するよう努めますが、多少時間がかかるかもしれません。

みなさんのサポートと忍耐にとても感謝したいと思います。lishogiはあなた方なしでここにありません!このアップデートは通常よりも長かったことは分かっていますが、今回は速さよりも長期的な視点でより簡単にするために確実にこなすことを目指しました。

lishogiを支えてくださってありがとうございます。

Wanderer

Reconnecting