KiriKiri
KiriKiri(吉里吉里, 키리키리)는 일본의 개발자 W.Dee가 제작한 게임용 스크립트 실행 환경이자 게임 엔진 계열이다. 1998년부터 개발되었으며 특히 텍스트와 그림·음성·동영상, 대화 선택지와 분기 처리가 중요한 비주얼 노벨과 어드벤처 게임 제작에서 널리 사용된다. 런타임에 TJ...
| 분류 | 게임 엔진, 비주얼 노벨·어드벤처 게임 엔진 |
|---|---|
| 일본어 명칭 | 吉里吉里 |
| 개발자 | W.Dee |
| 최초 공개 | 1998년 |
| 주요 계열 | KiriKiri 1, KiriKiri 2, KiriKiri Z |
| 핵심 구현 | C++ 기반 런타임 |
| 스크립트 언어 | TJS·TJS2 (吉里吉里2) |
| 노벨 제작 프레임워크 | KAG (Kirikiri Adventure Game System) |
| KAG 버전 | KAG3 (KiriKiri 2 계열) |
| 주요 게임 장르 | 비주얼 노벨, 어드벤처·인터랙티브 픽션 |
| 이미지·화면 | 레이어·텍스트·스프라이트·전환 효과 |
| 오디오·영상 | 배경 음악·대사·효과음·동영상 |
| 파일 아카이브 | XP3 등 |
| 프로젝트 데이터 | KAG 시나리오와 TJS 스크립트 |
| 주요 게임 | 《Fate/stay night》, 《Fate/hollow ataraxia》 |
| 원래 실행 대상 | Windows PC |
| 후속 이식 | KiriKiri Z 파생 및 SDL2 기반 모바일·데스크톱 이식 |
| 원본 KiriKiri 2 라이선스 | KiriKiri 독자 라이선스 / GNU GPL 이중 라이선스 |
| KiriKiri Z 라이선스 | 별도 소스 배포 조건과 종속 라이브러리 라이선스 적용 |
| 공식 2세대 문서 | KiriKiri 2·KAG3 공식 문서 |
| 후속 소스 코드 | krkrz/krkrz |
KiriKiri(吉里吉里, 키리키리)는 일본의 개발자 W.Dee가 제작한 게임용 스크립트 실행 환경이자 게임 엔진 계열이다. 1998년부터 개발되었으며 특히 텍스트와 그림·음성·동영상, 대화 선택지와 분기 처리가 중요한 비주얼 노벨과 어드벤처 게임 제작에서 널리 사용된다. 런타임에 TJS 계열 스크립트 언어를 제공하고 그 위에 노벨 게임 제작용 KAG(Kirikiri Adventure Game System) 프레임워크를 결합하는 구성이 대표적이다. 《Fate/stay night》와 《Fate/hollow ataraxia》 등의 상용 비주얼 노벨에도 활용됐다.[1]
KiriKiri의 기술 구조는 크게 스크립트 해석·실행을 수행하는 엔진과 미디어·파일·윈도 관리 기능, 게임의 시나리오 진행을 구현하는 상위 프레임워크로 나뉜다. KiriKiri 2는 TJS2 스크립트 엔진을 사용하며, KAG3는 이 언어로 구현된 어드벤처 게임 제작 시스템이다. 게임 제작자는 복잡한 내부 실행 코드를 직접 수정하지 않고도 시나리오 파일에서 대사와 화면 표시, 선택지·효과를 기술할 수 있다. 더 특수한 기능이 필요한 경우 TJS 스크립트로 KAG의 동작을 확장하거나 직접 엔진 객체를 호출할 수 있다.[2]
KAG 시나리오 파일은 일반적인 텍스트와 태그 형식의 명령을 섞어 작성한다. 게임 제작자는 배경 이미지, 인물의 그림과 표정, 효과음과 음악, 메시지 표시·선택지·장면 전환을 지정하여 플레이어에게 보여줄 내용을 순서대로 구성한다. 엔진의 이미지 레이어 시스템은 배경·인물·텍스트 등 여러 화면 요소의 표시 순서와 위치를 관리한다. 게임의 진행 상태와 선택지에 따른 이동은 시나리오 명령 또는 TJS 코드로 지정할 수 있고, 미디어 재생과 입력 이벤트를 통해 시각적 노벨 경험을 구현한다.[3]
콘텐츠는 이미지·텍스트·음성·영상과 스크립트 자료를 프로젝트별 파일 구조로 관리하고, 배포 과정에서 XP3와 같은 아카이브 형식으로 묶을 수 있다. 런타임은 필요한 자산을 불러와 화면 레이어와 음향 재생 시스템으로 전달한다. KiriKiri 2에서 만들어진 게임 데이터는 확장 플러그인과 버전별 API에 의존할 수 있어 후속 런타임에서 그대로 실행될 것이라고 보장되지 않는다. 자료 보존과 호환성 연구에서는 원본 엔진 버전, 사용한 KAG 템플릿과 추가 플러그인·아카이브 형식을 함께 기록해야 한다.
KiriKiri Z는 KiriKiri 2를 바탕으로 한 후속 포크 프로젝트이며 원래의 W.Dee 개발판과는 구분된다. KiriKiri Z의 공개 코드에는 TJS2 처리·시각·사운드·파일·환경 계층의 모듈이 남아 있고, 외부 라이브러리와 일부 플러그인은 독립된 프로젝트로 관리된다. 이후 SDL2 기반의 파생 이식판은 Windows 외에도 Linux·macOS와 Android·iOS 등에서 KAG 시나리오를 실행하도록 확장됐다. 이식판의 기능 및 파일 호환성은 각각의 프로젝트와 구현 상태에 영향을 받는다.[4][5]
라이선스에는 세대별 구분이 있다. 2005년에 공개된 KiriKiri 2·KAG3의 원본 이용 문서는 KiriKiri 전용 라이선스와 GNU GPL의 이중 라이선스를 명시하며, 게임과 결합해 배포하는 일부 실행 구성 요소에 대해서는 별도의 예외·조건을 제시한다. KiriKiri Z의 배포와 추가 플러그인·코덱 및 제삼자 라이브러리에는 각각의 조건이 적용된다. 따라서 원본 2세대의 라이선스와 후속 파생판의 배포 조건을 모든 버전에 하나로 적용하기보다는 해당 소스·게임 배포판에 포함된 원문 라이선스를 기준으로 구분해야 한다.[6]
KiriKiri는 Windows용 노벨 게임 제작에서 게임의 규칙과 이야기를 텍스트 스크립트로 관리하고, 이미지를 다층 합성하며 게임 실행 코드와 콘텐츠를 분리하는 방식을 널리 활용한 기술이다. 후속 KiriKiri Z와 호환 런타임 프로젝트는 오래된 비주얼 노벨의 기술적 보존·이식과 추가 제작 도구 연구의 기반이 된다. 역사적 문서화에서는 KiriKiri 자체, TJS2 스크립트, KAG 시나리오 시스템 및 개별 게임의 원본 자산 저작권을 구별해 설명하는 것이 중요하다.