천마를 쓰러뜨린 뒤 고향과 동료를 잃은 검객이 수십 년 후 다시 강호로 돌아오는 2D 탑뷰 무협 액션 RPG 프로토타입입니다. 플레이어와 내면의 존재가 몸의 조작권을 공유하고, 로컬 LLM 대화가 Mood와 조작권에 영향을 줍니다.
한신대학교 PD학기제 프로젝트 · 개발 김정현, 이정택.
상태 기준: 2026-09-20. 사천왕의 네 섬과 천마의 마지막 섬은 전체 이야기의 목표이며, 다섯 섬이 완성된 게임은 아닙니다. 우선 목표는 첫 섬에서 전투·성장·대화·선택·보스를 연결하는 짧은 데모입니다.

Assets/Scenes/Main.unity를 엽니다. 타이틀부터 확인하려면 Title.unity를 엽니다.GGUF는 Git에서 제외됩니다. 저장소만 내려받아서는 LLM 준비가 완료되지 않습니다.
LLM_Server와 InnerVoice_LLM_Server는 현재 모두 Models/darkness-Q4_K_M.gguf를 참조합니다.Assets/StreamingAssets/Models/darkness-Q4_K_M.gguf.Embedding_Server는 all-MiniLM-L12-v2.Q4_K_M.gguf를 참조합니다. 실제 모델 해석 경로를 LLMUnity 설정에서 확인해야 합니다.Training/에 학습 코드와 노트북이 있습니다. 학습은 게임 실행과 별도 작업이며 GPU·패키지·모델 이용 조건 확인이 필요합니다.
이 PC의 학습용 원본 GGUF는 프로젝트 밖 C:/AINPC-ModelArchive/Meta-Llama-3-8B-Instruct-Q4_K_M.gguf에 보관합니다. 게임 실행용 darkness 모델은 위 StreamingAssets 경로를 유지합니다. 모델 보관 위치와 정리 상태는 로컬 용량 관리를 참고하세요.
목표 PC에서 RAM/VRAM, 첫 응답 및 완료 시간은 아직 측정하지 않았습니다. 기존 문서의 RAM 수치와 경량화 속도 배수는 보장 사양이 아닙니다.
HUD·수련·부활·메뉴·내면·퀘스트·타이틀 UI는 씬의 UIRoot 아래에서 Play 전에 편집할 수 있습니다. 새 씬 배치는 Tools > AINPC > Bake Scene UI를 사용합니다. 배치와 미리보기 방법.
UI 기본 글꼴은 NeoDunggeunmoPro-Regular.ttf입니다. TextMeshPro용 동적 폰트는 Assets/Resources/Fonts/NeoDunggeunmoPro SDF.asset에 있으며, 추가 한글은 실행 중 생성됩니다. 기존 Paperlogy 폰트는 특수문자 대체용으로 보존했습니다. Tools > AINPC > Apply NeoDunggeunmo Font로 씬의 기존 폰트 연결을 다시 적용할 수 있습니다.
WASD: 이동.C: 능력치 투자. K: 무공 트리.1 / 2 / 3: 습득한 월영참 / 금강호신 / 운기조식.Escape: 수련 화면 닫기.수련 화면을 열어도 전투는 계속됩니다. 이동·공격 입력은 차단되므로 안전한 곳에서 여세요. 내면 대화는 별도로 게임 시간을 정지시킵니다.
새 캐릭터는 능력치 5점·무공 3점, 레벨업마다 능력치 3점·무공 1점을 받습니다. 아이콘은 기존 코드 기반 문양을 유지하며 이미지 제작은 후속 작업입니다.
게임 코드는 Assets/Game/Scripts/Runtime에 역할별로 분리되어 있습니다. Player/PlayerStats.cs는 성장 데이터, Presentation/RpgUI.cs는 표시와 투자 API 호출, Progression/RpgSkillCatalog.cs는 정의, Progression/RpgSkillController.cs는 비용·쿨타임·효과를 담당합니다. 편집기 도구와 검증 코드는 Assets/Game/Scripts/Editor에 있습니다. 자세한 경계와 주의점은 프로젝트 구조를 참고하세요.
MoodSystem이 전환 조건을 판단하고 ControlManager가 중계합니다. AIController는 가까운 적을 추적·공격합니다. 기억에 따라 전투 성향을 바꾸는 기능은 아직 연결되어 있지 않습니다.
DialogueManager와 InnerVoiceManager가 대화를 처리하고 LLMResponseParser가 대사와 Mood 변화량을 읽습니다. 프롬프트만으로 JSON 준수를 완전히 보장하지는 않습니다.
QuestManager는 게임 이벤트로 목표 진행도를 갱신합니다. Resources/Quests에 첫 섬 정의가 있습니다. LLM의 말이 아니라 게임 로직이 퀘스트 완료·보상을 판정하도록 유지해야 합니다.
실제 저장은 Application.persistentDataPath를 사용합니다. 현재 Windows 기본 경로는 %USERPROFILE%/AppData/LocalLow/DefaultCompany/AINPC입니다.
player_save.json: 플레이어 성장·체크포인트·Mood·퀘스트 상태를 하나의 스냅샷으로 저장합니다. 임시 파일 검증/교체와 이전 백업을 사용합니다.quest_save.json: 첫 통합 저장 시 가져오며 원본을 삭제하지 않습니다. 통합 이후에는 별도로 쓰지 않습니다.VerificationResults 아래 폴더.주 파일이 손상되거나 없어도 백업을 확인합니다. 복구 불가능한 저장이나 더 최신 형식은 기본값으로 덮어쓰지 않습니다. 저장 실패 시 현재 진행은 메모리에 남지만 종료하면 마지막 정상 저장으로 돌아갑니다. 테스트 목적으로 실제 저장을 삭제하지 마세요.
실행 명령은 RPG UI 문서에 있습니다. 검증은 빈 씬을 만들므로 작업 씬을 저장하고 에디터를 종료하거나 별도 프로젝트 복사본에서 실행하세요.
RpgVerification.Run: 성장·저장·목재 연결·실제 버튼 콜백과 Unity 캡처.RpgPlayVerification.Run: Play 모드 피해·회복·방어·마나·쿨타임·중복 피격·메뉴 입력 차단.RecoverySaveVerification.Run: 사망/복귀, 저장 중단 주입, 보상 중복 방지, 백업, 분리 저장 마이그레이션.VerificationResults/에 보존하고 Git에서는 제외합니다. 선별한 화면은 docs/RpgScreenshots/에 있습니다.이 검사는 실제 LLM 품질, 첫 섬 완주, 실사용 마우스 조작, 배포 빌드, 보스 밸런스를 보장하지 않습니다.
isle2_arrival 데이터가 없어 다음 섬으로 이어지지 않습니다.사망 복구와 저장 안정성은 후속 작업으로 개선했습니다. 나머지 항목은 미해결이며 개선 계획에 범위를 구분했습니다.
외부 아트는 프로젝트 자체 저작물이 아닙니다. 독립 재배포와 공개 저장소 포함 여부는 배포 전에 확인해야 합니다.
천마를 쓰러뜨린 뒤 고향과 동료를 잃은 검객이 수십 년 후 다시 강호로 돌아오는 2D 탑뷰 무협 액션 RPG 프로토타입입니다. 플레이어와 내면의 존재가 몸의 조작권을 공유하고, 로컬 LLM 대화가 Mood와 조작권에 영향을 줍니다.
한신대학교 PD학기제 프로젝트 · 개발 김정현, 이정택.
상태 기준: 2026-09-20. 사천왕의 네 섬과 천마의 마지막 섬은 전체 이야기의 목표이며, 다섯 섬이 완성된 게임은 아닙니다. 우선 목표는 첫 섬에서 전투·성장·대화·선택·보스를 연결하는 짧은 데모입니다.

Assets/Scenes/Main.unity를 엽니다. 타이틀부터 확인하려면 Title.unity를 엽니다.GGUF는 Git에서 제외됩니다. 저장소만 내려받아서는 LLM 준비가 완료되지 않습니다.
LLM_Server와 InnerVoice_LLM_Server는 현재 모두 Models/darkness-Q4_K_M.gguf를 참조합니다.Assets/StreamingAssets/Models/darkness-Q4_K_M.gguf.Embedding_Server는 all-MiniLM-L12-v2.Q4_K_M.gguf를 참조합니다. 실제 모델 해석 경로를 LLMUnity 설정에서 확인해야 합니다.Training/에 학습 코드와 노트북이 있습니다. 학습은 게임 실행과 별도 작업이며 GPU·패키지·모델 이용 조건 확인이 필요합니다.
이 PC의 학습용 원본 GGUF는 프로젝트 밖 C:/AINPC-ModelArchive/Meta-Llama-3-8B-Instruct-Q4_K_M.gguf에 보관합니다. 게임 실행용 darkness 모델은 위 StreamingAssets 경로를 유지합니다. 모델 보관 위치와 정리 상태는 로컬 용량 관리를 참고하세요.
목표 PC에서 RAM/VRAM, 첫 응답 및 완료 시간은 아직 측정하지 않았습니다. 기존 문서의 RAM 수치와 경량화 속도 배수는 보장 사양이 아닙니다.
HUD·수련·부활·메뉴·내면·퀘스트·타이틀 UI는 씬의 UIRoot 아래에서 Play 전에 편집할 수 있습니다. 새 씬 배치는 Tools > AINPC > Bake Scene UI를 사용합니다. 배치와 미리보기 방법.
UI 기본 글꼴은 NeoDunggeunmoPro-Regular.ttf입니다. TextMeshPro용 동적 폰트는 Assets/Resources/Fonts/NeoDunggeunmoPro SDF.asset에 있으며, 추가 한글은 실행 중 생성됩니다. 기존 Paperlogy 폰트는 특수문자 대체용으로 보존했습니다. Tools > AINPC > Apply NeoDunggeunmo Font로 씬의 기존 폰트 연결을 다시 적용할 수 있습니다.
WASD: 이동.C: 능력치 투자. K: 무공 트리.1 / 2 / 3: 습득한 월영참 / 금강호신 / 운기조식.Escape: 수련 화면 닫기.수련 화면을 열어도 전투는 계속됩니다. 이동·공격 입력은 차단되므로 안전한 곳에서 여세요. 내면 대화는 별도로 게임 시간을 정지시킵니다.
새 캐릭터는 능력치 5점·무공 3점, 레벨업마다 능력치 3점·무공 1점을 받습니다. 아이콘은 기존 코드 기반 문양을 유지하며 이미지 제작은 후속 작업입니다.
게임 코드는 Assets/Game/Scripts/Runtime에 역할별로 분리되어 있습니다. Player/PlayerStats.cs는 성장 데이터, Presentation/RpgUI.cs는 표시와 투자 API 호출, Progression/RpgSkillCatalog.cs는 정의, Progression/RpgSkillController.cs는 비용·쿨타임·효과를 담당합니다. 편집기 도구와 검증 코드는 Assets/Game/Scripts/Editor에 있습니다. 자세한 경계와 주의점은 프로젝트 구조를 참고하세요.
MoodSystem이 전환 조건을 판단하고 ControlManager가 중계합니다. AIController는 가까운 적을 추적·공격합니다. 기억에 따라 전투 성향을 바꾸는 기능은 아직 연결되어 있지 않습니다.
DialogueManager와 InnerVoiceManager가 대화를 처리하고 LLMResponseParser가 대사와 Mood 변화량을 읽습니다. 프롬프트만으로 JSON 준수를 완전히 보장하지는 않습니다.
QuestManager는 게임 이벤트로 목표 진행도를 갱신합니다. Resources/Quests에 첫 섬 정의가 있습니다. LLM의 말이 아니라 게임 로직이 퀘스트 완료·보상을 판정하도록 유지해야 합니다.
실제 저장은 Application.persistentDataPath를 사용합니다. 현재 Windows 기본 경로는 %USERPROFILE%/AppData/LocalLow/DefaultCompany/AINPC입니다.
player_save.json: 플레이어 성장·체크포인트·Mood·퀘스트 상태를 하나의 스냅샷으로 저장합니다. 임시 파일 검증/교체와 이전 백업을 사용합니다.quest_save.json: 첫 통합 저장 시 가져오며 원본을 삭제하지 않습니다. 통합 이후에는 별도로 쓰지 않습니다.VerificationResults 아래 폴더.주 파일이 손상되거나 없어도 백업을 확인합니다. 복구 불가능한 저장이나 더 최신 형식은 기본값으로 덮어쓰지 않습니다. 저장 실패 시 현재 진행은 메모리에 남지만 종료하면 마지막 정상 저장으로 돌아갑니다. 테스트 목적으로 실제 저장을 삭제하지 마세요.
실행 명령은 RPG UI 문서에 있습니다. 검증은 빈 씬을 만들므로 작업 씬을 저장하고 에디터를 종료하거나 별도 프로젝트 복사본에서 실행하세요.
RpgVerification.Run: 성장·저장·목재 연결·실제 버튼 콜백과 Unity 캡처.RpgPlayVerification.Run: Play 모드 피해·회복·방어·마나·쿨타임·중복 피격·메뉴 입력 차단.RecoverySaveVerification.Run: 사망/복귀, 저장 중단 주입, 보상 중복 방지, 백업, 분리 저장 마이그레이션.VerificationResults/에 보존하고 Git에서는 제외합니다. 선별한 화면은 docs/RpgScreenshots/에 있습니다.이 검사는 실제 LLM 품질, 첫 섬 완주, 실사용 마우스 조작, 배포 빌드, 보스 밸런스를 보장하지 않습니다.
isle2_arrival 데이터가 없어 다음 섬으로 이어지지 않습니다.사망 복구와 저장 안정성은 후속 작업으로 개선했습니다. 나머지 항목은 미해결이며 개선 계획에 범위를 구분했습니다.
외부 아트는 프로젝트 자체 저작물이 아닙니다. 독립 재배포와 공개 저장소 포함 여부는 배포 전에 확인해야 합니다.