Skip to main content

Riichi Tracker - Case Study

Riichi Tracker

Problem

Riichi Mahjong, a popular variation of Mahjong, involves complex rules and intricate point counting, making the game challenging to keep scores and learn rules, especially for new players.

Mahjong Game

Mahjong Game, source: Wikimedia

Mahjong Riichi Scoring Table

Compact Mahjong Riichi Scoring Table, source: Reddit

Research

As part of a separate project, focusing on mahjong rules, my team conducted 15 interviews (30 minutes each) to explore:

  • Preferences in tabletop games
  • Gameplay contexts and rule-learning habits
  • Familiarity with Mahjong and Poker

We then compared various rule learning methods we found online and through interviews. We analyzed 14 different tabletop game manuals (including 7 Mahjong manuals) and created a questionnaire, which was the basis for the vocabulary we used for that project.

Survey

We then conducted 8 Individual In-Depth Interviews (1 and 1.5 hours each), gathering 110 actionable issues, iterating between interviews. This research guided the creation of a full-featured Riichi manual in Polish and was the inspiration for creating an app facilitating mahjong games.

Low-fidelity Prototype

Competition

As part of the design process for Riichi Tracker, I analyzed existing solutions. One popular tool among Mahjong players outside of Japan is an Android application named Mahjong Tracker (Google Play). It's an Android-only app used for game tracking and is noted for its use in many European Mahjong Association tournaments.

Studying this application's user flow helped identify potential areas where Riichi Tracker could aim to offer a distinct user experience and provide unique value.

Mahjong Tracker app screenshot
The Mahjong Tracker app, source: Google Play

To understand common usability patterns and potential user pain points, I conducted a Heuristic Evaluation of the Mahjong Tracker app, applying Jakob Nielsen's 10 Usability Heuristics. This analysis provided insights that informed the design goals for Riichi Tracker. Key observations from this evaluation included opportunities to enhance user experience in areas such as:

  • Visibility of system status: Some buttons are not clearly marked, making interactions less obvious.
  • User control and freedom: The absence of undo options forces players to restart the round input after an error.
  • Error prevention: A multi-step input process increases the likelihood of mistakes.
  • Efficiency: Lack of shortcuts makes the round input cumbersome for experienced users.

To confirm these observations, I spoke with players from one of the local Warsaw Mahjong Leagues and participated in a live gameplay session with them using the Mahjong Tracker application. I also spoke with experienced players from around the world in VRChat.

Mahjong in VRChat Riichi Mahjong in VRChat

Personas

Persona
Basia
Basia is an advanced Riichi Mahjong player and a busy student at Jagiellonian University. She competes in local tournaments and is keen to streamline scorekeeping to focus on strategy.
Goals
  • Refine advanced tile efficiency and discard strategies
  • Quickly track scores during tournaments
Pain Points
  • Limited time between rounds
  • Cumbersome input processes that interrupt gameplay
Needs
  • A competitive tool optimized for speed
  • Integrated analysis tools with minimal input steps
Adam
Adam is new to Riichi Mahjong. He is learning the basics and seeks an intuitive tool that helps him reliably track scores while learning game nuances.
Goals
  • Master basic scoring rules
  • Be able to easily intuitively input hand scores
Pain Points
  • Difficulty remembering the rules
  • Frustration with complex input methods that require additional learning
Needs
  • Simple, user-friendly interface for easy score input
  • Step-by-step guidance
Persona

User Flow

Start of the flowchart begins with Player Names input, leading to Initial Points input, then transitions to Board View. In the Round Input stage, players can select Tsumo, Ron, Ryuukyoku, or Chonbo. If Tsumo is chosen, Winner Input follows, connecting to Riichi Players input. If Ron is chosen, the flow proceeds to Loser Player input, followed by a required Winner Input and up to two optional additional Winner Inputs, all eventually connecting to Riichi Players input. Ryuukyoku requires Tenpai Players input, which also connects to Riichi Players input. Chonbo requires Causing Players input, then proceeds to Is it Last Round? If yes, the game ends; if no, the process loops back to Start Round. Undo Round functionality loops back to Start Round as well. Winner Input includes Winner Player input, checks for Yakuman, optionally includes Yakuman Value and Causing Player input if Yakuman is selected, or requires Han Value and Fu Value if not. All Winner Inputs conclude at Winner Input End. The flowchart ends after End Game is reached.

I decided to focus on creating a great round input experience, as I found the competition struggle in that area. To minimize the learning curve and reduce cognitive load during fast-paced tournaments, I intentionally adopted the established industry-standard layout for the main board. Maintaining the familiar 4-way directional view and standard tab structure (Game Board / Scoresheet) ensures users can migrate to Riichi Tracker without needing to relearn basic navigation.

The image shows a step-by-step guide for a Mahjong game app interface. The first screen displays the game board with the player’s score. The second screen presents options for selecting the type of winning hand (Tsumo, Ron, Ryukyoku, Chombo). The third screen asks the user who won the round and allows the entry of points based on the hand’s value, including options to add Han and Fu. The fourth screen shows a prompt asking who declared Riichi. The fifth screen confirms the hand’s score, displaying the player’s points (e.g., Han: 1, Fu: 30). The final screen updates the score based on the result, with a summary of the scores for all players. Round Input Flow in the Mahjong Tracker app, source: Google Play

Solution

Riichi Tracker

Riichi Tracker is an iOS app designed to simplify and enhance scorekeeping for Riichi Mahjong. The app focuses on a clean, intuitive experience while addressing user pain points. It utilizes Swift, SwiftUI, SwiftData, and Swift Charts to build the app, taking advantage of native iOS components to enhance usability and performance.

  • Native iOS Design: While the competitor's Android app relies on a single dark-mode interface, Riichi Tracker was designed and built from the ground up adhering strictly to Apple’s Human Interface Guidelines, offering a look and feel familiar to iOS users.
  • Simplified Hand Input: The hand input method consolidates all necessary information into a single sheet, making it easier for users to log rounds without navigating through multiple screens. The hand input clearly shows what is a button and features a wheel input for scores, requiring fewer taps.
  • Integrated Score Chart: Including the score chart directly in the app, rather than relegating it to a website, provides a more seamless and informative experience.
  • Offline Capability: Unlike the Android app previously discussed, Riichi Tracker works offline, ensuring uninterrupted gameplay.
  • Time Tracking: Ability to track game time in the app, without the need to rely on an external timer
  • Digital Riichi: Ability to play without any point counters, which are not included in cheapest mahjong sets

Riichi Tracker

Download

App Store