finecode

모듈 타워 아레나

벽을 세워 길을 만들고, 모듈을 조합해 타워를 쌓는 세로형 모바일 타워디펜스.

모듈 타워 아레나 대표 이미지 — 목책으로 길을 만든 초원 위의 타워와 다가오는 몬스터들

주요 기능

벽 세우기 · 길 만들기

정해진 길은 없습니다. 목책을 세워 몬스터가 걸어갈 미로를 직접 설계합니다.

타워 조합

몸통·상판·악세서리를 골라 타워를 조립합니다. 어떤 모듈을 어떤 순서로 쌓느냐에 전략이 달려 있습니다.

대전

내 몬스터를 상대의 미로로 보내 겨룹니다. 상대의 판도 같은 화면에서 확인할 수 있습니다.

스킬 · 보스 웨이브

스킬 한 번으로 전장을 쓸어내고, 일정 웨이브마다 찾아오는 보스를 막아 냅니다.

도감

캐릭터·몬스터·모듈을 모아 도감을 채워 가는 수집 요소가 있습니다.

기술 스택

들어 있는 기능

안정성 · 운영

  • 헬스 체크와 장애 알림서버가 스스로 상태를 점검하고, 이상이 보이면 사용자보다 먼저 운영 채널로 경보를 보냅니다.
  • 정기 DB 백업데이터는 매일 정기 백업해 다른 서버에도 사본을 보관하고, 복원 리허설로 사본을 확인했습니다.
  • 서버가 여럿이어도 한 번만서버 프로세스가 여러 개여도 정산 작업은 한 곳에서만 돌도록 조율해 중복 처리를 막습니다.
  • 누락된 구매 자동 보정결제는 됐는데 승인·소모 처리가 빠진 주문을 주기적으로 찾아 다시 처리하고, 실패하면 경보로 알립니다.

데이터 · 동기화

  • 구글 결제 검증 · 환불 회수구매는 서버가 검증해 지급하고, 환불되면 지급한 권한도 함께 회수해 결제와 지급이 어긋나지 않게 합니다.
  • 경매장 동시 입찰 안전장치여러 사람이 동시에 입찰하고 등록해도 서로 막히거나 중복 처리되지 않도록 처리 순서를 정해 두었습니다.

게임 시스템

  • 대전 결과 자동 확정대전 결과가 중간에 누락돼도 기한이 지난 판을 모아 정산해, 승패가 빠지는 일이 없습니다.
  • 상대 판 그대로 보는 대전상대 판을 내 화면에 그릴 때도 실제 전투와 같은 그리기 규칙을 써서, 두 화면의 모습이 어긋나지 않습니다.
  • 자동 셋팅편성을 자동으로 맞춰 주는 기능이 같은 조건이면 늘 같은 결과를 내도록 만들어, 결과를 재현하고 검증할 수 있습니다.

사용성

  • 5개 언어 지원모든 화면 문구를 한 장의 표로 관리해 5개 언어를 같은 기준으로 맞춥니다.

배포 · 품질

  • 역할을 나눈 서버 구성같은 서버 코드를 역할별로 나눠 띄워, 인증·예약 작업은 하나로 두고 일반 요청은 여러 개로 늘릴 수 있습니다.
  • 개발·운영 한 번에 전환 빌드인자 하나로 개발용과 운영용 빌드를 가르고 설정은 내보내는 동안만 바꿔, 서버 주소나 광고 설정을 잘못 넣는 사고를 막습니다.
  • 실제 로직을 직접 검증판정과 DB 처리 로직을 요청 처리와 분리해 두어, 자체 테스트가 실제 코드를 그대로 불러 검증합니다.

구성도

  1. 모듈 타워 아레나 앱Godot · iOS · Android
  2. MTA 서버Next.js API
  3. MySQL
  1. 구글 결제구매 검증
  2. MTA 서버지급 · 환불 회수
  1. 예약 작업정산 · 구매 보정 · 헬스 체크
  2. MTA 서버
  3. 운영 채널경보

게임 클라이언트는 서버와 통신해 대전·결제·정산을 처리하고, 예약 작업이 정산과 상태 점검을 맡습니다.

운영 · 배포

모듈 타워 아레나 — 세로형 모바일 타워디펜스 — 파인코드(finecode)