こんにちは。
久しぶりに、世界のアソビ大全51のゲーム「ヨット」を題材にします。

以前「ヨットを数学的に考える」というシリーズを連載していました。今回、この知見を元にして、全ての手を評価するアプリを作成・公開しました。今回はこのアプリの使い方について紹介したいと思います。
yacht-evaluator.smooth-pudding.net
ヨットってどんなゲーム?
Nintendo Switch のゲーム「世界のアソビ大全51」に収録されている、サイコロを使ったポーカーのようなゲームです。いくつかルールにバリエーションがあるようですが、この記事や過去の連載では、いずれも世界のアソビ大全51に収録されているルールに従います。
ルールの詳細については以前の記事でまとめたので、こちらを読んでみてください。あるいは YouTube などで適当なプレイ動画を見るのが分かりやすいかもしれません。
アプリの使い方紹介
改めて、全ての手を評価するアプリはこちらです。
yacht-evaluator.smooth-pudding.net
アクセスすると、以下のようなトップページが出てきます。アプリのイメージ画像の下に「評価してみる」ボタンがあるので、これをクリックするとアプリが起動します。
「遊ぶ」モード
最初に出てくるのは「遊ぶ」モードです。
「サイコロを振る→保持するサイコロをクリックで選択→サイコロを振る→...→役を確定する」という一連の動作を実行できます。対戦相手はいません。
「うーん、どのダイスを残せばいいんだ?」「いや役に確定するのがいいのか?」と迷うときは、「評価を見る」ボタンをクリックします。すると、右からスルッと手の評価が現れ、期待値の高い順に表示されます。動画では、⚄を残す手が最善のようですね。

🔒マークのボタンをクリックすると、実際にそのサイコロをロックした状態になります。

3回目のサイコロを振り終わると、選択肢がすべて役を確定するものになります。✓マークのボタンをクリックすると、現在のサイコロで役が確定し、サイコロの状態がリセットされます。動画では S.ストレートが最善のようです。

「分析する」モード
実際にヨットで対戦していて「あれ、この手ってどれぐらいの評価なんだろう?」と気になったときは、「分析する」モードの出番です。アプリの先頭の「📊分析する📊」のところをクリックすると、分析するモードに入ります。背景がオレンジ色になります。
分析するモードでは、すべての役が自由入力になります。評価したい状況を再現するように以下の情報を入力してください。
- (保持しているものも含めた) 5つのダイス
...クリックする度に1→2→...→6→1と変わります。 - 現在何投目か
その時点でサイコロを投げた回数です。1, 2, 3 のいずれかを指定してください。 - 各役の確定した点数
なお、役の横の✓マークのボタンをクリックすると、現在のサイコロの出目に対応するスコアを自動で記入してくれます。
情報の入力が終わったら、「評価を見る」ボタンをクリックします。「遊ぶ」モードと同様に、期待値の大きい順に手の評価が表示されます。

「遊ぶ」モードと「分析する」モードの併用
実は「遊ぶ」モードと「分析する」モードは状態を共有しています。

例1. 「さっきのゲームのこの場面で、こう選んでいたらどうなっていたんだろう」というシミュレーションをしたい場合。
- 分析モードで局面の状態を再現する
- 遊ぶモードに切り替えて続行する
例2. 「この場面で振り直したらどうなったんだろう」
- 分析モードで「○投目」を変更する
- 遊ぶモードに戻ってサイコロを振り直す
例3. 「ターンの最初からやり直したい」
- 分析モードで「0投目」にする
- 遊ぶモードに戻ってスタート
利用に関する注意事項
- このアプリを使って起きたトラブルに関しては一切責任を負いません。例えば友達とヨットで対戦しているときに、自分だけこっそりこのアプリを使ったら、バレたときに喧嘩になるでしょう。対人で対戦する場合(オンライン含む)は、プレイヤー同士で合意がある場合にのみ使うようにしてください。
- 上記のモラルを守る前提で、ご自由にご利用ください。配信や動画の利用に関しても、特に個別に私に許可を取る必要はありません。
- このアプリの評価はあくまで期待値をベースにした評価です。実際には、対戦相手のサイコロの出方や戦略に応じて、より良い手がある可能性があります。
ちょっと難しい話
技術の話
フロントエンド・バックエンドともに GitHub でソースコードを公開しています。いずれも MIT ライセンスなので、改変・再配布等ご自由にどうぞ。
バックエンド:
github.com
フロントエンド:
github.com
背景にある数学の理論
連載「ヨットを数学的に考える」の記事群を読んでみてください。
- 【世界のアソビ大全51】ヨットを数学的に考える①:基礎知識編 - ぷりんの雑記帳
- 【世界のアソビ大全51】ヨットを数学的に考える②:役の期待値を最大化する - ぷりんの雑記帳
- 【世界のアソビ大全51】ヨットを数学的に考える③:合計点数の期待値を最大化する - ぷりんの雑記帳
- 【世界のアソビ大全51】ヨットを数学的に考える④:ヒストグラムを調べる - ぷりんの雑記帳
- 【世界のアソビ大全51】ヨットを数学的に考える番外編:ランダムプレーデータ - ぷりんの雑記帳
あるいは、上記の内容を含めてリマスタした下記の書籍を購入して読んでみるのもおすすめします。こちらは具体的な戦略についても踏み込んで扱っています。
techbookfest.org
数式を使ったコンパクトな(やや不親切な)説明はバックエンドのドキュメントにもあります。ブラウザ上だと表記が崩れているので、VSCode などで開いて見てください。
github.com
まとめ
ヨットのすべての手を評価するアプリを紹介してきました。正直「やるところまで全部やったな」という気持ちです。ぜひこのアプリを使って、より強い戦略をどんどん見つけてください。
ではまた。