For Korean

주의

이 페이지는 밥돌이 님이 2013년 10월 9일에 번역 해 주셨습니다.
밥돌이 님, 감사합니다.

Mikage가 집필 한 것이 아니므로이 페이지의 내용은 보증되지 않습니다.

Mikage의 문의는 일본어로 부탁드립니다.

개요

Windows, iOS, Android 멀티 플랫폼 노벨/ADV 게임 엔진 Artemis Engine.

간단하고 쉬운 스크립트를 써내려가는 것으로, 노벨 게임 어드벤쳐 게임과 같은 어플리케이션을 제작할 수 있습니다.

같은 스크립트로 Windows, iOS, Android에 모두 똑같이 작동합니다.

또한, Windows에서는 W.dee에 의해 개발된 ‘키리키리/KAG’를 많이 사용하고 있지만, Artemis Engine의 스크립트 문법은 KAG를 참고하여 만든 부분이 더 크므로, 서로의 매크로를 고안하는 것으로 한정적이지만 공통된 스크립트를 사용하는 것도 가능합니다.

기능

아래는 주요 기능입니다.

어플리케이션

iOS용 어플을 제작
iPhone 전용, iPad 전용, iPhone/iPad 모두 지원하는 유니버설 어플리케이션을 전부 제작할 수 있습니다.
Android용 어플(apk) 제작
Google Play 서버에 게임 데이터를 업로드하여 거기서 다운로드하는 APK Expansion Files에도 대응하고 있습니다.
Windows용 프로그램(exe) 제작
2000, XP, Vista, 7, 8.x 에서 작동하는 exe를 제작할 수 있습니다.
상호 호환
하나의 스크립트가 대응하고 있는 모든 플랫폼에서 동일하게 작동하므로 Windows 상에서 거의 대부분의 제작을 할 수 있습니다.
실제 기기로 실행하지 않으면 조정할 수 없는 것들(터치 인터페이스 등)도 있으므로 100%는 아니지만, 손이 가는 시나리오 스크립트나 연출 등의 작업이 모조리 PC에서 이루어지기에 굉장히 효율적입니다.

텍스트

자유로운 문자 출력
크기, 색, 가로쓰기, 세로쓰기 모두 간이적인 애니메이션과 함께 표시할 수 있습니다.
루비나 금칙 처리에도 대응합니다.
TrueType 폰트, OpenType 폰트 기본 지원
각 환경에 설치되어 있지 않은 폰트를 사용할 수 있습니다.
폰트를 이미지화한 데이터의 사용
폰트 라이센스상, 게임 중에 사용하고 있는 문자만을 영상화하고 있는 경우에 한정하여, 삽입을 허락되고 있는 것을 사용하거나 문자에 임의의 그림(하트 마크나 땀 마크 등)을 할당할 때와 같은 상황에서 사용합니다.
클릭 대기 그리프
클릭을 기다릴 때의 아이콘을 표시할 수 있습니다.

그래픽

레이어
실제 기기가 따라주는 한 나타낼 수 있는 레이어의 매수. 위치, 확대/축소, 회전 등 각 프로퍼티를 연속적으로 변화시키는 간이적인 애니메이션이 가능합니다.
레이어 세트
여러개의 레이어를 묶어서 다룰 수 있습니다.
그룹화된 레이어군을 정리하여 이동하거나 확대/축소하거나 할 수 있습니다.
스크린 샷
게임 화면을 보존하고, 세이브/로드의 썸네일 스케치에 사용할 수 있습니다.

사운드

BGM
페이드 인, 페이드 아웃, 크로스 페이드, 볼륨 변경이 가능합니다.
(오래된 iOS 디바이스에서 크로스 페이드를 사용할 경우에는 제한이 있습니다.)
효과음 / 보이스
실제 기기의 성능이 따라주는 한, 다중 재생이 가능하며, 페이드 인, 페이드 아웃, 채널별로 볼륨 변경을 할 수 있습니다.
A-B 리피트
인트로와 루프를 각각 다른 파일로 나누고, 제일 먼저 인트로를 재생하고 나서, 루프 부분을 반복하여 재생할 수 있습니다.

비디오

풀 스크린 비디오
실제 기기가 대응하는 mp4 등의 비디오를 전체 화면에서 재생할 수 있습니다.
비디오 레이어
연속한 JPEG 이미지를 사용하는 독자적인 비디오 형식을 레이어로 사용할 수 있습니다.
알파 채널도 사용할 수 있으므로 여러가지 연출에 사용할 수 있습니다.

유저 인터페이스

자유로운 레이아웃
타이틀 화면이나 각종 메뉴 등을 모두 스크립트로 제어할 수 있어, 자유롭게 레이아웃을 꾸밀 수 있습니다.
텍스트 링크나 이미지 버튼 등을 사용하여 선택지나 독자적인 UI를 구축할 수 있습니다.
터치 인터페이스
플릭이나 멀티 터치로 오토 모드, 이미 읽은 부분만 스킵, 모조리 강제 스킵, 메세지 윈도우 일시 소거, 백 로그 등을 기본으로 탑재하고 있씁니다.
무효로 하거나 할당을 바꿀 수도 있습니다.
복잡한 조작
레이어의 롤 오버, 클릭, 롤 아웃, 드래그 시작, 드래그, 드래그 종료와 같은 조작에 대하여 자유롭게 스크립트를 할당하고, 독자적인 UI를 구축할 수 있습니다.
이것들을 구사하여, 볼륨 변경이나 윈도우 투명도 조정 슬라이더 등도 장착할 수 있습니다.

스크립트

세이브/로드
각 세이브마다 독립한 변수, 각 세이브에 영향을 주지 않는 글로벌 변수, 세이브되지 않는 일시 변수의 각종 변수를 사용할 수 있습니다.
스마트 폰등에서 홈 화면으로 돌아올 때에 자동적으로 세이브하거나 할 수 있는 오토 세이브도 지원합니다.
연산/조건 분기/루프
플래그 관리나 사칙 연산, 단순한 문자열 편집 등을 할 수 있습니다.
서브루틴/매크로
자주 사용하는 스크립트 구문을 하나로 묶어 새로운 명령을 정의할 수 있습니다.
이 기능을 구사하는 것으로, 문법이 비슷한 키리키리+KAG의 스크립트의 이식에 힘을 덜 수 있습니다.
스크립트 작성 지원
스크립트 상의 행 바꿈, 빈 줄, 글줄 머리에 매크로를 할당할 수 있어, 행 바꿈 태그나 페이지 바꿈 태그 등을 매번 넣는 작업 등이 불필요하게 됩니다.
Lua
Artemis Engine의 스크립트는 유연하지만, 시나리오를 작성하는 것을 주목적에 두었기 때문에 많은 복잡한 처리에는 부적합합니다.
그러한 때를 대비하여, 본격적인 프로그래밍 언어인 Lua를 탑재하고 있습니다.
Lua를 사용하면, 객체 지향 코드를 쓰거나 재이용성이 있는 코드를 쓰거나 할 수 있습니다.
Artemis Engine 스크립트와 비교하여, 압도적으로 고속에서 작동합니다.

그 외

사용자 문자 입력
플레이어에게 임의의 문자를 입력시킬 수 있습니다.
주인공의 이름 입력 등에서 사용할 수 있습니다.
통신
간이적인 HTTP 통신이 가능합니다. GET이나 POST로 데이터를 보내고 결과를 변수에 받아서 처리할 수 있습니다.
(SSL 미지원)
인 앱 결제
iOS판은 In App Purchase를, Android판은 Google Play의 In App Billing을 지원합니다.
네이티브 제휴
간이적으로, iOS는 Objective-C, Android는 JAVA에서 함께 링크된 네이티브 메소드를 부를 수 있습니다.
또, iOS라면 뷰, Android라면 Activity로 독립하고 있으므로 Artemis 자체를 서브 모듈로 짜넣을 수 있습니다.
(Windows의 경우, 외부 DDL내의 메소드를 부를 수 있습니다.)

스크립트 예시

[lyc id=0 file=logo]	// 메이커 로고를 읽어들인다.
[trans type=1 time=1000]	// 크로스 페이드로 표시.
[wait input=1 time=1000]	// 1초 기다린다. (클릭으로 스킵 가능.)

	// 오프닝 영상 전체화면 재생

[wait input=1 time=1000]	// 1초 기다린다. (클릭으로 스킵 가능.)

[lyc id=0 file=title]	// 타이틀을 읽어들여
[trans type=1 time=1000]	// 크로스 페이드로 표시.

[splay file=title time=1000]	// BGM을 1초 페이드인.

[call file=title_button label=setup]	// 버튼 표시 서브루틴 호출.
[stop]	// 버튼을 누를 때까지 기다린다.

*main
// 여기서부터 본편

[sxfade file=bgm0 time=1000]	// 1초 크로스페이드하면서 BGM 변경.

[아르테미스]	// 매크로로 Standing Computer Graphics(이하 SCG) 표시
"Artemis Engine은 이런 식으로 간단한 스크립트를 쓰고,
노벨 게임이나 ADV 게임을 제작할 수 있는 게임 엔진이야."

[var name=t.os system=os]	// 실행 중인 OS 확인
[신시어]	// 매크로로 SCG 표시
"지금 실행 중인 OS는 [print data=$t.os]구나!"

[아르테미스]
"네 이름을 알려줄래?"

[dialog title="이름 입력" textfield=name]	// 플레이어에게 문자를 입력시키게 한다.
[아르테미스]
"[print data=$name] 씨구나"	// 변수 내의 문자열을 시나리오에 표시.

[아르테미스]
"그런데 신시어, 캐피바라 씨를 100번 말해 보세요."
[신시어]
"엣, 누님 갑자기…."

[var name=i data=0]	// 변수 i를 0으로 초기화.
[loop estimate="$i < 100"]	// i가 100 이내라면 실행.
	[신시어]
	"캐피바라 씨."
	[var name=i data="$i + 1"]	// i에 1을 더한다.
[/loop]

채용 실적

이쪽은 Artemis Engine을 채용한 iPhone/iPad 어플 작품들입니다.

이쪽은 Artemis Engine을 채용한 Android 어플 작품들입니다.

기타 정보

2010년 9월 19일에 열린 Ustream 방송 이벤트에서 Artemis Engine 강연을 했었습니다.

동영상 보기(약 24분 40초)

개요부터 스크립트(심화)까지 다루었으므로 참고가 되셨으면 좋겠습니다.

시스템 제공에 대해서

동인 팀 및 서클을 모집하고 있습니다.

기본적으로「취미」로 개발하고 있는 것이기 때문에 보수를 특별히 받지 않습니다. (기업 분들은 별도로 상담해 주세요)
기본적으로「취미」로 개발하고 있는 것이기 때문에 상업적인 목적이 아닌 개인, 임의의 단체(동인 팀)의 경우에는 보수를 특별히 받지 않습니다.
상업적인 목적으로 개발하는 기업 및 개인 사업자 분들은 별도로 상담해 주세요.
2011년 1월 9일 수정

현재 불특정 다수에 대한 일반 공개를 하지 않습니다. 메일로 연락을 주시면 순차적으로 답변 드리도록 하겠습니다.

Artemis Engine과 iOS, Android 에서의 노벨 / ADV게임 제작에 흥미가 있으신 분은 부담 갖지 말고 연락 주세요.

artemis@archivefactory.co.kr (Korean Only!)

보충

iOS용 어플리케이션에 대해서는 스크립트 개발 및 1차 검증은 Windows만 가능하지만, 최종적으로 AppStore에 릴리즈 하기 위해서는 아래의 조건이 필요합니다.

  • Intel Mac
  • MacOS X 10.9 Mavericks 이상의 버전
  • 최신 Xcode 및 iOS SDK (Xcode에서의 개발경험은 없어도 됩니다)
  • Apple Developer Program 계약

Comments are closed.