ORANGEZELY合同会社オレンジゼリー

WORKS / 開発事例

麻雀 辻斬る!
ひとつのコードで、4つの入口。

麻雀の「何切る」と符計算を、制限時間の中でテンポよく解いていく学習ゲームです。企画・デザイン・開発・ストア申請・運用まで、すべて社内で行っている自社プロダクトです。

麻雀 辻斬る!のキービジュアル

概要

種別
自社プロダクト(麻雀の学習ゲーム)
提供形態
ブラウザ版/LINEミニアプリ/iOS版(App Store)/Android版(Google Playでテスト配信中)
担当範囲
企画、UI・画面設計、開発、ストア申請・審査対応、課金と広告の設定、運用・改善
公開
2026年7月 ブラウザ版・LINEミニアプリ公開/2026年8月 iOS版公開
リンク
製品紹介ページブラウザで遊ぶApp Store

作ろうと思った理由

麻雀が上達するかどうかは、1局の中で20回近く訪れる「どの牌を捨てるか」という選択の積み重ねで決まります。ところが実戦を1回打つには1時間近くかかり、選択の練習だけを繰り返すのは簡単ではありません。

そこで、この「選択の瞬間」だけを切り出して、数秒で1問、60秒で1ゲームという短い単位で繰り返せるようにしました。通勤中や休憩中のすきま時間でも練習量を積めることを最優先にしています。

主な機能

技術的な構成

小さなチームで4つの提供形態を維持するため、ひとつのコードからすべてを作る構成にしています。

機能を追加すると、ブラウザ版とアプリ版に同時に反映されます。たとえば「符計算モード」は、ウェブで先に公開して動作を確かめてから、同じコードをアプリに取り込みました。

開発・運用で直面した課題と解決策

課金の商品がまったく表示されない

iOS版に課金を組み込んだところ、購入画面に商品が一つも表示されない状態が続きました。原因は二つ重なっていました。

一つ目は、App Store Connect の「有料アプリ契約」が、税務情報と銀行口座の登録待ちで有効になっていなかったことです。この契約が有効でないと、ストアは商品情報を返しません。二つ目はアプリ側のコードで、Capacitor のプラグインを非同期関数の戻り値として返していたことでした。プラグインはどのプロパティにアクセスしても関数を返す特殊なオブジェクトのため、JavaScript から「Promise のようなもの」と誤認され、処理が永久に完了しない状態になっていました。プラグインを同期的に参照するよう修正して解決しています。

審査で求められる表示が、条件によって消えていた

サブスクリプションの自動更新条件や解約方法、利用規約へのリンクを、価格の読み込みが成功したときだけ表示する作りになっていたため、審査で指摘を受けました。価格の取得に失敗しても開示事項は必ず表示し、再読み込みのボタンも常に出すよう作り直しています。あわせて、Android では Google Play 向けの解約案内に切り替わるよう、端末ごとに文言を出し分けています。

スコアより先に広告が見えてしまう

ゲーム終了時に全画面広告を出していますが、広告の準備が遅いと、結果のスコアが一瞬見えてから広告が重なることがありました。広告の表示処理が完了してから結果画面を描画するよう順序を変え、どのモードでも同じ体験になるようにしました。

ホスティングの利用規約

当初はブラウザ版を無料プランのホスティングで公開していましたが、そのプランが商用利用を認めていないことから、収益化に合わせて配信先を移しました。広告や課金を入れる前に、使っているサービスの規約が商用利用に対応しているかを確認することが大切です。

お客様の案件に活かしていること

これらはいずれも、コードを書く前後の「ストア」「課金」「規約」にまつわる課題でした。自社アプリで一度経験していることで、受託の案件では計画の段階からこうした点を織り込み、公開までの手戻りを減らすことができます。アプリ開発のご相談についてはアプリ開発のページをご覧ください。

同じ速さで、あなたのアプリを。

企画の段階から公開後の運用まで、自社アプリで培った進め方でお手伝いします。

お問い合わせへ