작업물을 불러오는 중…
GameTemplate
ETC
모바일 게임을 새로 시작할 때마다 반복되던 광고·결제·다국어·딥링크·햅틱 같은 공통 인프라를 미리 붙여 둔 스타터 템플릿. 복사해 초기화 스크립트를 돌리고 게임 로직만 구현하면 출시 가능한 구조가 나온다.
개요
모바일 게임을 새로 시작할 때마다 똑같이 반복되던 공통 인프라를 미리 붙여 둔 스타터 템플릿입니다. 광고·인앱결제·다국어·딥링크·햅틱·저장·공유처럼 게임 내용과 무관하게 매번 다시 짜야 했던 부분을 한 번만 만들어 두고, 새 프로젝트는 복사 → 초기화 → 게임 로직 구현으로 시작합니다.
포함된 것
- 수익화: AdMob(배너·전면·리워드) + RevenueCat 인앱결제, 광고 제거 모달까지 배선 완료
- 플랫폼 연동: Capacitor 기반 Android/iOS 브리지 — 딥링크, 햅틱, 상태바, 기기 정보, 공유, 저장소
- 화면 골격: 홈 · FTUE(첫 실행 튜토리얼) · 게임 · 결과 · 설정 화면과 라우터
- 국제화: i18n 키 구조와 로케일 로딩
- 초기화 스크립트:
init-project.mjs로 앱 이름·패키지명·딥링크 스킴 플레이스홀더를 한 번에 치환
사용
템플릿을 새 폴더로 복사하고 node tools/init-project.mjs --name … --package … --scheme … 을 실행하면 플레이스홀더가 프로젝트 값으로 바뀝니다. 이후 core/engine.ts(게임 로직)와 render/render.ts(렌더)만 구현하면 됩니다.
스택
Vite + TypeScript + Capacitor 6. 테스트는 Vitest, E2E 는 Playwright 로 잡혀 있습니다.
이 항목에는 스크린샷이 없습니다 — 템플릿 상태의 화면은
TEMPLATE_APP_NAME·TODO플레이스홀더가 그대로 표시되는 것이 정상이며, 실제 화면은 이 템플릿에서 갈라져 나온 각 게임 작업물에서 볼 수 있습니다.