onscripter
목차
1 개요
다카하시 나오키(高橋直樹)가 개발한 NScripter의 비공식 호환 엔진으로 Studio OGA(사이트는 여기)에서 소스 코드가 배포되고 있다. Android와 Zaurus는 설치 파일도 제공하고 있다. 단, 일본어 환경에서만 정상적인 실행[1]이 가능하며 다른 언어 환경에서 정상적으로 실행하기 위해서는 직접 컴파일해야 할 필요가 있다.
2 비공식 호환 엔진
온스크립터[2]에 대해서 설명하기 전에 먼저 엔스크립터(NScripter)를 설명해야 할 필요가 있다. 엔스크립터는 일본의 프로그래머 다카하시 나오키가 만든 것으로, 특정 어드벤처 장르 게임 제작에 특화되어 있는 2D 게임 엔진이다. 하지만 다른 장르를 제작하는 것도 어느 정도 가능한지 RPG요소가 가미된 어드밴처도 있는데 쯔꾸르와는 달리 전투 장면부터 회상이 가능한 장점이 있다. 물론 전투 장면부터 회상이 가능하도록 코드를 넣어야 한다.
엔스크립터는 스크립트 언어로 NScript를 사용하는데, 이 언어를 읽을 수 있는 것이 온스크립터이다. 그래서 온스크립터가 엔스크립터의 호환 엔진인 것이다.
2.1 구조와 특징
온스크립터(뿐만 아니라 엔스크립터)는 배치 파일과 같은 일종의 셸 스크립트이다. 스크립트가 있고, 그 스크립트를 인터프리터가 한 행씩 읽는 순차식 구조인 것이다. 스크립트는 0.txt(~99.txt)에 저장하여 수정하기 매우 편하다.
엔스크립터는 상당히 옛날에 만들어졌고, 그렇기 때문에 유니코드를 지원하지 않는다.[3] 그리고 엔스크립터의 호환 엔진 온스크립터도 유니코드를 지원하지 않는다. 따라서 스크립트 파일의 문자 코드와 인터프리터(온스크립터 본체)의 문자 코드가 일치하지 않으면 온스크립터가 강제로 종료되거나 외계어로 출력되는 문제가 발생할 수 있다. 물론 소스코드째로 배포되고 있으므로 유니코드를 지원하는 버전도 많다. 이제는 굳이 유니코드가 안된다고 스크립트를 수정하거나 소스코드(...)를 수정할 필요가 없다.
전각 문자는 출력하는 문자열로, 반각 문자는 명령어로 인식하는 특징이 있다. 따라서 일반적으로 반각 문자로 쓰는 로마자를 화면상에 출력하기 위해서는 전각 문자로 바꾸어 사용해야 한다. (단, 반각 문자를 출력할 수 있는 1바이트 모드 명령어를 지원하고 있다.)
인터프리터, 즉 온스크립터가 스크립트를 읽기 위해서는 스크립트 파일(0.txt), 글꼴(default.ttf)가 꼭 필요하다. 최신버전에서는 0.txt대신 Nscript.dat가 그대로 들어가도 읽어낼 수 있다. 그 외 온스크립터에서 호출하는 이미지 파일이나 소리 파일, 세이브 파일이 없으면 종료되는 경우도 있다.[4]
마지막으로 중요한 점은 어디까지나 엔스크립터의 호환 엔진이기에 엔스크립터의 모든 명령어와 기능을 지원하지는 않는다는 점이다. 거기에 공식도 아니다. 언제든지 호환되지 않는 문제가 발생할 수 있음에 유의해야 한다.
2.2 라이선스
여기에서 중요한 사실이 있다. 온스크립터는 일반적으로 엔스크립터 엔진의 게임을 다른 플랫폼에 포팅하는 데 더 많이 쓰이지만[5] 일단 어쨌든 게임 엔진이라는 것이다.
엔스크립터 엔진으로 상용(商用) 게임을 만들기 위해서는 반드시 라이선스료를 지불해야 하는데, 호환 엔진인 온스크립터 엔진을 쓸 때는 그럴 필요가 없다! 공식 배포 사이트에 따르면 사용 목적을 권리자에 알리거나 영리적 목적으로 사용할 때 라이선스료를 지불할 의무는 없다.[6]
2.3 다양한 지원 플랫폼
온스크립터는 많은 플랫폼을 지원하는 것이 가장 큰 특징으로, 소스 코드 배포 사이트에서는 다음과 같은 운영체제를 지원한다고 소개하고 있다:
-지원하는 운영체제
* Linux
* Windows
* Windows CE
* Mac OS X
* Mac OS 9
* Android
* iOS
* PSP
* OS/2
* Wii
* NetWalker
* 드림캐스트
* 플레이스테이션
* FreeBSD
* Zaurus
* 솔라리스
꼭 알고 넘어가야 하는 점은 Android, Zaurus를 제외하고는(그것도 일본어판 한정) 모두 배포된 소스 코드를 가지고 다른 개발자가 포팅한 것이라는 것이다. [7]
게다가 운영 체제별, 버전별, 언어별, 지원하는 명령어 숫자별 등등 별의 별 수많은 변수가 있기 때문에 온스크립터마다 스크립트를 미묘한 차이로 다르게 읽는다. 또한 머신 성능과 머신 해상도 문제도 있어서 한 스크립트를 여러 조건과 환경에서 일관되게 읽기란 꽤나 어려운 일이다.[8]
그러나 이렇게 다양한 운영체제를 지원하는 점이 오히려 인터넷 통신망에서 온스크립터가 유명해지게 일조하였고[9] 지금도 그 생명력을 이어나가는 데 큰 부분을 차지하고 있다.
3 지원하는 게임
온스크립터는 엔스크립터 호환 엔진으로 엔스크립터 엔진 게임만 지원할 것이라고 생각되겠지만 그렇지 않다. 다른 엔진으로 제작된 게임의 스크립트를 펄(Perl)을 이용하여 온스크립터가 읽을 수 있는 스크립트로 변환하는 과정을 통해 지원하게 하는 것이 가능하다. 이러한 작업을 컨버팅이라고 한다. [10][11]
아래 항목의 게임만 지원하는 것은 아니며 더 많은 게임이 있다.
3.1 컨버터가 제작된 게임
- 가월십야
- 가을 하늘에 춤추는 컨페티
- 가족계획
- 갑작스레 널 사랑하게 됐어
- 귀부 시리즈
- 그녀그녀그녀
- 그녀와 나와 연인과
- 그리자이아의 과실
- 그리자이아의 미궁
- 그리자이아의 낙원
- 기쁘다 구주 오셨네
- 너무 인기 있어서 아수라장인 나
- 너의 목소리가 들려
- 노을빛으로 물드는 언덕
- 달에 다가서는 아가씨의 작법
- 달은 동쪽으로 해는 서쪽으로
- 동거 러브러블
- 다이아믹 데이즈
- 다카포 시리즈
- 대도서관의 양치기
- 대도서관의 양치기 Dreaming Sheep
- 대도서관의 양치기 방과 후 꼬리데이즈
- 동급생 2
- 듀얼리스트 X 엔게이지
- 라무네
- 루이는 토모를 부른다
- 리틀 버스터즈!
- 러브러블
- 마가렛 스피어
- 마법 전사 페어리 메이즈
- 매즙
- 미소녀 만화경
- 미즈이로
- 변함없는 별하늘
- 별하늘에 걸린 다리
- 브라반
- 비치는 햇빛의 노스탤지카
- 사나라라
- 사랑하는 소녀와 수호의 방패
- 사야의 노래
- 새벽녘보다 유리색인
- 새벽녘보다 유리색인 Moonlight Cradle
- 센스 오프
- 소녀가 만든 사랑의 캔버스 ~두 사람의 갤러리~
- 소녀는 언니를 사랑한다
- 소녀이론과 그 주변
- 수평선까지 몇 마일?
- 스이카
- 스즈노네 세븐!
- 스피파라
- 시로쿠마 벨스타즈♪
- 새벽의 호위
- 신성하기에 침범할 수 없는
- 쓰르라미 울 적에, 문제편/해답편/레이
- 아가씨는 기분나나메
- 아득히 우러러본 아름다운
- 아마츠미소라니!
- 얀데레 ~정말 좋아해 그러니까 □하고 싶어~
- 여름 눈 ~Summer snow~
- 여름 하늘의 페르세우스
- 연검소녀
- 연검소녀 ~재연~
- 연애 0킬로미터
- 예익의 유스티아
- 왈큐레 로만체 -소녀기사 이야기-
- 왈큐레 로만체 -More & More-
- 월희
- 유격경함 파트베셀
- 은색
- 이 넓은 하늘에, 날개를 펼치고
- 이 넓은 하늘에, 날개를 펼치고 Flight Diary
- 이 푸른 하늘에 약속을
- 지금 당장 오빠에게 여동생이라고 말하고 싶어!
- 차륜의 나라 - 해바라기의 소녀 -
- 참마대성 데몬베인
- 첫사랑 예보
- 첫사랑 전선
- 축제의 캄파넬라!
- 코스모스의 하늘에
- 코코로@평션!
- 콘체르트 노트
- 크로스채널
- 킬러 퀸
- 투하트2
- 폴트!!
- 푸른 눈물
- 푸른 하늘이 보이는 언덕
- 풍차 마을의 멜로디
- 프리즘◇리콜렉션
- 프린세스 러버!
- 프라이미니스타
- 하나이로 햅타그램
- 하루카나소라
- 학☆왕 ~THE ROYAL SEVEN STARS~
- 해바라기의 교회와 긴 여름방학
- 호치키스
- anise
- CANVAS ~세피아 색의 모티브~
- CLANNAD
- Fate/stay night Realta Nua[12]
- G선상의 마왕
- Golden Marriage
- HHG 女神の終焉
- Kanon
- LEAVEs
- Like a Butler
- MeltyMoment
- narcissu, narcissu SIDE 2nd
- narcissu, 3rd ~Die Dritte Welt~
- Princess Frontier
- SWAN SONG
- Wind -a breath of heart-
- Wind -a breath of heart- Re-gratitude
- XXX인 그녀가 시골생활을 만끽하는 비밀의 방법
- 世界と世界の真ん中で
- 空飛ぶ羊と真夏の花 -When girls wish upon a star.-
- 桜舞う乙女のロンド
- 桜舞う乙女のロンド ~あなたと見る冬桜~
- 恋する夏のラストリゾート
- 恋する姉妹の六重奏
- キスと魔王と紅茶
- バカ燃えハートに愛をこめて!
- イノセントガール ~Innocent Girl~
- リベリオンズ Secret Game 2nd Stage
- あなたの事を好きと言わせて
3.2 온스크립터 기반 게임
- NOeSIS -거짓말했던 기억의 이야기- (일본어)
- NOeSIS -우화- (일본어)
- 너는 키메라R (일본어)
- 개구리와 검귀 3 (일본어)
- 아사루와 스파이 (일본어)
- 누군가가 나에게 반해 있다 (일본어)
4 관련 사이트
이 항목에서는 온스크립터 개발이나 게임 포팅(컨버팅)을 위한 정보를 제공하는 사이트에 대해서 서술한다.
4.1 레퍼런스
(일본어) http://senzogawa.s90.xrea.com/reference/NScrAPI.html
(영어) http://unclemion.com/onscripter/api/NScrAPI.html
5 기타
한국에도 온스크립터와 비슷한 바실리어트라는 개발 도구가 있다. 무료이므로 게임을 개발해보겠다는 한국인은 괜히 안 되는 일본어 가지고 삽질하지 말고 이걸 이용하는 게 좋다. 다만 구하려면 인터넷을 뒤져야 한다. 만든 곳에서 버린 건지 제작팀 홈피에 다운로드가 없다.
인터넷 비주얼 노블인 UC노벨도 생각해볼 수 있다. 사용자가 직접 만들고 배포할 수 있는 인터렉티브 멀티미디어 콘텐츠를 만드는 플랫폼 및 사이트로, 비주얼 노블 같은 것을 GUI기반의 제작 도구를 통해 쉽고 간단하고 빠르게 만들 수 있는것이 장점이나 빨리 만들 수 있는 만큼 장난 반으로 올라오는 컨텐츠가 굉장히 많으며 후자가 대다수라는 것이 엄청난 단점이다.
그 외에 VNAP, 네코노벨등이 있으며 렌파이같은것도 좋다.- ↑ 다른 문자 환경에서는 글자가 깨지는 현상이 있다.
- ↑ 사실 정식 발음은 오엔스크립터(オエヌスクリプター)이나 아무도 언급하지 않는다.
- ↑ ANSI 기반이다.
- ↑ 제일 많은 경우는 전각 반각 문제이다.
- ↑ 그리고 그중 과반수는, 아니 99%는 미연시나 다름없다.
- ↑ 이를 이용하여 구글 플레이에서 온스크립터를 통한 상용 게임을 찾아볼 수 있기도 하다.
- ↑ 즉, 온스크립터마다 문자 코드와 지원하는 기능, 성능이 다르다.
- ↑ 특히 Windows CE에서는… 더 이상의 자세한 설명은 생략한다
- ↑ 사실 안드로이드와 iOS의 덕을 많이 받고 있다
- ↑ 다 되는 것은 아니다. 괴악한 게임 엔진을 사용하는 것이라면 컨버팅하기 힘들거나 불가능하다.
- ↑ 물론 펄 말고 다른 언어로도 컨버팅이 가능하다. C언어로 컨버팅한 게임도 있고 심지어 배치파일로도 가능하다.
- ↑
단 엑스트라 메뉴가 존재하지 않아 CG를 본다거나 하는 건 할 수 없다.엑스트라 메뉴 자체는 존재하나 숨겨져 있다.그러니 안드로이드 앱을 지르도록 하자