← back to apps

app · iOS · android

Tichu Tally

티츄 카드게임 한 판을 위한 점수 계산기. 종이 점수표 대신 — 점수 콜과 1·2 피니시까지 룰을 그대로 반영해 빠르게 라운드를 정산.

Swift Clean Architecture Kotlin AdMob

서비스 소개

Tichu Tally 는 티츄 카드게임 한 판의 점수 계산만 — 그것 하나만 — 가장 빠르게 할 수 있도록 만든 도구입니다. 티츄 점수는 보기보다 손이 많이 갑니다. 양 팀의 카드 점수를 더하고, 티츄 / 그랜드 티츄 콜의 성공 / 실패에 따른 ±100 / ±200 을 반영하고, 1·2 피니시면 합계를 한 팀이 통째로 가져가는 — 이 일련의 규칙을 종이로 적으면 자주 실수가 납니다. 앱은 그 규칙을 도메인에 박아두고, 사용자는 라운드의 입력만 하면 결과가 자동으로 정산되도록 짰습니다.

iOS 는 Swift + 클린 아키텍처, Android 는 Kotlin 네이티브로 별도 구현. 기능적으로 단일 게임 / 단일 목적의 작은 도구지만, 사실 "작은 앱일수록 깨끗하게 짠다" 라는 연습을 처음으로 시도해본 앱이기도 합니다 — 이후의 Chip Tally 가 같은 골격을 그대로 이어받았습니다.

Behind the scenes

세 가지 — 만들기 시작한 이유, 코드의 결을 잡은 첫 자리, 그리고 한 게임의 룰을 도메인으로 옮긴 시도.

  1. 01

    취미로 티츄를 치다가 만든 앱

    오프라인 티츄를 자주 치다 보니, 점수 계산을 위해 다른 카운터 앱들을 쓰게 됐습니다. 그런데 막상 써 보면 — 해외 개발자의 앱이라 매 라운드마다 광고를 봐야 하거나, 한국어 표현이 어색하거나, 콜 / 1·2 피니시 같은 티츄 고유의 룰을 정확히 다루지 못하는 — 자잘한 불편이 쌓여 있었습니다. "그러면 그냥 내가 쓰려고 만들자" 가 시작이었습니다. 사용자가 많아질 일은 적은 도메인이지만, 적어도 같은 게임을 즐기는 사람들에게 "한국어로, 광고 부담 없이, 룰을 정확히" 다루는 도구 하나는 있어야 한다고 생각했습니다.

  2. 02

    깨끗한 코드를 처음으로 끝까지 지켜본 앱

    Tichu Tally 는 — 한 화면짜리 작은 앱에서도 클린 아키텍처를 끝까지 지켜보는 — 그 연습을 처음으로 시도한 자리이기도 했습니다. 도메인 / 데이터 / 프레젠테이션을 분리하고, 의존성 방향을 한쪽으로만 흐르게 하고, 한 게임의 룰을 화면이 아니라 도메인에 박아두는 — 그 결을 손에 익히는 데에 의의를 두었고, 한 달 정도 지난 뒤 만든 Chip Tally 가 거의 그대로 같은 골격을 이어받았습니다. 이 두 앱이 이후 더 큰 앱들의 코드 결을 짜는 작은 베이스라인이 됐습니다.

  3. 03

    티츄 룰을 코드로 옮기는 일

    티츄 점수는 평소 칠 때는 자연스럽게 더하던 것이, 막상 코드로 옮기려고 하니 — 콜의 성공 판정, 1·2 피니시 시 점수 카드 무효화, 양 팀 합산이 0 이 되는 균형 검증 같은 — 자잘한 룰 분기가 의외로 많았습니다. 룰을 모호하게 둔 채 화면을 먼저 그리면 결국 화면 안에 룰이 흩어지는데, 이 앱에서는 반대로 — 룰을 도메인 레이어에 단단히 박아두고 화면은 입력 / 출력만 책임지게 분리했습니다.

Screenshots

카드를 누르면 큰 이미지로 볼 수 있습니다.

More

지나온 버전과 앞으로 들어갈 항목을 별도 페이지에서 확인할 수 있습니다.