
Retile
牌そのものを電子化した、次世代の電子麻雀牌システム
Retileとは
Retile(リタイル)は、麻雀牌そのものを電子化した次世代の電子麻雀牌システムです。136枚の牌の一枚一枚に、 小さなコンピュータ(ESP32-S3)、絵柄を表示する画面、電池、動きを感じるセンサが入っており、表面には牌ごとの固有QRコードが印刷されています。
つまり牌は「自分が何の牌なのか」を、指示に応じてあとから何度でも書き換えられるのです。 一萬だった牌が、次のゲームでは白になれます。この「何度でも書き換えられる(re + tile)」という発想が、そのまま名前の由来になっています。
なぜ作ったのか — デュプリケート麻雀
麻雀は「配られた牌の運」と「打ち手の実力」が混ざり合うゲームです。競技の世界には、複数の卓にまったく同じ牌の並びを用意して 同時に始めるデュプリケート方式という考え方があります。運の要素が卓の間で揃うので、結果の差を純粋に「打ち手の判断の差」として比べられます。
ブリッジでは標準的な方式ですが、麻雀では「同じ山を複数の卓に正確に用意する」こと自体が難しく、実現されてきませんでした。 Retileは、山を物理的に複製するのではなく、適当に並んだ136枚の絵柄のほうを狙いどおりに書き換えることで、これを機械の力で実現します。
システム構成
電子牌 ×136
ESP32-S3+表示画面+電池
指示された絵柄を表示し、自分の状態(電池残量・表示中の絵柄)を電波で常に知らせます。
カメラ ×8
USBカメラ+認識サーバ
卓に並んだ136枚を撮影し、QRコードで「どこにどの牌があるか」を読み取ります。
LEDコントローラ ×4
小型マイコン+LEDバー
撮影用の照明。あわせて牌への一斉指示を届ける「放送局」も務めます。
書込み機
Raspberry Pi
放送で取りこぼした牌に、個別に無線接続して指示を書き込む補助経路です。
監視サーバ
ミニPC
136枚の牌の生存・電池・表示状態を見張り、集計します。
ダッシュボード
Webアプリ
人間が全体を一望し、操作するための画面です。
機材同士の連絡には、軽量なメッセージ配達の仕組み「MQTT」を使っています。
1局が始まるまでの流れ
- 1
合図
ダッシュボードから「局番号」の合図を送ります。
- 2
点灯と撮影
認識サーバがLEDを点灯させ、8台のカメラで卓上の136枚を撮影します。
- 3
読み取り
写真から各牌のQRコードを読み、卓上の並び順を作ります。136枚ちょうど読めたときだけ先へ進む「厳密136ゲート」で安全を担保します。
- 4
突合
「実際の並び」と「実現したい並び」を突き合わせ、牌ごとの表示指示表を作ります。
- 5
放送
LEDコントローラが指示を一斉放送。牌は接続を待たず放送を聞き取り、数秒で136枚が切り替わります。
- 6
確認
各牌が「いまこの絵柄を表示中」と申告し続けるので、すべて指示どおりになったかを一目で確認できます。
これを複数の卓で同時に行えば、同じ配牌のゲームを一斉にスタートできます。
大事にしている設計
失敗に気づける形で失敗する
認識が怪しいときは止まり、判定材料が取れないときは何もしない。安全側に倒す作りを徹底しています。
一斉配信と個別接続の二段構え
速さは放送で、確実さは個別接続で。放送は4台のコントローラが分担・重複して行うため、1台壊れても止まりません。
環境の変化に自分で追従する
カメラは撮影のたびにピントを測り直し、朝日などの照明変化にも露出を自動調整します。
すべてを記録する
何が起きたかをメッセージとログで残し、あとから原因を追えるようにしています。
これからの構想
牌には動きを感じるセンサ(IMU)も入っています。これを使って「いつツモられたか」「いつ捨てられたか」を牌自身に申告させ、牌譜(ゲームの記録)を自動で取る構想が始まっています。麻雀の牌譜記録は現在プロリーグでも人の手で行われており、 これが実現すれば、麻雀のゲーム記録のあり方そのものが変わるかもしれません。