작업물을 불러오는 중…
GameTemplate
모바일 게임을 새로 시작할 때마다 반복되던 광고·결제·다국어·딥링크·햅틱 같은 공통 인프라를 미리 붙여 둔 스타터 템플릿. 복사해 초기화 스크립트를 돌리면 뼈대가 잡히지만, 네이티브 식별자와 스토어 자산은 아직 손으로 마저 정리해야 한다.
개요
모바일 게임을 새로 시작할 때마다 똑같이 반복되던 공통 인프라를 미리 붙여 둔 스타터 템플릿입니다. 광고와 인앱결제, 다국어, 딥링크, 햅틱, 저장, 공유처럼 게임 내용과 무관하게 매번 다시 짜야 했던 부분을 한 번만 만들어 두었습니다. 새 프로젝트는 복사하고 초기화한 뒤 게임 로직만 구현하면 됩니다.
포함된 것
수익화는 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플레이스홀더가 그대로 표시되는 것이 정상이며, 실제 화면은 이 템플릿에서 갈라져 나온 각 게임 작업물에서 볼 수 있습니다.