まじゃすこ / majasco

麻雀のスコア計算がめんどうで『まじゃすこ』を作った話

はじめに

麻雀のスコア記録アプリ「まじゃすこ」を作っている、開発者のむにぃです。

僕は、対面で卓を囲む麻雀が本当に好きです。牌を握る感触も、相手の一瞬の間も、あの場でしか味わえません。だからこそ、半荘が終わったあとのスコア計算だけは、どうしても好きになれませんでした。この記事では、そんな僕がなぜこのアプリを作ったのかを、正直に書いてみます。

対局後のスコア計算、こんなところが面倒でした

楽しく打った直後、全員がふっと黙って電卓を触りだす。あの時間が、昔からどうも苦手でした。何が嫌だったのか並べてみると、だいたいこの4つに行き着きます。

  1. とにかく計算がめんどう。持ち点から返し点を引いて、ウマ・オカを足して、順位をつけて……。1半荘ならまだしも、何回も続くと地味に効いてきます。
  2. 紙のスコアシートが読みにくい。走り書きの数字は誰の字かわからないし、書き写すときにポロっと間違える。「これ、誰の点数だっけ?」で手が止まります。
  3. 合計が合わないと、犯人さがしが始まる。誰かひとりの計算がずれるだけで全体が合わなくなって、みんなで見直すことに。楽しいはずの場が、少しだけピリつく瞬間です。
  4. 雀荘の時間を、計算に使いたくない。集まれる時間は限られています。その貴重な時間を、麻雀じゃない"作業"に取られるのが、ずっともったいなかった。

なぜ作ったか

ある日ふと思いました。「この計算、スマホが全部やってくれたらいいのに」と。

ネット麻雀なら当たり前にやってくれることを、目の前のリアルな卓でもやりたい。ただそれだけの気持ちで作り始めました。麻雀の楽しさは1ミリも削らずに、計算の面倒くささだけをゼロにする。その両方を叶えるのが目標でした。

作るときに気をつけたこと

1. シンプルに使えること

機能を盛りすぎると、結局は使われなくなります。まじゃすこは「表示点数を入れて、結果を見る」。まずはこれだけで成立するように、画面をとことん削ぎ落としました。説明書なしで、初めての人でも迷わないはずです。

2. 入力を早くすること

いちばんこだわったのは、速さです。麻雀の点数は下2桁がいつも「00」になるので、そこは入力させません。百の位から打つだけで済みます(「250」で25,000点)。しかも3人分を入れれば、残りひとりの点数は自動で出ます。1秒でも早く、次の局へ。

3. 結果を見やすくすること

集計を"作業"だけで終わらせたくありませんでした。順位はもちろん、スコアの推移グラフや着順の回数まで自動で残します。「あの半荘で捲られたなあ」と、あとで笑いながら振り返れるように。

4. 麻雀らしい見た目にすること

見た目にもこだわりました。雀卓を思わせる落ち着いた緑を基本に、ボタンには差し色のオレンジを。派手にはせず、でも開いた瞬間に「麻雀のアプリだ」と伝わる。そんなトーンを目指しています。

使い方は3ステップ

  1. メンバーの名前を入れる
  2. 出てきたURLを、LINEなどでメンバーに送る
  3. 半荘が終わるたびに、表示点数を入れる

URLを共有すれば、全員のスマホに同じスコアが同期されます。アプリのインストールも、会員登録もいりません。

リリースしてから増えた機能

まじゃすこは公開して終わりではなく、実際に使ってくれている仲間の「ここが欲しい」を聞きながら育てています。リリース後に増えた主な機能はこんなところです。

詳しい機能の変遷はお知らせ一覧にまとめています。

技術的なこだわり

仕組みの面でこだわったのは「インストールさせない」ことです。まじゃすこはブラウザだけで動くWebアプリで、URLを開けばその瞬間から使えます。スコアはクラウド上で同期されるので、誰かが入力すれば全員の画面に即座に反映されます。逆に言うと、アカウントもパスワードも作らせない設計なので、対局グループのURLだけがスコアへの入り口です。URLは対局メンバーのLINEグループなどに残しておくのがおすすめの使い方です。計算ロジックには自動テストを組んであり、ウマ・オカ・同点処理のような間違えやすい部分は、毎回機械的に検証してから公開しています。

数字で振り返る、開発タイムライン

「アプリを作った」と言うと大ごとに聞こえますが、実際の開発期間は合計2週間ほどです。時系列で振り返るとこうなります。

公開してからまだ日は浅く、記録されたグループはようやく100を超えたところです。それでも、届いた要望からチーム戦モードやCSV書き出しが生まれ、アプリは今も毎週のように育っています。

個人開発の裏側

まじゃすこは、企画からデザイン、開発、この記事の執筆まで、ひとりでやっています。日中は別の仕事をしているので、開発は主に夜と週末。最近はAIのコーディング支援ツールを相棒に、思いついた改善をその日のうちに形にする、というスタイルに落ち着きました。開発の試行錯誤はThreads(@munii_dev)で発信しているので、個人開発に興味のある方はのぞいてみてください。

ちなみに、そもそもなぜ私がスコア計算にこだわるのかは、8年間集計係を務めた失敗の歴史に理由があります。麻雀の集計係を8年やってわかった、手書きスコア記録の限界に赤裸々に書いたので、集計係経験者はぜひ。

ひとり開発の良いところは、ユーザーの声との距離が近いことです。お問い合わせフォームに届いた要望は全部自分で読んでいますし、良いアイデアは数日でアプリに反映されることもあります。「こういう卓で使いたいのに、ここが足りない」があれば、ぜひ気軽に送ってください。

「作らない」と決めた4つのこと

公開してから、同じ質問を何度も受け取りました。「なぜ会員登録がないのか」「なぜアプリストアに出さないのか」。せっかくなので、開発時にどういう判断でこの形にしたのかを、開発者本人として書き残しておきます。まじゃすこには、機能を足すのと同じだけ時間をかけて「作らない」と決めたものが4つあります。どれも出発点は、仲間内の卓で集計係をしていたときに実際に困ったことです。そして、どの判断にも捨てたものがあります。そこも正直に書きます。

決めたこと理由になった原体験捨てたもの
会員登録を作らないその日だけの助っ人が登録で止まる個人の通算成績・復旧手段
インストールを求めない卓が立つ直前にストアで詰まる人が出る通知・電波が弱い場所での強さ
URLを知っている人だけが見る身内のスコアを検索に出したくない厳密なアクセス制御
1台に閉じない共有にする集計係が席を立つと記録が止まる編集権限の管理

1. 会員登録を作らない

集まった全員が同じ数字を見ている状態に、何秒でたどり着けるか。集計係をしていていちばん効いたのはここでした。メンバーには、その日だけの助っ人や、麻雀のアプリを一切入れていない人が必ず混じります。そこで「まずアカウントを作って」と言った瞬間に、たいてい誰かひとりが止まります。止まったひとりを待つくらいなら紙でいいか、となって結局ペンに戻る。これを何度も見てきたので、登録は最初から作りませんでした。代わりに捨てたのは、個人の通算成績と復旧手段です。誰が誰なのかをこちらが持っていないので、「あなたの生涯成績」のような横断的な集計は作れません。URLを失えば戻る道もありません。便利さと引き換えに、この2つは諦めています。

2. インストールを求めない

「今から打つ」という場でストアを開かせると、容量が足りない、端末が古い、ストアのパスワードを思い出せない、と必ず何かが起きます。私の周りでは、ほぼ毎回誰かが引っかかっていました。ブラウザで開くだけなら、URLを送ってから全員の画面が揃うまでが圧倒的に早い。ここは迷わず決めました。捨てたのは通知と、電波が弱い場所での強さです。地下の個室や電波の届きにくい部屋だと、通信が細ったときに読み込みを待たされることがあります。ここは今も弱点で、そういう会場では入力担当だけでも電波の入る席に座ってもらうようお願いしています。

3. URLを知っている人だけが見られる

招待して承認して、という仕組みを作れば厳密にはなります。ただ、それは卓が立つ速さに間に合いません。かといって、仲間内のスコアが検索で出てくるのも違う。そこで「公開ランキング」でも「招待承認」でもなく、URLを知っている人だけ、という真ん中に置きました。捨てたのは厳密なアクセス制御です。URLが外に出れば、その人も中身を見られます。SNSにそのまま貼らない、という運用の約束に頼った設計です。裏返すと、途中で帰った人にあとから結果を見せるのはURLを送るだけで済みます。

4. 1台に閉じない共有にする

集計係のしんどさの正体は、計算そのものより「自分だけが数字を持っている」ことだと思っています。席を立つと記録が止まる、確認の質問が全部自分に飛んでくる、途中経過を聞かれるたびに手が止まる。全員の画面に同じ数字が出ていれば、入力ミスはその場で誰かが気づきます。共有は便利機能というより、相互チェックの仕組みとして入れました。捨てたのは編集権限の管理です。全員が見られるということは全員が直せるということで、うっかり書き換わることもあります。速さを優先して、権限のしくみは作りませんでした。

捨てたものを、運用でどう埋めているか

設計で諦めた部分は、使い方の側でかなり埋められます。私のグループで落ち着いた運用はこの4つです。

この4つの方針は、公開から今まで一度も変えていません。使ってみて足りないところが見つかったら、遠慮なく教えてください。

よくある質問

Q. 会員登録がないと、記録はどこに紐づいているのですか?

対局グループごとのURLに紐づいています。人ではなくURLが記録の入り口だと考えてください。だから同じURLを開けば、別の端末でも、何日空いても同じ記録の続きから入力できます。逆に言えば、URLを全員が見失うと戻れません。グループのノートに貼る、幹事だけでなく数人が控えておく、といった保険をおすすめします。

Q. URLを他人に知られたら、見られたり書き換えられたりしますか?

はい、見られますし、書き換えもできます。ここは隠さず書いておきます。厳密な制限をかけるより、卓が立つ速さを優先した結果です。だから公開の場に貼るのは避けてください。外の人に結果だけ見せたいときは、画面を撮ったものか書き出したデータを渡すほうが安全です。

Q. 途中参加や途中抜けのメンバーがいても大丈夫ですか?

問題ありません。URLを送れば途中からでも同じ記録に入れますし、先に帰った人もあとから結果を見られます。半荘ごとに打つ人が入れ替わる会の回し方は5人以上での回し方にまとめてあるので、大人数の会の前に目を通してもらえると準備が早くなります。

おわりに

まじゃすこがやりたいことは、たったひとつ。あなたの麻雀の時間を、まるごと麻雀に返すことです。

その先の目標も、はっきり決めています。まずは1日1,000アクセス・月1万PVのサイトに育てること。そして最終的には、麻雀プレイヤーが、対戦相手が誰であってもすぐに麻雀を始められて、集計のストレスなしに自分の成績管理や対戦記録の振り返りができる——そんな状態を「当たり前」にすることです。

計算で止まらない、待たせない、合わなくて揉めない。次の半荘から、よかったら試してみてください。もちろん無料です。

紙とペンなしで、スコア集計。

まじゃすこを無料で使ってみる