디펜스 오브 디 아머
무기를 실은 수레를 몰아 상대 진영을 무너뜨리는 가로형 중세 2D 전략 대전.
출시 준비 중

화면





주요 기능
무기 수레 전투
무기를 실은 수레를 몰아 밀려오는 적 웨이브와 보스를 막고 상대 진영을 무너뜨립니다.
무기 구매와 무게
전투 중 상점에서 골드로 무기를 사고팔 수 있고, 무기마다 가격·무게·효과가 달라 조합이 승부를 가릅니다.
챕터와 스테이지
들판·협곡·성채 챕터마다 길을 따라 이어진 스테이지를 차례로 깨 나갑니다.
5개 언어
한국어를 비롯해 5개 언어로 즐길 수 있습니다.
기술 스택
- Godot 4.7
- GDScript
- Node.js
- MySQL
- PM2
- nginx
들어 있는 기능
안정성 · 운영
헬스 체크 · 장애 알림서버 상태를 주기적으로 점검하고, 이상이 보이면 운영 채널로 바로 알려 장애를 빨리 알아챕니다.
정기 DB 백업데이터는 일 단위·월 단위로 나눠 정기적으로 백업해, 잘못된 변경이 생겨도 이전 시점으로 되돌릴 수 있습니다.
정기 작업 중복 실행 방지서버가 여러 개 떠 있어도 만료·정산 같은 정기 작업은 한 곳에서만 돌아갑니다.
보안 · 계정
소셜 로그인여러 소셜 계정으로 간편하게 가입·로그인하며, 제공자별 처리는 서버가 한곳에서 맡습니다.
언어별 약관 동의약관과 개인정보 문서를 언어별로 보여 주고, 동의 여부를 기기와 서버가 맞춰 관리합니다.
데이터 · 동기화
이중 지급 없는 결제 기록영수증이나 콜백이 다시 들어와도 같은 결제는 한 번만 반영되어 중복 지급이 없습니다.
버전 관리되는 DB 구조DB 구조 변경을 번호순 파일로 남기고 차례대로 적용해, 환경마다 같은 구조가 되도록 합니다.
DB 없이도 도는 개발 모드같은 인터페이스로 저장소를 바꿔 끼울 수 있어, DB 없이도 개발과 테스트를 할 수 있습니다.
알림 · 업데이트
구버전 안내 · 차단서버가 알려 주는 상태에 따라 구버전은 업데이트를 안내하거나 접속을 막습니다.
광고 보상 누락 방지광고 보상 확인이 늦어져도 보류 상태를 알아보고 다시 확인해, 본 광고의 보상이 사라지지 않습니다.
게임 시스템
웨이브 데이터 자동 동기화웨이브 표 하나에서 서버 값을 자동으로 만들어, 클라이언트와 서버의 웨이브가 어긋나지 않습니다.
가벼운 이펙트투사체 이펙트를 시트 이미지로 처리해, 화면이 바빠져도 부담이 적습니다.
사용성
5개 언어 지원번역 표 하나에서 5개 언어 리소스를 만들어, 해외 이용자도 같은 게임을 즐깁니다.
노치 기기 화면 대응기기의 안전 영역을 계산해 UI 를 배치하므로, 노치가 있는 화면에서도 버튼이 잘리지 않습니다.
구성도
- DOTA 클라이언트Godot 4.7 · iOS · Android
- DOTA 서버Node.js
- 공유 DBMySQL
- 웨이브 표CSV
- 자동 생성클라이언트 · 서버 같은 값
- DOTA 서버헬스 체크
- 운영 알림 채널
클라이언트와 서버는 같은 웨이브 표에서 만든 값을 쓰고, 서버는 스스로 상태를 점검해 이상을 알립니다.
운영 · 배포
- 서버는 헬스 체크로 상태를 점검하고, 이상이 보이면 운영 채널로 알립니다.
- DB 는 일·월 단위로 정기 백업하고, 구조 변경은 번호순 파일로 버전 관리합니다.
- 서버를 여러 개 띄워도 만료·정산 같은 정기 작업은 한 곳에서만 돌도록 조정합니다.
- 구버전 클라이언트는 서버 상태에 따라 업데이트를 안내하거나 접속을 막습니다.