포켓몬 조선 시간여행
고구려 살수대첩(612)부터 1979년 12·12까지, 20개 시대를 여행하는 「포켓몬 불가사의 던전」풍 비공식 팬게임
세레비와 함께 부서진 「시간의 꽃」 꽃잎 20장을 찾아 한반도의 역사 속을 여행합니다. 각 시대 사람들과 포켓몬의 소원을 들어주면 꽃잎이 다시 빛나고, 다음 시대로 가는 시간의 문이 열립니다. 이야기는 실제 역사의 흐름을 따라갑니다.
이 게임은 닌텐도·크리처스·게임프리크·스파이크 춘소프트와 관계없는 비상업 팬게임입니다. 아래 저작권 고지를 꼭 읽어 주세요.
바로 플레이
- 설치 없이 브라우저에서 바로 실행됩니다. PC의 크롬·엣지·파이어폭스를 권장하고, 스마트폰은 화면 버튼으로 조작합니다.
- 처음 접속하면 게임 가이드가 열립니다. 게임 중에도 H 키나 오른쪽 위 가이드 버튼으로 다시 볼 수 있습니다.
- 안드로이드 폰에는 앱(APK)을 받아 설치할 수도 있습니다.
| 타이틀 | 세계 지도 |
|---|
| |
| 마을 | 황금빛 아르세우스 (2페이즈) |
| |
안드로이드 앱
웹 게임 전체를 앱 안에 담은 안드로이드 버전입니다. 인터넷 없이 플레이되고, 멀티플레이(함께 하기)만 인터넷이 필요합니다.
내려받아 설치하기
📱 APK 내려받기 (joseon-poke.apk) · 릴리스 페이지 (같은 파일을 zip으로 묶은 것도 있습니다)
플레이 스토어 밖에서 받는 앱이라 설치할 때 안드로이드가 경고를 몇 번 띄웁니다. 순서대로 누르면 설치됩니다.
- 휴대폰 크롬에서 위 링크를 누릅니다. 기기에 해로울 수 있는 파일이라는 경고가 나오면 다운로드를 누릅니다.
- 다운로드가 끝나면 열기를 누릅니다 (또는 내 파일 → 다운로드에서
joseon-poke.apk를 누릅니다).
- 이 출처의 알 수 없는 앱은 설치할 수 없다는 창이 뜨면 설정 → 이 출처 허용을 켜고 뒤로 돌아옵니다.
- 설치를 누릅니다.
- Play 프로텍트 창이 뜨면 앱 검사를 하거나 검사 없이 설치를 누릅니다. '차단됨'으로 나오면 자세히 → 무시하고 설치를 누릅니다.
- 삼성 갤럭시에서 자동 차단이 켜져 있으면 설치 자체가 막힙니다. 설정 → 보안 및 개인정보 보호 → 자동 차단을 잠시 끄고 설치한 뒤 다시 켜면 됩니다.
- 새 버전이 나오면 같은 방법으로 설치합니다. 기록은 그대로 두고 업데이트됩니다.
- 안드로이드 7.0 이상에서 설치됩니다.
앱 화면과 조작
-
화면: 가로 화면 고정 · 전체 화면. 가운데에 게임, 왼쪽에 이동 패드, 오른쪽에 버튼이 놓여 게임 화면을 가리지 않습니다.
-
이동 패드(왼쪽 아래 원): 손가락을 대고 밀면 그쪽으로 움직입니다. 던전에서는 대각선까지 8방향입니다.
-
버튼: 키보드와 같은 글자가 적혀 있어 화면 아래 안내를 그대로 따르면 됩니다.
| 버튼 | 기능 |
|---|
| Z 확인 · X 취소 | 조사·대화·공격·결정 / 취소 (마을과 던전에서는 게임 메뉴) |
| Q W E R (십자 배치) | 던전에서 기술 1~4. 드라스틱처럼 위 Q · 왼쪽 W · 오른쪽 E · 아래 R |
| ⇧ 방향만 | 누른 채로 패드를 밀면 제자리에서 방향만 바꿉니다 |
| Tab 태그 · A 쉬기 | 조종할 포켓몬 교대 / 누르고 있으면 턴 넘기기 |
| 왼쪽 위 메뉴 | 십자 버튼과 따로 있는 버튼. 게임 메뉴 · 퀘스트 · 동료 · 던전 지도와 소리 · 속도(1→2→3배) · 멀티 · 구글 로그인 · English · 가이드를 한 화면에 엽니다 |
-
세계 지도의 장소, 대화 선택지, 메뉴는 화면을 직접 눌러 고를 수 있고, 긴 목록은 손가락으로 끌어 넘깁니다. 던전 오른쪽 아래의 기술 목록을 눌러도 그 기술을 씁니다.
-
휴대폰의 뒤로 가기는 X와 같습니다. 가이드나 멀티 창은 닫고, 타이틀 화면에서 누르면 앱을 끝냅니다.
-
블루투스·USB 게임패드: A 확인 · B 메뉴 · X/Y/LB/RB 기술 1~4 · LT 방향만 · RT 쉬기 · Start 메뉴 · Select 퀘스트 · 십자키나 왼쪽 스틱 이동.
-
앱을 내려 두면 음악이 멈춥니다. 기록은 휴대폰 안에 저장되고, 구글 로그인을 하면 내 구글 드라이브의 앱 전용 숨김 폴더를 거쳐 PC 웹 버전과 같은 세이브로 이어집니다(난이도마다 따로).
-
멀티플레이는 웹 버전과 서로 연결됩니다. 앱에서 방을 열면 초대 링크는 GitHub Pages 주소로 만들어집니다.
앱 빌드
mobile/이 Capacitor 안드로이드 프로젝트이고, tools/build_mobile.ps1이 web/을 mobile/www로 복사한 뒤 디버그 APK를 만듭니다. JDK 21과 Android SDK가 필요합니다 (스크립트 안의 경로를 자기 PC에 맞게 바꾸세요).
-Release는 배포용 APK를 만듭니다. 디버그 빌드와 같은 키(~/.android/debug.keystore)로 서명하는데, 구글 로그인이 그 인증서의 SHA-1에 등록되어 있고 이미 설치한 폰에서 그대로 업데이트되기 때문입니다. 이 키를 잃어버리면 기존 설치본을 업데이트할 수 없으니 따로 백업해 두세요.
cd mobile; npm install; cd ..
.\tools\build_mobile.ps1 # mobile\android\app\build\outputs\apk\debug\app-debug.apk
.\tools\build_mobile.ps1 -Release # 배포용: mobile\release\joseon-poke.apk, joseon-poke-apk.zip
adb install -r mobile\android\app\build\outputs\apk\debug\app-debug.apk
조작법
| 키 | 기능 |
|---|
| 방향키 | 이동 (던전은 8방향, 대각선은 두 키를 동시에) |
| Z / Enter / Space | 조사 · 대화 · 기본 공격 · 결정 |
| X / Esc / C | 메뉴 · 취소 (예/아니오 질문에서는 '아니오') |
| Q W E R | 던전에서 기술 1~4 사용 |
| Tab | 태그: 던전에서는 조종할 포켓몬을 다음 동료로 교대 (턴 소모 없음), 마을에서는 다음 동료가 앞장서도록 팀 순서를 돌림 |
| A (누르고 있기) | 쉬기 · 턴 넘기기 |
| Shift + 방향키 | 제자리에서 방향만 바꾸기 |
| J | 퀘스트 목록 열기 · 한 번 더 누르면 닫기 |
| P | 동료 명부 열기·닫기 (마을과 세계 지도에서, 던전 밖에서만) |
| M | 던전 미니맵 켜고 끄기 |
| 1 / 2 / 3 | 게임 속도 1배 · 2배 · 3배 |
| H | 게임 가이드 열기·닫기 |
| 마우스 | 세계 지도에서 가고 싶은 장소 클릭 · 대화와 선택지, 메뉴 클릭 |
- X 메뉴 → 설정에서 소리 켜기/끄기, 화면 아래 조작키 안내 보이기/숨기기, 게임 속도를 바꿀 수 있습니다. 오른쪽 위 소리 버튼으로도 바로 끌 수 있습니다.
- X 메뉴 → 게임 종료: 마을에서는 기록을 남기고 타이틀로 돌아갑니다. 던전 안에서 끝내면 던전 진행은 저장되지 않고, 마지막으로 마을에 들렀을 때부터 이어집니다.
- 오른쪽 위 English / 한국어 버튼을 누르면 게임을 다시 시작하지 않고 대사, 이름, 메뉴가 그 자리에서 바뀝니다.
게임 진행
- 새로운 여행에서 난이도(쉬움 · 보통 · 어려움, 엔딩 후 챌린지)를 정하고 주인공과 파트너를 고릅니다 (모부기·불꽃숭이·팽도리). 시간을 건너온 탓에 둘 다 이로치입니다.
- 마을: 머리 위에 ! 표시가 있는 포켓몬이 메인 퀘스트 상대입니다.
- 주막: 회복 · 기록 · 동료 명부
- 장터: 도구 사고팔기
- 방(榜): 의뢰 게시판
- 많은 시대에 큰 중심 마을과 함께 두 번째 마을이 있습니다.
- 세계 지도: 마을 출구로 나가면 열립니다. 클릭하거나 방향키로 장소를 고르고, 마우스로 끌거나(드래그) 휠을 굴려 지도를 둘러봅니다. 빨간 표시는 메인 퀘스트, 파란 표시는 맡은 의뢰, 금색 테두리 안의 포켓몬은 그곳에 있는 전설의 포켓몬입니다.
- 던전: 층마다 지형이 무작위로 만들어지는 턴제 던전입니다. 계단을 찾아 내려가고, 마지막 층의 보스를 쓰러뜨립니다.
- 메인 퀘스트를 끝내면 광장의 시간의 문이 열리고 다음 시대로 넘어갑니다.
- 마을에 돌아올 때마다 자동 저장됩니다. 저장은 브라우저(localStorage)에 남으니 같은 브라우저에서 이어하기를 고르세요.
- 기록은 난이도마다 따로 남습니다. 엔딩을 본 뒤 다른 난이도로 새로운 여행을 시작해도 다 깬 기록은 그대로 남고, 같은 난이도로 새로 시작할 때만 그 난이도의 기록을 덮어씁니다. 기록이 여러 개면 이어하기에서 어느 기록으로 이어 할지 고릅니다(엔딩까지 본 기록에는 ★).
메인 스토리만 하면 1배속으로 약 4시간 안팎, 3배속으로 2~3시간쯤 걸립니다 (의뢰는 제외, 플레이 실력에 따라 차이가 큽니다).
20개 시대
| 연도 | 시대 | 마을 | 메인 던전 | 주요 보스 |
|---|
| 612 | 살수대첩 | 평양성 / 살수 나루 | 요동 들판, 살수(해전) | 성원숭, 메깅 |
| 660 | 황산벌 전투 | 사비성 / 웅진성 | 황산벌, 부소산성, 평양성(668, 고구려 최후의 전투) | 켄타로스, 나인테일, 보스로라 |
| 676 | 나당 전쟁 | 서라벌 / 감포 바닷가 | 매소성, 기벌포(해전) | 썬더, 킹크랩 · 루기아(선택) |
| 1019 | 귀주대첩 | 개경 / 서경 | 흥화진 냇물(해전), 귀주 벌판 | 대짱이, 날쌩마 |
| 1232 | 대몽 항쟁 | 강도(강화) / 충주성 | 처인성, 황룡사 | 프테라, 파이어 |
| 1388 | 위화도 회군 | 개경 · 고려 말 / 남원 운봉 | 진포(해전), 황산, 위화도 | 대포무노, 다탱구, 프리져 |
| 1392 | 조선 건국 | 한양 / 개경 · 옛 도읍 | 인왕산 숲길 | 링곰 |
| 1443 | 훈민정음 | 한양 · 집현전 | 집현전 서고 | 동탁군 |
| 1592 | 임진왜란 | 여수 · 전라좌수영 / 한산도 통제영 | 한산도 · 울돌목 · 노량 (모두 해전) | 갸라도스 · 아그놈(전라 우수영, 선택) |
| 1636 | 병자호란 | 남한산성 / 강화도 | 눈보라 산길 | 맘모꾸리 · 스이쿤(얼음 신전, 선택) |
| 1794 | 수원 화성 | 수원 화성 | 숙지산 채석장 | 거대코뿌리 · 유크시(규장각, 선택) |
| 1866 | 병인양요 · 신미양요 | 강화도 | 정족산성, 광성보 | 가디안, 자포코일 · 크레세리아(선택) |
| 1887 | 대한제국 | 한성 / 제물포 항구 | 건청궁 발전소 | 에레키블, 메타그로스 · 지라치(선택) |
| 1905 | 을사늑약 | 한성(1905) | 경운궁 중명전 · 헤이그 특사(이야기) | 뮤츠(2페이즈) |
| 1919 | 3·1 운동 | 경성 / 아우내 장터 | 경성 뒷골목 | 디아루가 · 엠라이트(탑골 공원, 선택) |
| 1920 | 독립군 | 독립군 기지(만주) / 용정 | 청산리 골짜기 | 핫삼 · 히드런(선택) |
| 1940 | 민족 말살 통치 | 경성(1940) / 충칭 · 임시정부 | 반전세계 | 기라티나 |
| 1945 | 광복 |
게임 요소
전설의 포켓몬과 보스
- 썬더(676) · 파이어(1232) · 프리져(1388): 같은 시대 보스 중 가장 강합니다. 체력이 보통 보스의 약 10배이고, 예고 공격을 모으는 동안에도 계속 공격합니다. 어렵다면 레벨을 올려 다시 도전하세요. 전설의 레벨은 일정 이상 오르지 않습니다.
- 놓친 전설: 전설의 포켓몬을 그 시대에 동료로 맞지 못하면(만나지 못했거나 보내 주었으면), 다음 시대의 다른 던전에 다시 나타납니다. 평소 마지막 층보다 한 층 더 깊은 곳에서 그 던전의 적과 같은 레벨로 기다리고, 또 놓치면 그다음 시대로 옮겨 갑니다.
- 예고 공격: 보스가 바닥을 붉게 표시하면 몇 턴 뒤 그 칸에 큰 공격이 떨어집니다. 붉은 칸 밖으로 피하면 보스에게 빈틈이 생겨 받는 피해가 1.5배가 됩니다.
- 600족 보스: 메타그로스(1887), 한카리아스·보만다·마기라스(1950)는 전설의 포켓몬보다 15%쯤 약한 강적입니다 (레벨 +2, 체력·공격·예고 공격이 전설의 85%).
- 일반 보스: 1200년부터 체력이 30% 늘어나고, 우리 팀이 성장하면 보스 레벨도 함께 오릅니다.
2페이즈 · 3페이즈
- 아르세우스(최종 보스, 3페이즈): 1979년 12·12 뒤 마지막 퀘스트인 「천관산」 꼭대기, 시작의 방에서 기다립니다. 레벨은 고정이 아니라 내 팀의 레벨에 맞춰 정해집니다(최소 70, 최대 180). 쓰러뜨리면 황금빛 이로치로 다시 일어납니다(2페이즈: 체력은 처음의 2/3, 공격과 예고 패턴이 훨씬 거셈). 2페이즈부터 심판의 뭉치가 하늘에서 필드 곳곳에 원 모양으로 쏟아집니다. 또 쓰러뜨리면 무지갯빛으로 일어나는 3페이즈(체력 절반, 공격 +10% · 방어 +20%)에서는 매 턴 심판이 쏟아지고, 파괴광선을 360도로 한 바퀴 돌리며 세 번 휘두릅니다 (다음에 지나갈 줄기가 붉게 빛남).
- 다크라이(1979 12·12 마을 전투, 1979년 전에는 나오지 않음, 3페이즈): 다크홀(발밑에 열린 검은 구멍에 빠지면 잠듦) → 악몽의 모습(다크홀 · 섀도다이브) → 칠흑의 모습(공격 +10% · 방어 +20%, 악의파동까지).
- 레쿠쟈: 쓰러뜨리면 메가레쿠쟈로 다시 일어나 유성을 불러냅니다.
- 테오키스: 노말폼으로 싸우다 체력이 반 아래로 내려가면 어택폼으로, 쓰러뜨리면 스피드폼으로 다시 일어납니다 (공격이 잘 맞지 않음).
- 디아루가(1919) · 기라티나(1940) · 펄기아(1945): 쓰러뜨리면 오리진폼으로 변해 2페이즈를 시작합니다. 1.7에서 이 셋과 뮤츠는 **체력 +30% · 공격 +15%**로 강해졌습니다(아르세우스는 1.5의 +10% 그대로).
- 전설의 전용기: 1페이즈에 한 번, 2페이즈에 두세 번 씁니다. 체력이 그 고비에 닿으면 전용기를 쓰기 전까지는 더 깎이지 않습니다.
- 디아루가 · 시간의 포효: 한 턴 기를 모은 뒤 시간을 되감아 10초 전의 체력으로 돌아가고, 우리 편 모두의 HP를 최대치의 20% 깎습니다. 그다음 턴은 반동으로 쉽니다(빈틈).
- 펄기아 · 공간절단: 공간이 찢어지며 싸움터가 바깥부터 한 겹씩 좁아지고(두 번까지), 바닥 곳곳의 더 길고 많은 틈에서 공격이 솟아오릅니다(1.7에서 피해도 0.32 → 0.42). 펄기아는 기술로 하이드로펌프도 씁니다.
- 기라티나 · 섀도다이브: 어둠 속으로 사라졌다가 우리 포켓몬의 그림자 밑에서 튀어나와 공격합니다. 악 타입에 맞서 격투 기술 파동탄도 씁니다. 1.7부터 첫 모습에서 그림자 폭풍 · 대지의힘 · 용성군 · 파동탄 · 원시의힘을 번갈아 예고하고, 섀도다이브와 용의파동(여덟 방향 파동) 두 전용기를 씁니다.
- 그란돈 · 단애의 칼 / 가이오가 · 근원의 파동 (1950 서울 시가전의 지휘관): 갈라진 땅을 따라 바위 칼날이 솟거나, 여덟 방향으로 파동이 퍼집니다. 원래 예고 공격은 대지의 힘 · 하이드로펌프로 이름이 바뀌었습니다.
- 기라티나는 고스트·드래곤 타입이라 격투 기술은 듣지 않고 물·불꽃 기술은 반감됩니다. 1388년에 동료가 되는 프리져처럼 얼음·드래곤·고스트·악 기술을 쓰는 동료를 데려가세요.
천관산 (마지막 퀘스트)과 보스 탑 (보스 모드)
- 천관산: 1979년 12·12 뒤 장흥의 천관산을 오릅니다. 들어가자마자 펄기아, 다음 층에서 디아루가가 길을 막습니다. 둘 다 이야기 때보다 체력과 공격이 30% 더 강하고, 예고 공격과 전용기를 1.5배쯤 자주 씁니다. 둘을 모두 쓰러뜨리면 천계의 피리가 나타나고, 「포켓몬스터 펄」 롬의 실제 지도로 만든 창기둥 꼭대기 제단에서 피리를 불면 빛의 계단이 내려옵니다. 계단을 오른 시작의 방(역시 펄의 지도)에서 아르세우스가 기다리다가, 가까이 다가가면 깨어납니다. 한 번 쓰러뜨린 펄기아·디아루가는 다시 싸우지 않고, 다음 도전은 남은 단계부터 시작합니다.
- 보스 탑: 엔딩까지 보면 1979년 지도(강원도)에 보스 탑이 생깁니다. 10층 내내 야생 포켓몬 없이 전설의 포켓몬과만 싸웁니다.
- 1~5층: 서로의 약점을 덮어 주는 준전설이 둘씩 나옵니다. 썬더·프리져, 파이어·스이쿤, 엠라이트·아그놈, 라티아스·라티오스, 레지아이스·히드런 (이야기 때의 능력 그대로). 둘이 함께 나와도 예고 공격은 한 번에 하나씩 옵니다.
- 6~9층: 뮤츠 · 디아루가 · 펄기아 · 기라티나가 한 마리씩, 기존보다 15% 더 강하게.
- 10층: 아르세우스, 역시 15% 더 강하게.
- 탑의 포켓몬은 잡을 수 없습니다. 층을 오를 때마다 HP · PP · 상태 이상이 모두 회복되고, 다음에 들어갈 때는 지난번에 깬 층 다음부터 이어서 오를 수 있습니다. 보스 레벨은 아르세우스처럼 팀 레벨을 따라갑니다.
해전 (물 타입만 참가)
살수, 기벌포, 흥화진, 진포, 한산도, 울돌목(명량), 노량, 인천·대동강처럼 물 위에서 벌어지는 싸움에는 물 타입 포켓몬만 배에 오릅니다. 파티와 동료 명부의 물 타입이 자동으로 타고, 모자라면 수군이 빌려줍니다. 첫 시대에 리아코와 물짱이를 받습니다.
새로 생긴 이야기와 장치
- 마을 표시: 빨간
!는 메인 퀘스트, 파란 !는 의뢰(새 의뢰나 보고할 의뢰가 있는 방꾼, 배달할 물건을 기다리는 사람), 엽전 표지는 장사꾼, 국밥 표지는 주막 주인, 보라색 디스크 표지는 기술머신 상인입니다.
- 펄 마을: 1887 제물포(운하시티), 1905 한성(연고시티), 1940 경성(무쇠시티), 1950 흥남(선단시티)과 서울 시가전(장막시티), 1979 서울(들판시티)은 「포켓몬스터 펄」 롬의 실제 마을 배치(이동 가능한 칸, 건물 자리, 물, 문, NPC 자리)를 읽어 본떠 만들었습니다 (
tools/pearl_maps.py).
- 순사 그라에나 (1910~1944): 일제 강점기 마을(1919 경성·아우내 장터, 1920 용정, 1940 경성)에서는 순사 그라에나 4마리가 2마리씩 짝지어 순찰합니다. 눈에 띄면 다가와 100냥을 요구하고, 내거나 그 자리에서 맞서 싸울 수 있습니다(마을이 그대로 싸움터가 되고, 그라에나는 일반 적보다 12% 강함). 이기면 그 짝은 마을을 떠나고, 어느 쪽이든 그 방문 동안 다시 붙잡지 않습니다. 멀리 달아나면 쫓기를 포기하고, 말을 걸어 싸움을 걸 수도 있습니다. 독립군 기지와 충칭 임시정부에는 오지 않습니다.
- 밀정 찾기 (1920): 전령이 알려 주는 타입과 대략의 몸무게로, 그 타입 포켓몬들을 저울에 달아 밀정을 지목합니다. 잘못 지목하면 3년, 던전에 다녀오면 1년이 흐르고, 1930년까지 못 잡으면 경찰이 기지를 덮쳐 포켓몬이 모두 쓰러지고 처음부터 다시 찾습니다.
- 헤이그 특사 (1905)·카이로·얄타·포츠담 회담 (1940·1945)·10·26 (1979): 퀘스트가 아니라 이야기로 나옵니다.
- 마을 전투: 1950년 서울 시가전과 1979년 12월 12일 밤의 서울은 마을이 그대로 싸움터가 됩니다. 아군 부대와 함께 적 지휘관을 쓰러뜨리거나 적군을 모두 물리치면 이기고, 12·12에서는 하나회 쪽이 모든 능력치 +15%를 받습니다. 싸움터에서는 동료와 아군 부대가 리더를 따라다니지 않고 각자 가장 가까운 적에게 달려가 자유롭게 싸웁니다(순사와의 싸움도 같음).
- 레지 3총사와 레지기가스 (1945 이후): 마을의 강철 거인(레지스틸)을 동료로 맞으면 레지락·레지아이스의 굴(보스는 2층)이 지도에 나타나고, 셋을 데리고 가면 선단신전(펄의 실제 신전 지도, 2층)에서 레지기가스를 만납니다.
- 라티아스 · 라티오스 (1945 이후): 마을에서 둘 중 하나만 골라 동료로 맞습니다.
- 하늘기둥 (1950 서울 시가전 뒤): 그란돈과 가이오가가 맞부딪친 뒤 지리산에 하늘기둥이 나타납니다. 2층에서 레쿠쟈를 만나고, 레쿠쟈가 동료가 되면 1943년 우리 땅에서 처음 기록된 운석이 떨어진 고흥의 두원 운석터가 나타나 그 2층에 운석과 함께 테오키스가 내려옵니다. 둘 다 동료가 될 때까지 다시 도전할 수 있습니다 (챌린지에서는 닫힘).
- 테오키스 폼체인지: 테오키스를 얻으면 마을에 붉은 운석이 생깁니다. 테오키스를 파티에 넣고 운석을 조사하면 노말폼(공격형) · 어택폼(공격·특공 크게 ↑, 방어 ↓) · 디펜스폼(방어·특방 크게 ↑, 공격 ↓) · 스피드폼(회피 +1) 가운데 고를 수 있습니다. 스프라이트도 파랑구조대 롬의 폼별 그림으로 바뀝니다.
- 레지 초상화: 파랑구조대 롬에는 레지 3총사와 레지기가스의 얼굴이 없어서, 펄 롬의 전투 그림에서 얼굴을 잘라 같은 형식(40×40, 띠 배경)으로 만들었습니다 (
tools/make_portraits.py).
- 1950 판문점: 「시간의 틈」의 마지막 층은 이제 보만다가 지키고, 아르세우스는 여행의 맨 끝(1979)으로 옮겨 갔습니다.
- 조정: 독 피해 절반(매 턴 최대 HP의 1/32), 파이어·프리져 체력과 피해 20% 하향.
진영 선택과 그란돈 · 가이오가
1945년 광복 뒤 나라가 갈라질 때 민주주의 남한과 공산주의 북한 가운데 진영을 고릅니다. 진영마다 1950년의 마을, 동료, 이야기, 해전 던전이 달라집니다. 1950년 서울 시가전에서 북쪽에는 그란돈, 남쪽에는 가이오가가 서고, 이기면 내 쪽 전설만 주홍구슬/쪽빛구슬과 함께 동료가 됩니다 (다른 쪽은 얻을 수 없고 전투가 끝나면 다시 만날 수 없습니다). 구슬을 던전에서 쓰면 원시회귀해 그 던전이 끝날 때까지 능력이 30% 오르고, 낙동강 전선에서는 그란돈이, 인천 앞바다에서는 가이오가가 능력 +20%를 받습니다.
| 진영 | 마을 | 함께하는 포켓몬 |
|---|
| 남쪽 · 대한민국 | 부산 임시 수도 / 대구 피란민 거리 | 윈디, 킹드라, 피죤투 |
| 북쪽 | 평양 / 흥남 부두 | 링곰, 무장조, 코리갑 |
동료
- 쓰러뜨린 야생 포켓몬은 35% 확률(이로치는 70%)로 동료가 되고 싶어 합니다. 보스와 전설의 포켓몬은 이기면 반드시 동료로 맞이할 수 있습니다.
- 파티는 주인공·파트너·동료 1마리, 모두 3마리입니다. 나머지는 동료 명부(최대 500마리)에서 기다리며 경험치를 절반씩 받습니다.
- 동료 바꾸기: 던전 밖(마을·세계 지도)에서 P를 누르거나, X 메뉴의 동료 명부, 주막 주인에게 말을 걸어 명부를 엽니다. 명부 위쪽의 팀에서 하나를 고르면 서로 자리를 바꾸고, 명부의 포켓몬을 고르면 리더·파트너·동료 중 원하는 자리와 교체합니다. 명부의 동료는 던전에서 불러올 수 없습니다.
- 동료 찾기: 명부의 찾기로 이름 일부, 초성(ㄹㄱㅇ → 루기아), 타입(드래곤), 도감 번호(445), "이로치"를 넣어 원하는 동료만 골라 봅니다. 정렬은 들어온 순 · 레벨 · 도감 번호 · 이름 순입니다.
- 순서 바꾸기: X 메뉴 → 포켓몬에서 포켓몬을 고르고 Z를 누르면 기술 순서 바꾸기(Q·W·E·R 자리, 던전 안에서도 가능)와 파티 순서 바꾸기(리더·파트너·동료 자리, 마을에서만)가 나옵니다. 하나를 Z로 고른 뒤 바꿀 자리에서 Z를 누르면 서로 바뀝니다.
- 최대 레벨 180: 포켓몬은 본편의 100에서 멈추지 않고 Lv 180까지 오릅니다. 아르세우스도 팀 레벨을 따라 최대 Lv 180이 됩니다.
- 기술 배우기: 레벨이 올라 새 기술을 배울 때 기술이 이미 4개면, 본편 포켓몬처럼 잊을 기술을 고르거나 배우지 않을 수 있습니다. 마을에서 X 메뉴 → 포켓몬 → Z → 기술 배우기를 고르면 지금 레벨까지 배우는 기술을 언제든 배웁니다. 잊었거나 건너뛴 기술도 여기서 다시 배우고, 앞으로 배울 기술과 그 레벨도 볼 수 있습니다.
- PP 회복: 던전을 나오면(클리어·실패·탈출 모두) 파티의 기술 PP가 모두 찹니다. 던전 안에서는 인삼으로, 마을에서는 주막에서 쉬어도 회복됩니다. 독·화상·마비 같은 상태 이상은 마을에 돌아오면 모두 낫습니다.
- 기술 조준: 우리 편 기술은 3칸 안에 적이 있으면 방향과 상관없이 그 적을 노려 반드시 맞힙니다. 더 멀면 바라보는 방향으로 나갑니다(특수 기술은 직선 6칸). 야생 포켓몬의 기술은 직선 4칸까지만 닿습니다.
- 리더 뱃지와 동료 따라오기: 지금 조종하는 포켓몬은 머리 위와 팀 창의 이름 옆에 리더 뱃지(왕관 방패)를 답니다. 파트너와 동료는 리더 곁 4칸 안에서 싸우고, 통로에서는 앞 동료 바로 뒤로 줄지어 따라오며, 시야 밖으로 떨어지면 리더 곁으로 따라붙습니다.
- 보스방 부활: 보스가 있는 층에 들어서면 쓰러졌던 동료가 HP 절반으로 다시 일어납니다. 보스의 기술과 예고 공격은 보스에게서 4칸까지만 닿고(전설의 전용기는 싸움터 전체), 보스는 잠듦·얼음·독에 걸리지 않습니다. 전설의 포켓몬 보스는 마비·화상까지 모든 상태 이상에 걸리지 않습니다.
- 한 곳에 전설 하나: 전설의 포켓몬은 장소마다 한 마리씩만 기다립니다. 아그놈 · 유크시 · 엠라이트는 각자의 장소(전라 우수영 · 규장각 · 탑골 공원)로 옮겨 가서, 메인 던전은 한 번 깨면 끝납니다. 마지막 퀘스트인 천관산과 보스 탑만은 층마다 다른 전설이 기다립니다. 놓친 전설도 전설이 없는 던전에만 다시 나타나고, 레지기가스는 1945년 이후 레지 줄기에서만 만납니다.
- 중간 보스: 발전소(에레키블)는 메인 퀘스트 때 마지막 보스만 나옵니다. 중간 보스는 메인을 깬 뒤 다시 가면 만나는 선택 전투이고, 한 번 이기면 다시 나오지 않습니다.
- 태그(Tab): 던전에서 조종하는 포켓몬을 다음 동료로 바꿉니다. 턴을 쓰지 않습니다. 마을에서 누르면 다음 동료가 앞장서도록 팀 순서가 한 칸씩 돌아가고, 던전도 그 포켓몬이 앞장서서 시작합니다. 조종하던 포켓몬이 쓰러지면 남은 동료가 앞장서고, 셋이 모두 쓰러져야 탐험이 실패합니다. 던전을 클리어하면 쓰러졌던 동료도 기운을 되찾습니다.
- 1층에서 나가기: 아직 1층이라면 X 메뉴 → 던전에서 나가기로 대가 없이 되돌아 나올 수 있습니다.
엽전과 상점
- 엽전은 쓰러뜨린 적(레벨이 높을수록 많이, 보스는 10배), 바닥에 떨어진 엽전, 던전 클리어 보상(층수 × 시대), 방(榜) 의뢰 보상으로 모읍니다.
- 셋이 모두 쓰러지면 마을로 돌아오고 엽전의 10%(초반)~30%(후반)를 잃습니다.
- 장터 도구: 오랭열매(HP 30 회복), 자뭉열매(최대 HP의 절반 + 상태 이상 회복), 주먹밥(HP 80 + 상태 이상 회복), 약초(상태 이상), 인삼(PP 회복), 탈출 부적, 돌팔매, 기력의 조각(1000냥: 쓰러진 포켓몬을 HP 절반으로 되살림, 던전 한 번에 하나).
- 기술머신: 마을마다 보라색 디스크 표지를 단 기술머신 상인이 있습니다. 4세대 기술머신 가운데 이 게임에서 쓸 수 있는 55개를 팔고, 사는 자리에서 바로 가르쳐 줍니다(기술이 4개면 하나를 잊음). 센 기술(위력 80 이상)은 3000냥, 나머지는 1000냥입니다. 포켓몬 자신의 타입, 레벨업으로 배우는 기술의 타입, 노말 타입 기술머신을 쓸 수 있습니다.
난이도
초반 시대는 적이 적게 나오고 약하게 때리며 HP도 빨리 찹니다. 시대가 지날수록 적이 많아지고 세지며, 회복도 느려집니다. 보스는 시대가 갈수록 더 강해지고, 후반 전설은 회복 도구와 타입 상성을 챙겨야 이길 수 있습니다.
- 던전 레벨: 1200년 전까지, 그리고 팀의 가장 높은 레벨이 20 이하일 때는 던전마다 정해진 레벨입니다. 그 뒤로는 팀에서 가장 높은 레벨에 맞춰 같은 레벨 ~ +2, 그 레벨이 45를 넘으면 +3 ~ +5로 적이 나옵니다. 정해진 레벨보다 낮아지지는 않습니다.
- 일반 포켓몬: 보스가 아닌 적(야생 포켓몬, 보스가 부른 졸개, 마을 전투의 병사)은 HP와 모든 능력치가 **80%**입니다. 동료가 되면 원래 능력치로 돌아옵니다.
- 독: 한 턴에 최대 HP의 1/64만큼 줄어듭니다 (화상은 1/16).
| 난이도 | 내용 |
|---|
| 쉬움 | 적 레벨 −2, 적이 주는 피해 −25%, 보스 체력 −20% |
| 보통 | 기본 |
| 어려움 | 적 레벨 +2, 적이 주는 피해와 보스 체력 +25% |
| 챌린지 | 어느 난이도로든 엔딩을 한 번 보면 열립니다. 보통의 강함으로 한 번도 전멸하지 않고 엔딩까지 가야 하고, 전설의 포켓몬은 동료가 되지 않습니다. 전멸하거나 던전 도중에 게임을 끄면 챌린지가 끝나고 그 여행은 보통 난이도로 이어집니다. |
쉬움 · 보통 · 어려움은 X 메뉴 → 설정에서 언제든 바꿀 수 있습니다. 기록은 여행을 시작한 난이도의 칸에 남아서, 난이도마다 여행을 하나씩 따로 이어 갈 수 있습니다.
함께 하기 (멀티플레이)
- 혼자 하던 게임에 친구를 불러 이야기를 같이 보고 던전을 같이 깰 수 있습니다. 혼자 하다가 언제든 방을 열 수 있습니다.
- 방 만들기: 오른쪽 위 멀티 → 방 만들기를 누르면 6자리 방 코드와 초대 링크가 나옵니다.
- 참가하기: 친구는 다른 컴퓨터나 휴대폰에서 같은 게임 주소를 열고, 초대 링크를 누르거나 멀티 → 방 코드 입력 → 참가하기를 합니다.
- 방장의 화면과 소리가 친구에게 실시간으로 전송됩니다. 던전에서는 친구가 파트너(P2)와 세 번째 동료(P3)를 직접 조종합니다 (방향키 이동, Z 공격, QWER 기술, A 쉬기). 최대 2명까지 참가할 수 있습니다.
- 친구가 나가면 그 포켓몬은 다시 자동으로 움직입니다. 저장은 방장의 게임에만 남습니다.
- WebRTC(PeerJS 공개 서버)로 연결하므로 두 사람 모두 인터넷이 필요합니다. 회사·학교처럼 방화벽이 강한 네트워크에서는 연결이 안 될 수 있습니다.
직접 실행하기
빌드 과정이 없는 순수 HTML·JavaScript(ES 모듈) 게임입니다. 모듈을 쓰기 때문에 파일을 직접 열면(file://) 동작하지 않고, 로컬 웹 서버가 필요합니다.
git clone https://github.com/jbh99/joseon-poke-timetravel.git
cd joseon-poke-timetravel
python -m http.server 8000 --directory web
브라우저에서 http://localhost:8000 을 엽니다.
프로젝트 구조
web/ 게임 본체 (이 폴더가 그대로 배포됩니다)
index.html 화면, 가이드(한/영), 멀티 패널, 터치 버튼
js/main.js 부팅, 게임 루프, 배속·소리·언어 설정
js/core.js 캔버스, 입력(키보드·마우스·터치), 대화창, 메뉴
js/game.js 포켓몬·기술·도구 데이터, 저장/불러오기
js/content*.js 20개 시대의 이야기, 마을, 던전, 보스, 의뢰 (content_modern.js: 1905·1979와 1945 이후의 레지·라티)
js/dungeon.js 턴제 던전, 전투, 보스 패턴, 2페이즈, 태그
js/town.js 마을과 NPC
js/scenes.js 타이틀, 시대 카드, 세계 지도, 엔딩
js/quests.js 퀘스트 진행, 동료 명부, 설정 메뉴
js/i18n.js 한국어/영어 실시간 전환
js/pmd.js 불가사의 던전 스프라이트와 지형 타일 그리기
js/net.js, netui.js 멀티플레이 (PeerJS)
js/audio.js 배경음악, 울음소리, 효과음
mobile/ 안드로이드 앱 (Capacitor 8): 전체 화면·가로 고정·뒤로 가기 처리, 아이콘
assets/ 스프라이트, 지형, 음악, 데이터
dev/ 자동 플레이 봇과 콘텐츠 점검 스크립트 (배포에서 제외)
tools/ 롬에서 그래픽·음악·데이터를 추출한 스크립트 (롬 파일은 포함하지 않음)
pearl_maps.py 펄 롬의 마을·신전 배치(이동 칸, 건물, 문, NPC 자리)와 도감 몸무게 → assets/data/pearl.json, dex.json
make_portraits.py 롬에 얼굴이 없는 레지 3총사·레지기가스의 초상화 (펄 전투 그림에서 잘라 냄)
pmd/extract_pmd.py 파랑구조대 그래픽 (forms 모드: 테오키스 어택·디펜스·스피드폼 스프라이트)
docs/screenshots/ README 스크린샷
web/dev/check.js: 모든 시대의 퀘스트·도구·기술 참조, 마을 NPC와 출구, 던전 각 층의 계단·보스 도달 가능 여부를 한 번에 점검합니다. 로컬 서버에서 브라우저 콘솔에 const c = await import('/dev/check.js'); await c.checkAll() 를 입력합니다.
tools/pmd/: 「포켓몬 불가사의 던전 파랑구조대」 롬에서 스프라이트, 초상화, 던전 지형을 꺼내는 도구입니다. 직접 소유한 롬이 있어야 합니다.
배포
- GitHub Pages:
main 브랜치에 push하면 .github/workflows/pages.yml이 web/(dev 제외)를 배포합니다.
- Netlify:
tools/build_dist.ps1로 dist/를 만든 뒤 netlify deploy --prod --dir dist로 올립니다.
- 안드로이드:
mobile/android/app/build.gradle의 versionCode·versionName을 올리고 tools/build_mobile.ps1 -Release로 만든 두 파일을 GitHub 릴리스에 올립니다: gh release create v1.1 mobile\release\joseon-poke.apk mobile\release\joseon-poke-apk.zip. 파일 이름을 그대로 두어야 releases/latest/download/joseon-poke.apk 링크가 늘 최신 버전을 가리킵니다.
저작권 고지
- 이 저장소는 비공식·비상업 팬 프로젝트입니다. 게임을 판매하거나 광고 수익을 얻지 않습니다.
- 포켓몬스터와 등장 포켓몬, 이름, 그래픽, 음악의 권리는 © Nintendo / Creatures Inc. / GAME FREAK inc.에 있습니다.
- 「포켓몬 불가사의 던전」 시리즈의 그래픽은 © Nintendo / Creatures / GAME FREAK / Spike Chunsoft에 있습니다.
- 게임 속 스프라이트, 지형, 음악은 개인이 소유한 「포켓몬스터 펄」과 「포켓몬 불가사의 던전 파랑구조대」에서 추출했습니다. 롬 파일은 이 저장소에 포함되어 있지 않으며 배포하지 않습니다.
- 글꼴: 갈무리(Galmuri) — SIL Open Font License.
- 권리자의 요청이 있으면 해당 자료를 즉시 내리겠습니다.
English
Pokémon Joseon Time Travel is an unofficial, non-commercial Mystery Dungeon-style fan game. With Celebi, you travel through eighteen eras of Korean history, from Goguryeo's Battle of Salsu (612) to the Korean War armistice (1953), and win back the eighteen petals of the Flower of Time.
- Play: https://joseon-poke-timetravel.netlify.app or https://jbh99.github.io/joseon-poke-timetravel/ in a desktop browser (phones get on-screen buttons). The English / 한국어 button switches the language live.
- Controls:
- Arrows move; Z/Enter attacks or confirms; X/Esc opens the menu or answers "no"; Q W E R use moves.
- Tab tags the next teammate in; A (hold) rests; J opens and closes the quest list.
- P opens the companion roster outside dungeons: search it (name, type, dex number), sort it, and swap anyone into any team slot; 1/2/3 set the game speed.
- The mouse picks places on the world map, dialogue choices and menu rows; dragging or the wheel scrolls the map.
- Features:
- Legendary bosses: Zapdos, Moltres, Articuno, Dialga, Giratina and Palkia; Dialga, Giratina and Palkia rise again in Origin Forme.
- Legends that did not join come back in another dungeon of the next era, at that dungeon's level; the world map shows each legend in a gold ring.
- Arceus (its level follows the team's, up to Lv 180) is the last quest, after December 12, 1979: it turns golden for a second phase, where Judgment starts raining round blasts all over the field, and rises a third time in rainbow light (Attack +10%, Defense +20%) to swing Hyper Beam round a full circle three times; Salamence now guards 1950's Panmunjom rift. The 600-class bosses (Garchomp, Salamence, Metagross, Tyranitar) fight at 85% of a legend.
- After the battle for Seoul (1950) the Sky Pillar appears: Rayquaza on floor 2 (Mega Rayquaza for its second phase); once it joins, Deoxys comes down at the Duwon Meteorite Site (where Korea's first recorded meteorite fell in 1943) and fights in its Normal, Attack and Speed Formes. With Deoxys, a red meteorite in town changes its Forme (Normal, Attack, Defense, or Speed, which dodges); the Formes use the PMD ROM's own sprites.
- Regirock, Regice, Registeel and Regigigas have portraits cut from their Pearl battle sprites in the PMD style (
tools/make_portraits.py).
- Twenty eras now: Goguryeo's last battle at Pyongyang (668), the Eulsa Treaty (1905, Mewtwo with a second phase, the Hague envoys in the story) and October 26 / December 12, 1979 (a town battle against Darkrai, with the Hanahoe side at +15%).
- Some towns copy the real layouts of Pokémon Pearl's cities (Canalave, Hearthome, Oreburgh, Snowpoint, Veilstone, Pastoria), read from the ROM by
tools/pearl_maps.py.
- Constable Mightyena patrol occupied towns (1910–1944, not the independence army's base or Chongqing) in two pairs: a pair that spots you demands 100 nyang, or a fight right where you stand, the town as the battlefield (they are 12% stronger than ordinary foes); in 1920 a spy must be found by type and weight before 1930.