Recompia
Pokémon Pokopia를 Windows에서 직접 실행, 멀티플레이·모드·기능 향상 지원
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
김만중 『사씨남정기』의 인물·호칭·갈등을 필사본 복원 추리로 익히는 고등학생용 학습 게임
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
김만중의 『사씨남정기』를 필사본 복원 추리로 익히는 고등학생용 학습 게임입니다. 학생은 조선 후기 세책방의 견습 필사가가 되어, 비에 젖어 먹이 번진 필사본에서 지워진 이름과 호칭을 되살리고 누명의 연쇄를 복원합니다. 학생들이 이 작품을 어려워하는 세 가지를 게임의 재료로 바꿨습니다. • 브라우저만 있으면 됩니다(설치 없음). PC·태블릿·휴대폰(세로 화면)을 모두 지원합니다. • 한 차시(40~45분) 안에 끝낼 수 있게 만들었고, 목차에서 장을 골라 이어 할 수 있습니다. • 진행 상황은 그 브라우저에만 저장됩니다(서버로 보내지 않음). • 결과 화면: 필사기 쓰기(복원한 필사본 끝장에 날짜·이름을 세로로 적고 이름 도장을 찍음 → 캡처 또는 이미지 저장), 세책방 장부(호칭·사건 복원 첫 시도 정확도, 도움 사용), 학생이 완성한 관계도, 오답 노트, 해석 질문과 생각 나눔, 작품 노트. • 필사기는 실제 고소설 필사본 끝에 필사자가 날짜·이름을 적던 관습을 본뜬 게임 설정입니다. • 편람(책 아이콘): 관계도 · 호칭 도감 · 사건첩 · 이본 노트 · 낱말 풀이 · 실제와 설정.README 전문 보기 ↗
만든이: 박준일 (온양여자고등학교 국어 교사)
김만중의 『사씨남정기』를 필사본 복원 추리로 익히는 고등학생용 학습 게임입니다. 학생은 조선 후기 세책방의 견습 필사가가 되어, 비에 젖어 먹이 번진 필사본에서 지워진 이름과 호칭을 되살리고 누명의 연쇄를 복원합니다.
학생들이 이 작품을 어려워하는 세 가지를 게임의 재료로 바꿨습니다.
| 어려운 점 | 게임 장치 |
|---|---|
| 인물이 많다 | 장마다 3~5명씩 등장하고, 사건을 복원할 때마다 관계도가 저절로 자란다 |
| 같은 인물을 부르는 말이 여러 개다 | 호칭 잇기: 본문의 호칭(한림·소사·투부·낭군·교 부인…)이 누구인지 표시하고, 3개씩 묶어 맞추어 본다 |
| 갈등이 복잡하다 | 빈칸 복원: 그림과 쪽지에서 낱말을 모아 "누가, 누구와 짜고, 무엇으로, 누구에게 누명을 씌웠나"를 문장으로 되살린다 |
| 방법 | 설명 |
|---|---|
| 웹 주소 | https://pblsketch.github.io/sassi-namjeonggi/ (휴대폰·태블릿은 이 방법을 권장) |
| 내 컴퓨터에서 | 폴더에서 python -m http.server 8765를 실행하고 http://127.0.0.1:8765 를 연다 |
| 파일로 | index.html을 더블클릭해도 되지만, 브라우저가 글꼴 파일을 막아 기기 글꼴로 보일 수 있다 |
| 바로가기 | 주소 뒤에 ?ch=ch3처럼 붙이면 그 장으로 바로 간다(ch0 서장, ch1~ch5, chE 종장). ?teacher=1은 선생님용 켜기 |
| 장 | 원문 회목(한문본 『남정기』) | 사건 | 새 활동 |
|---|---|---|---|
| 서장 관음찬 | 淑女贊白衣像 良媒結赤繩緣 | 유 소사·두 부인, 관음찬, 혼인, 옥가락지 | 호칭 잇기 |
| 1장 첩을 들이다 | 詩詠關雎樛木 琴奏霓裳羽衣 / 正室夢熊 門客竊妾 | 사씨가 첩을 권함, 교씨·장주, 노래 사건, 동청, 인아 | 빈칸 복원 맛보기, 관계도 빈자리 |
| 2장 옥가락지 | 孝女言告言歸 淫婦爲鬼爲蜮 | 저주 사건, 친정행, 옥가락지 사건, 두 부인이 떠남 | 빈칸 복원 |
| 3장 쫓겨난 부인 | 君子信讒言 兇人戕愛子 / 糟糠下堂 舅姑感夢 | 장주 사건과 누명, 문초, 폐출 | 막을 수 없는 장면, 해석 질문 |
| 4장 남쪽으로 | 懷沙亭呼天 黃陵墓敷袵 | 묘소 아래 초가, 거짓 편지, 황릉묘 꿈, 여승, 군산 수월암 | 꿈과 현실 가르기, 흩어진 낱장 순서 |
| 5장 돌아온 진실 | 夫人依止空門 羣小講成詩案 / 別船抱琵琶 甘露洗瘴癘 | 목인, 한림 모함·귀양, 인아, 학사정, 설매의 고백, 백빈주 | 고백으로 사건첩 확인 |
| 종장 죄를 묻다 | 小人惡稔身斃 天道否極泰來 / 母子重會 逆婦就誅 | 동청 처형, 사씨 복귀, 임씨·인아, 교씨의 죄를 따짐 | 죄목 따지기, 마지막 관계도 |
| 방식 | 대상 | 차이 |
|---|---|---|
| 처음 읽기(도입) | 작품을 처음 만나는 학생 | 호칭 옆에 인물 얼굴이 자동으로 보이고, 장마다 '지난 이야기'가 나옴 |
| 다시 읽기(복습) | 작품을 읽은 학생 | 자동 표시 없이 호칭을 직접 떠올려야 함. 호칭 잇기는 인물 전체 명단에서 고르고, 사건 복원에는 헷갈리는 낱말 카드가 더 들어감(예: '타이르자' 자리에 '꾸짖자', '행주' 자리에 '계림') |
두 방식 모두 원작과 다른 전개(만약에 엔딩)나 악역 시점 플레이는 넣지 않았습니다. 학생이 원작에 없는 전개를 직접 수행하면 원작 기억에 섞일 위험이 크기 때문입니다(설계 근거: design/research/02_학습게임_설계이론.md §5).
| 표시 | 뜻 |
|---|---|
붉은 낙관 原文 | 한문본 『남정기』 12회 회목. 퍼블릭 도메인 원문을 한 글자도 바꾸지 않았습니다 |
| 필사본 쪽(한지 바탕) | 원작 줄거리를 오늘날 말로 새로 풀어 쓴 글. 번역서·시험 지문의 문장은 쓰지 않았습니다 |
청록 게임 설정 | 세책방, 필사가, 비에 젖은 필사본, 여백의 메모(힌트), 필사기·세책방 장부. 처음 나올 때 "실제로는 →"을 함께 보여 줍니다 |
갈색 이본 노트 | 판본마다 내용이 다른 곳(장주를 해친 사람, 여승의 이름 등) |
쪽빛 해석 | 숙종·인현왕후 풍자설처럼 여러 해석이 있는 것. 채점하지 않습니다 |
학습 내용은 모두 데이터 파일에 있어 코드를 몰라도 고칠 수 있습니다.
| 파일 | 내용 |
|---|---|
js/data/story.js | 장별 회목(원문), 필사본 쪽의 글, 사건 복원 문제(조사 지점·쪽지·빈칸), 순서·분류·죄목 활동 |
js/data/people.js | 인물, 호칭(누가 언제 쓰는지, 헷갈리는 점), 결말, 관계도의 선 |
js/data/notes.js | 세책방 대사, 게임 설정 카드, 낱말 풀이, 이본 노트, 작품 노트, 생각 나눔 질문 |
design/원작_검증노트.md | 내용을 대조한 자료와 이본 차이. 쓰시는 교과서와 한 번 대조해 주세요. |
글 속 표시: [호칭|인물]은 학생이 누구인지 표시해야 하는 호칭, {호칭|인물}은 자동으로 보여 주는 호칭, **낱말**은 굵게.
글을 고쳐 새 글자가 생겼다면 python tools/build_fonts.py로 글꼴을 다시 만드세요.
design/research/).tools/make_prompts.py, 생성은 tools/gen.ps1·tools/genqueue.ps1, 줄이기는 tools/process_assets.py.assets/music/*.mp3, 곡마다 0.6~1.2MB, 장에 들어갈 때 그 곡만 받음). 중국(명나라)이 배경인 이야기라, 조선 후기에 중국을 거쳐 들어온 현악기인 양금으로 골랐습니다.
곡 배정(js/core/audio.js의 TRACKS):
| 곡 이름 | 쓰는 곳 | 악곡(양금 악구 번호) |
|---|---|---|
shop | 타이틀·세책방 | 우조가락도드리(S5-133-010·015·020·030·040·050·060) |
peace | 서장(관음찬·혼인) | 세령산(S5-113-010·020·030) |
unease | 1장 첩을 들이다 | 계면가락도드리(S5-131-010·015·030·035·040·050·060·065) |
scheme | 2장 옥가락지, 5장 목인·시 옥사 | 언편(S5-223-010·020·030·040·050·060) |
sorrow | 3장 쫓겨난 부인 | 상령산(S5-111-010·015) |
wander | 4장 남쪽으로 | 윗도드리(S5-122-010·020·025·040) |
dream | 황릉묘의 꿈 | 보허사(S5-420-012·015·018) — 당악 계통, '허공을 걷는 노래' |
hope | 5장 돌아온 진실 | 타령(S5-118-010·020·035·055·060·070·080·090) |
judgment | 종장 죄목 따지기 | 편락(S5-231-010·020·030·040·050·075) |
resolve | 종장 재회 | 하현도드리(S5-116-010·015·030) |
finale | 필사기(결과 화면) | 군악(S5-119-030·040·070·075·080·090·100) |
다시 만들기: 국립국악원 누리집(악구 다운로드 › 현악기 › 양금)에서 위 악구의 WAV를 받아 tools/music_src/에 넣고 python tools/build_music.py(원곡에서 바로 이어지는 악구는 끊김 없이 붙이고, 모노로 합쳐 음량을 맞춘 뒤 mp3 96kbps로 줄임). 원본 WAV는 용량이 커서 git에 올리지 않습니다.
곡을 바꾸려면 js/data/story.js의 장·단계에 music: '곡 이름'을 적습니다. 맛보기: design/audio_preview/00_모든곡_맛보기.mp3(node audio.mjs --preview로 다시 만듦)
이 게임의 배경음은 국립국악원이 공공누리 제1유형(출처표시)으로 개방한 「국악기 디지털 음원」의 양금 악구를 이용했으며, 해당 저작물은 국립국악원 누리집(https://www.gugak.go.kr/digitaleum/front/phrase/list.do)에서 무료로 내려받을 수 있습니다. 게임에서는 악구를 이어 붙이고 음량을 맞췄습니다(쓴 악구 번호는 위 표). 게임 타이틀과 설정 화면에도 출처를 적었습니다.
배경음은 기본으로 켜져 있고 타이틀 오른쪽 위 음표 버튼이나 설정에서 끌 수 있습니다. 효과음은 따로 끕니다. 다른 탭으로 가면 소리가 멈춥니다. file://로 열면 <audio>로 틉니다.
assets/fonts/OFL.txt).tests/, npm install 뒤 설치된 크롬으로 실행):
node content.mjs: 데이터 점검(호칭 표시가 인물 호칭 목록에 있는지, 빈칸 정답 낱말을 게임 안에서 주울 수 있는지, 관계선·증거 연결, 관계도 선이 다른 인물 얼굴을 지나가지 않는지, 띄어쓰기·괄호)node full.mjs: 선생님용 버튼 없이 손으로 끝까지 풀기(처음 읽기·다시 읽기), 모든 활동의 틀린 답 → 힌트 → 정답 보기, 저장·이어 하기·다시 보기, 설정·편람·관계도·키보드, 화면 크기 6가지와 큰 글자, file://로 열기node audio.mjs [--preview]: 곡 파일 크기, 곡끼리 음량(RMS)·클리핑, 장면마다 곡 바뀜(실제로 소리가 나기 시작하는지), 배경음·효과음 켜고 끄기, file://로 열었을 때 배경음node e2e.mjs phone|desktop: 선생님용 '정답 채우기'로 빠르게 완주, node interact.mjs: 활동 직접 풀기, node colophon.mjs: 필사기 화면