원문 포스트 : http://biud436.blog.me/220693349491


'쯔꾸르(ツクール, tsuku-ru, 가타카나로 표기)'는 일본어로 '만드는'과 같은 뜻 인데 우리나라에서 음성학적으로 그대로 '쯔꾸르'라고 부르면서 생긴 말입니다. 오랫동안 개발자들 사이에서는 '알만툴 (RPG 만들기 툴)'이라는 표현을 많이 사용했습니다.

알만툴은 정말 오래된 시리즈로 시대를 거듭하면서 발전을 해왔습니다. RPG Maker MV[각주:1]는 알만툴 시리즈의 최신 작품으로 지난 2015년 10월 24일(한국 시간 기준)에 출시되었습니다.

이번 시리즈는 전작과 같이 일본의 카도카와 주식회사(구 엔터브레인) 소속의 Yoji Ojima(요지 오지마)라는 엔진 프로그래머가 주요 엔진을 개발했습니다. 

"웹 기반"

전작과 달리 RPG Maker 2003에 있던 '사이드뷰' 방식의 턴제 전투도 기본으로 채택했고, RMMV는 RPG Maker XP 이후로 쭉 개선해나갔지만 사용 빈도가 적었던 RGSS(Ruby Game Scripting System)가 아닌 가장 많이 사용하는 HTML5 + 자바스크립트를 기반으로 하면서 다른 플랫폼에서 쉽게 구동할 수 있게 되었습니다. 

"전작과는 차원이 다른 그리기 속도"[각주:2]

또한 WebGLShader를 통해 직접 그래픽스 파이프라인의 한 부분을 직접 다룰 수 있게 돼 다양한 그래픽 효과를 구현할 수 있으며, 또한 하드웨어 가속을 통해 더 빠른 속도(60 프레임)로 그래픽을 그릴 수 있습니다. 그리고 모든 것은 웹이므로 게임을 웹페이지에 업로드하여 웹 게임을 만들 수도 있고 서버로 데이터를 전달하거나 서버에서 데이터를 내려 받는 일 또한 간단합니다.

"공식 한국어"

공식적으로 한국어로 번역되었습니다. 한국어로 되어있으므로 별 다른 해석 없이 어떤 기능이 있는 지 한 눈에 알아볼 수 있으며, 작업 속도가 더 빨라집니다.

"다양한 플랫폼에서 실행할 수 있습니다"

이 프로그램은 QT 기반으로 개발돼 Mac OS X 나 linux (우분투), Windows 에서도 구동이 가능합니다. 또한 프레임워크와 라이브러리만 제공하는 다른 게임 엔진 및 제작툴들과는 달리 게임 구동에 필요한 모든 리소스를 함께 제공합니다. 게다가 강력한 맵에디팅과 전통적인 이벤트 커맨드 기능을 탑재하여 프로그래밍 언어와 게임 라이브러리를 따로 공부하지 않아도 간단한 설정만 하면 누구나 쉽게 게임을 제작할 수 있게 해놓았습니다. 


▲ RPG Maker MV



"풍부한 기본 리소스"

게임 엔진만 제공되는 제작 툴들은 게임을 만들려면 사용자가 직접 리소스를 만들거나 저작권법에 위반되지 않는 리소스를 찾아 나서는 작업부터 먼저 진행해야 합니다. 하지만 RPG 만들기 툴은 기본적으로 사용할 수 있는 리소스가 바로 제공되기 때문에 별다른 준비 없이 바로 원하는 게임을 만들 수 있습니다. 이것은 그림을 그리지 못하거나 프로그래밍 언어를 알지 못하는 분들에겐 굉장한 장점이 됩니다. 또한 HTML5 기반이기 때문에 Intel XDK[각주:3]나 Cordova, Crosswalk Project와 같은 툴을 활용하여 모바일로도 쉽게 앱을 포팅할 수 있기도 합니다.

- 맵 에디터 기능
전통적으로 타일 기반의 2D 맵을 편집할 수 있는 강력한 맵 에디터를 제공하고 있습니다. (기본 맵 에디터로 만들 수 없는 맵이라면 Tiled나 Parallax Mapping 기법을 사용할 수도 있습니다)

TileD Plugin (Version 1.3.0+ Released) - Tiled 맵 에디터를 이용하여 R2K3나 횡스크롤 등 다양한 구조의 맵을 만들 수 있습니다.
YEP Grid-Free Doodads - 디버그 모드에서 테스트 플레이를 돌리면 그리드 제한 없이 추가로 오브젝트를 배치할 수 있습니다.
Orange Overlay - 패러랠스 맵핑(Parallax Mapping) 기법으로 맵배치를 하는 방법

- 이벤트 커맨드 기능
이벤트 커맨드를 활용하여 전문 프로그래밍 지식이[각주:4] 없어도 게임 컨텐츠를 쉽게 만들 수 있습니다. 이벤트 커맨드는 전문가가 미리 작성해놓은 스크립트 구문을 실행하는 것이므로 이것만으로 게임을 만들어도 흠이 없을 것입니다.

- 데이터베이스 기능
게임 데이터 파일을 편집할 수 있는 에디터입니다. (게임 디렉토리 내에 json 이라는 확장자를 가진 파일을 만들어냅니다)

- 애니메이션 기능[각주:5]
키 프레임 마법 애니메이션을 제작할 수 있는 애니메이션 제작 도구입니다. 

- 스크립팅 기능
자바스크립트를 사용하여 더 정교한 게임 제작을 할 수 있습니다. 자바스크립트는 세계에서 가장 많이 쓰이고 있는 언어 중 하나입니다. 그래서 필요한 스크립트 지식을 학습하는데 전혀 문제가 없습니다.

- 플러그인 관리 기능
자바스크립트로 작성된 플러그인을 가져오거나 삭제할 수 있는 관리 기능이 있습니다. 또한 기본적으로 포함된 플러그인으로 메뉴의 위치나 투명도를 바꿀 수도 있습니다.

- 리소스 관리 기능
리소스(소재)를 불러오고 내보낼 수 있는 기능을 갖추고 있습니다. 

- 테스트 플레이 기능
NW.js[각주:6]를 통해 게임을 바로 테스트 할 수 있습니다. 

- 개발자 도구
크로미움 엔진이 탑재된 NW.js의 디버깅 도구를 이용하여 자바스크립트를 즉석으로 작성하거나 디버깅을 할 수 있습니다.  

- 모바일 예물 레이팅 기능
개발자 도구를 통해 스마트폰에 앱을 이미 올려놓은 것처럼 테스트로 모바일 예물 레이팅을 할 수 있습니다. 

- 캐릭터 생성 기능
캐릭터 생성기를 통해 캐릭터 칩셋을 간단히 만들 수 있습니다. 데기카에서 시행하는 정기 커뮤니티 업데이트를 통해 새로운 파츠를 추가로 받을 수도 있습니다. 

- 이벤트 테스트 기능
게임 진행률과 상관없이 해당 이벤트를 실행해볼 수 있습니다.

- 빠른 그래픽 처리
WebGL을 통해 그래픽 카드의 GPU를 사용하여 많은 량의 그래픽을 빠른 속도로 처리할 수 있습니다.[각주:7]

- 멀티 플랫폼 배포 기능
멀티 플랫폼 배포 기능을 통해 Windows, Mac OS X, Android / iOS, Web browsers 플랫폼으로 게임 배포가 가능합니다. 다만 전작과는 달리 설치 파일로 배포되는 것이 아니라 게임 구동 파일로 배포되는 방식이기 때문에 Intel XDK, Cordova[각주:8], Crosswalk Project 와 같은 서드 파티 툴을 이용하여 직접 설치 패키지를 만들어야 한다는 단점이 있습니다.

 순서

과정

설명

 1

 RPG Maker MV 에서 배포 하기

 파일 메뉴에서 배포 파일을 생성할 수 있습니다. '빌드'나 '컴파일'이 아니라 정말 파일을 복사만 하게 됩니다. 이때, 사용하지 않는 리소스 제외 옵션을 선택하면 사용하지 않은 리소스 파일들이 제거된 상태로 복사됩니다.

 2

 Intel XDK 및 Cordova를 이용하여 빌드

 Intel XDK를 사용하는 경우, 컴퓨터에 별도의 도구를 설치할 필요가 없습니다. 인텔 클라우드 서버에서 컴파일 작업을 진행합니다. 작업이 완료되면 서버에서 내려받을 수 있습니다. ​ 2017년 07월 10일 이후로 클라우드 기반 비드가 폐지되었습니다.


 안드로이드 스튜디오로 APK 파일 만들기 (영문)


 3

 바이트 코드로 변환

 컴파일 과정에는 바이트 코드로 변환할 수 있는 javac 컴파일러로 자바 파일을 클래스 파일로 컴파일한 후, dx tool을 이용하여 .dex 파일로 최종 변환합니다.

 4

최종 패키징

일반적으로 마켓에 올릴 땐 인증을 위한 서명이 있어야 합니다. 서명을 하지 않고 디버깅 용으로 사용하게 되면 unsigned 상태입니다. 계정 설정에서 키저장소를 설정할 수 있습니다. 설정해두면 클라우드 서버에서 jarsinger 를 이용하여 unsigned 상태의 apk 파일을 signed 상태로 만들게 됩니다. 


▲ 안드로이드 애플리케이션 패키지(APK) 파일 생성 과정

 
Cordova는 Node.js 설치 후, 명령 프롬프트 환경(CLI)에서 'npm install -g cordova'로 설치 및 업데이트가 가능합니다. 

- 확장 도구 기능
RPG Maker MV의 메뉴를 확장할 수도 있습니다 (이건 다운로드 컨텐츠라 추가 구매가 필요합니다!)
 

RPG Maker MV는 공식 스토어와 스팀에서 86,000원에 판매되고 있습니다. 한글판으로 구매 가능합니다. 구매는 해외 결제가 가능한 비자 체크 카드나 문화 상품권 등을 통해 결제가 가능하며 디지털 다운로드 방식으로 컴퓨터에 다운로드할 수 있습니다. 이후에는 스팀 클라이언트를 통해 툴을 실행할 수 있게 됩니다.


▲ 스팀 정가


▲ 할인가


무료 체험판

공식 홈페이지에서 20일 무료 체험판(일문판은 30일 체험판)을 제공하고 있습니다. 86,000원에 정품을 구매할 수 있으며 정품을 구매하기 전까지 맛보기로 사용하기에는 안성맞춤입니다. 아래 링크를 클릭한 후 이름과 메일 주소를 입력하면 체험판 다운로드가 가능합니다. 체험판은 정품과 똑같은 기능을 사용할 수 있습니다.

체험판 다운로드 링크 - http://www.rpgmakerweb.com/download/free-trials/trial-rpg-maker-mv


플러그인 매니저
RPG Maker MV 에는 플러그인 매니저라는 플러그인 관리 기능이 있습니다. 자바스크립트 플러그인 파일을 로드하고 매개변수 값을 변경할 수 있는 유용한 기능을 갖추고 있습니다. 자바스크립트 파일을 js/plugins 경로에 넣어놓고 플러그인 매니저로 설정만 하면 플러그인들이 정상적으로 로드됩니다.


사용 방법 또한 매우 간단하기 때문에 스크린샷을 통해 설명하겠습니다.



메뉴 상에 게임 폴더를 볼 수 있는 버튼이 있습니다. 게임 디렉토리 폴더가 열리면 아래 스크린샷과 같은 폴더로 이동해주시기 바랍니다. 



index.html 은 웹페이지의 시작 지점이며 규칙으로 정해져있는데 이 파일에서 게임에 필요한 자바스크립트 파일들을 모두 불러들여옵니다. 하지만 플러그인으로 사용될 자바스크립트는 사전에 제작자가 설정한 정보를 읽어들여 선택적으로 로드합니다. 이때 데이터를 찾는 위치는 \js 내에 플러그인 폴더로 정해져있습니다. 이번 작품은 여러 가지 플러그인이 사전에 제공되고 있는데 이 플러그인들을 사용하려면 플러그인 매니저에서 설정을 해줘야 합니다.


▲ 폴더에 자바스크립트 파일을 넣어줍니다.


 

전작은 직접 수정이 불가피했지만 이번 작품부터는 달라졌습니다. 플러그인을 배포하는 개발자들에 의해 직접 파일을 열어 편집이 필요 없게끔 만들어져있습니다. 하지만 편집이 필요할 경우 메모장이나 Notepad++, 이클립스 같은 에디터를 통해서 파일을 불러와 편집이 가능합니다. 파일의 문자열 인코딩은 유니코드(UTF-8) 형식으로 저장되어야 합니다. 이는 도움말에 설명되어있습니다. 만일 자바스크립트 파일이 없고 텍스트만 있다면 파일 저장 옵션에서 UTF-8로 지정한 후에 저장을 하게 되면 한글이 제대로 인식됩니다.


 


플러그인 매니저는 윈도우 기준으로 키보드 상에서 F10 버튼을 누르면 나옵니다. (이번 작품은 QT 기반의 크로스 플랫폼 에디터기 때문에 다른 운영체제에서는 단축키가 다를 수도 있습니다)

▲ 더블 클릭하면 추가할 수 있는 창이 열립니다.


플러그인 매니저를 처음에 키면 Community_Basic.js 플러그인과 MadeWithMv.js 플러그인이 있습니다. 플러그인은 이전 작품에서의 스크립트와 같습니다. 전기 콥셉트와 같은 컨셉입니다. 플러그인을 ON으로 바꿔야만 스크립트가 정상적으로 로드됩니다. 

▲ 추가할 플러그인 선택 (RMMV ver 1.5.0에서의 UI입니다)


Status는 플러그인의 상태로 사용 여부를 결정할 수 있는 선택지입니다. 전기 콘셉트가 꽂혀있는 것과 같은 상태라고 볼 수 있습니다. 플러그인을 가동한다는 뜻인데 문제가 생길 경우 OFF로 바꿔서 가동을 중지할 수도 있습니다. 

▲ @type boolean으로 참/거짓 값을 설정하게 할 수 있습니다.



▲ @type select 옵션으로 값을 하나만 선택하게 할 수 있습니다.


플러그인에는 플러그인 개발자들이 스크립트 내부의 값을 바꿀 수 있도록 미리 밖으로 꺼내놓은 변수들이 있을 수도 있는데, 이러한 변수들을 플러그인 매개변수라고 부릅니다. 이 매개변수들은 플러그인 개발자들이 규칙에 따라 작성해놓은 주석(Comment)을 통해 설정을 해놓게 되는데 본래는 JSDoc(도움말 생성기)의 문법입니다. 알만툴에서도 이 기능을 일부 활용하는데 매개변수가 바로 주석을 활용한 편리한 기능 중 하나라고 볼 수 있습니다. 보통 @param, @desc, @default 등으로 기입 해놓습니다. (1.5.0 버전에서는 @type, @decimals, @option, @value, @type struct<> 등 많은 것이 추가됐습니다) 매개변수 창은 숫자나 문자열 등을 직접 입력할 수 있게끔 되어있고 기본값이 미리 입력되어있습니다. 플러그인에 따라 설정이 필요한 경우가 생길 수도 있습니다. 


스팀 버전이라면 언어 설정이 한국어일 때, 한국어로 표시하게 되고, 영어라면 영어로 표시되게 끔 만들 수도 있습니다. 물론 이러한 설정을 하려면 플러그인 개발자가 미리 한국어 부분도 만들어 놓아야 합니다. 자세한 내용은 도움말(F1)에서 Documentation - Plugin Specifications - Multi-language Support 부분을 참고해보세요.

▲ 한국어(우리나라 말)로 표시하려면 플러그인에 이런 설정이 있어야 합니다. 
(영어 설명을 제공하고 싶지 않으면 이런 설정 조차 필요 없습니다)

쯔꾸르 툴은 전통적으로 리소스 매니저(소재 관리)를 통해 리소스를 가져오거나 배포하는 게 가능합니다. 스팀판의 경우 DLC를 가져올 수 있는 기능이 있습니다. 리소스의 경우 파일 이름에 따라 인 게임에서 기능이 달라지는 경우가 있습니다. RPG Maker MV에서는 캐릭터나 원경의 경우가 그렇습니다.

소재의 위치

소재의 이름

소재 규격

비고

img/animations

애니메이션

192 X 192 (1셀)


img/battlebacks1

img/battlebacks2

Battlebacks

1000 X 740



img/characters

캐릭터

576 X 384

캐릭터 하나의 크기는 48 픽셀.

가로 12 패턴 X 세로 8 패턴.

! : 문, 보물상자

$ : 이펙트, 큰 캐릭터, 특수 캐릭터 등

img/enemies

적군(프론트 뷰)

제한 없음

프론트 뷰

img/faces

페이스칩

576 X 288

144 X 144

4열 2행

img/parallaxes

원경

제한 없음

원경 파일 이름 앞에 ‘!’ 가 붙으면 바닥처럼 취급하여 스크롤 시 같이 이동되지 않습니다. (패럴랙스 맵핑 시 유효)

img/pictures

그림

제한 없음



img/sv_actors

아군(사이드 뷰)

576 X 384

64 X 64


img/sv_enemies

적군(사이드 뷰)

제한 없음



img/system

Balloon.png

384 X 720

48 X 48

8패턴 X 10타입

ButtonSet.png

288 X 96


스마트폰 용

Damage.png

240 X 160



GameOver.png

816 X 624



Loading.png

400(+) X 100(+)



IconSet.png

512 X 640(+)

32 X 32

16열 X 20행(+)

Shadow1.png

48 X 48

비행선의 그림자


Shadow2.png

82 X 38

사이드-뷰 전투에서 배틀러의 그림자

States.png

768 X 960

사이드-뷰 전투에서 배틀러의 상태 애니메이션

Weapons1.png,

Weapons2.png,


576 X 384

사이드-뷰 전투에서 무기구

Weapons3.png

288 X 384

Window.png

192 X 192

영역 당 96 X 96


img/titles1,

타이틀

816 X 624



img/titles2


img/tilesets

A1

768 X 576

바다, 용암


A2

768 X 576

일반 필드


A3

768 X 384

건물 오토타일


A4

768 X 720

벽 오토타일


A5

384 X 768

계단 등 일반 타일

8열 X 16행

B, C, D, E

768 X 768

조형물

16열 X 16행

audio/bgm



Ogg Vorbis(.ogg)

AAC(.m4a)

audio/bgs



audio/me



audio/se



movies



WebM(.webm)

MP4 (.mp4 encoded with H.264 codec)

▲ RPG Maker MV 소재 규격표 (웹 페이지에서 보기)

캐릭터 생성기로 파츠를 조합하여 캐릭터 칩은 물론 페이스칩, 데미지를 입은 모습, 전투 모션이 포함된 배틀러 등도 생성할 수 있습니다. 캐릭터 생성기를 사용하면 누구나 쉽게 캐릭터를 제작할 수 있습니다.



개발자 도구

이번 작품에서 가장 인상적인 부분 중 하나는 실제 크롬에서 사용하는 크로미움 웹 브라우저 엔진을 이용하여 만들어졌다는 점입니다. 그 안에 포함된 개발자 도구는 디버깅 기능 그리고 프로파일링 기능을 가지고 있는 도구입니다.

 

 


 단축키 정보


단축키는 다음과 같은데 크게 달라진 점은 없으나 FPS 와 프레임 시간이 인 게임 내부에 그래픽으로 표시된다는 점이 달라졌으며 개발자 도구로 게임 내에 표시되는 2D 그래픽 객체들을 자바스크립트를 통해 마음대로 주무를 수 있게 되었다는 점입니다. 자바스크립트는 HTML 이 지니고 있는 요소들을 거의 모두 가지고 있기 때문에 웹 개발에서 사용하는 다양한 라이브러리들과 연동시키는 게 가능합니다.


 구분

 내용

F2

FPS 표시

F4

전체 화면 전환

F5

화면 새로 고침(게임 재시작)

F8

개발자 도구

F9

스위치 & 변수 값을 조작할 수 있는 창 띄우기

Ctrl

지형 통과

Shift

달리기


개발자 도구로는 페이지 소스를 보거나 프로파일러를 통해 실행 과정 중에 이상한 점을 발견하거나 네트워크를 통해 무엇을 실시간으로 내려받았는지 어떤 통신 방법으로 데이터를 보내고 받았는지를 정밀하게 분석할 수도 있으며 브라우저 내 화면을 실시간으로 변경할 수도 있습니다.


▲ 개발자 도구의 주요 탭들


 Sources


Sources 탭에서는 비주얼 스튜디오로 코딩을 할 때와 같이 특정 코드에 브레이킹 포인트를 걸어놓고 잠시 게임을 멈춰두는 용도로 사용할 수 있는 그야말로 개발자들을 위한 디버깅 도구가 모여있는 탭입니다.



▲ https://developer.chrome.com/devtools/docs/javascript-debugging


이 탭은 특히 브레이킹 포인트를 걸어놓고 순차적으로 거슬러 올라가거나 함수의 흐름을 타면서 어떤 부분에서 오류가 생기는지 점검할 때 유용하게 사용할 수 있습니다.


▲ 브레이크 포인트가 걸려있는 모습

라인의 번호를 누르면 해당 라인이 강조되면서 게임 재시작 시 위 지점에서 멈추게 됩니다. 즉 위 스크린샷은 게임이 실행되다가 브레이킹 포인트에 걸려 잠시 멈춘 상태에 있는 것입니다. 또한 왼쪽은 함수가 실행된 순서가 저장되는 스택 창이 있고 지역 변수, 클로저, 전역 변수가 어떤 것이 할당되어있는지 볼 수 있는 창이 마련되어있습니다. 브레이크 포인트도 따로 눌러서 해당 지점으로 점프할 수도 있습니다. 오른쪽 제일 위에 있는 버튼들은 코드를 라인씩 해석하여 실행하거나 '업데이트 루틴 내의 함수 단위'로 실행해볼 수 있는 도구입니다.


▲ 브레이크 포인트에 걸려 게임이 잠시 멈춘 모습


함수 단위 또는 한 라인씩 직접 실행해보면서 어느 지점에서 어떤 변수가 할당됐고 어떤 상황에서 잘못되어가는지 정확하게 알아낼 수 있습니다.


Chrome Devtools Cheatsheet - http://anti-code.com/devtools-cheatsheet/


 프로파일러


게임은 매 프레임마다 반복적으로 화면을 지우고 다시 그리는 작업을 반복하는 프로그램입니다. 이때 CPU 와 GPU 성능이 크게 좌우된다고 볼 수 있습니다. GPU는 전달받는 색 정보와 지오매트리 정보를 이용하여 그래픽 처리를 수행하고 CPU는 자바스크립트 명령을 처리하기도 하고 다른 프로그램이 CPU를 사용하고 있어서 대기하기도 합니다. 이 프로파일러를 자바스크립트가 수행된 시간과 메모리가 할당된 시간 등을 알아낼 수 있습니다.


▲ Profiles 탭


이 프로파일러 도구는 '웹 최적화'를 도와주는 기능인데, 즉, 동작 원리를 파악하여 어느 부분에서 게임이 느려지고 있는지 파악할 수 있게 됩니다. 보통 프로파일러는 타임라인과 함수 호출 횟수 그리고 함수 사용률, 함수가 수행된 시간, 함수가 속해있는 게임 오브젝트, 그래픽 API, 드로우 콜, 오디오 API 가 호출된 횟수, 정점 버퍼의 개수 등을 보여주고 개발자에게 이 부분이 느려졌다는 것을 차트나 숫자 등으로 알려줍니다.


하지만 MV는 웹 개발자 도구이기 때문에 게임 엔진처럼 게임과 관련된 부분까지 자세하게 제공되진 않습니다. 그렇지만 이 도구는 확실히 최적화를 하는데 도움을 받을 수 있습니다. 실제 웹 브라우저 엔진을 채택한 탓에 이런 획기적인 기능을 이용할 수 있게 된 거라고 볼 수 있습니다.


타임라인 기능으로 분석하는 것도 가능하겠지만 프로파일 탭을 통해 임의로 시점에 직접 시작하여 원하는 지점에서 종료를 할 수 있습니다. 첫 번째 체크 박스가 선택된 상태에서 시작 버튼을 누르면 자바스크립트가 CPU 시간을 얼마나 소비하는지 알아낼 수 있습니다. 이를 분석하여 시간을 오래 잡아먹는 함수를 최적화하면 게임 성능을 높일 수도 있게 되는 것입니다.


▲ 1프레임을 기준으로 해당 프레임에 수행된 함수를 순서대로 쌓아 보여주고 있습니다.


이 함수가 수행된 시간, 전체에서 이 함수가 수행된 비율 등이 나와있지만 정렬이 되어있지 않아 보기 힘드므로 Total 탭을 눌러 오름차순 또는 내림차순으로 정렬해보면 아래와 같이 보기 좋게 정리됩니다. 


▲ 어떤 함수가 가장 오래 수행됐는지 알 수 있습니다.


위에서 알 수 있는 것은 매 프레임마다 SceneManager.update 그리고 그래픽을 그리는 작업을 하는 WebGL 렌더링과 화면에 그릴 스프라이트 배열과 텍스처들을 보관하고 있는 PIXI.DisplayObjectContainer._renderWebGL 등이 가장 많이 실행되고 있다는 것을 알 수 있습니다. PIXI는 그래픽 렌더링 라이브러리이므로 이는 화면에 할당되어있는 그래픽 스프라이트와 관련이 있다는 것을 알 수 있습니다. 수행되는 시간을 줄이면 최적화를 기대할 수도 있을 것입니다.


▲ 어떤 오브젝트(객체)가 가장 많은지 알 수 있습니다.


위는 메모리와 관련된 부분입니다. 메모리 상에 어떤 오브젝트가 많이 할당되어있는지 알 수 있습니다. 배열과 문자열 그리고 그래픽 라이브러리와 관련되어 있는 객체들이 눈에 띄고 있습니다.


 콘솔 도구

콘솔 도구를 이용하면 자바스크립트로 직접적으로 어떤 값을 수정하거나 함수를 호출하는 행위를 할 수 있는데 샘플 게임만 나왔을 때 이 도구만으로 플러그인이 잘 실행되는지 정도를 확인할 수 있었습니다. 웹에서의 자바스크립트는 HTML5를 컴퓨터 언어를 통해 보다 더 쉽게 컨트롤을 하는 것이 목적이므로 HTML5 와 관련된 명령어들도 알고 있으면 편리합니다. V8 엔진이 내장되어있기 때문에 console.log("메시지") 를 통해 콘솔 화면에 메시지를 출력하는 것도 가능해서 코딩 연습 도구로도 유용하게 사용할 수 있습니다.


▲ 콘솔 도구로 카페에 접속을 할 수도 있습니다.


▲ $gameMessage.add() 명령으로 임의로 띄운 메시지


콘솔 API 링크


 모바일 예뮬 레이팅 기능

모바일 예물 레이트 기능을 이용하면 화면 크기가 원하는 모바일 기기의 비율에 맞춰 변경되기 때문에 스마트폰을 켜지 않고도 미리 테스트를 해볼 수 있습니다.


 



개발자 도구에서 예물 레이트 기능을 Enable 하면 디바이스 설정을 할 수 있게 됩니다. 



펼침 메뉴를 열면 다양한 기기들을 선택할 수 있는데 선택을 하게 되면 해당 기기에 맞는 화면 비율로 해상도가 바뀌게 됩니다. 



하단에 여러 가지 체크박스들이 있는데 입맛에 맞게 조절하여 화면을 조정하실 수 있습니다. 아래 체크 박스에서는 화면 90도로 회전시켰습니다.



터치스크린 센서 기능을 작동시키면 마우스 포인터가 블러 처리된 원 모양의 아이콘으로 변하게 되며 터치와 같은 기능을 발휘하게 됩니다.



아래는 삼성 갤럭시 S4로 선택한 후 구동을 해본 모습입니다.


 


아래는 기기를 애플 아이폰 6 Plus를 선택했을 때의 화면입니다.



데이터베이스 에디터에서는 게임 내에서 필요한 데이터들을 쉽게 관리할 수 있습니다. 이 에디터를 통해 데이터를 관리하면 프로젝트 폴더 data 폴더 내에 있는 데이터 파일들이 수정됩니다. 데이터 파일들은 별도로 바이너리 파일로 변환된다거나 하지 않으며 원본 그대로 저장됩니다. 전작 RPG Maker VX Ace에서는 Ruby 의 Marshal 모듈의 직렬화(Serializable) 기능으로 바이너리 파일로 저장/복원이 가능하여 암호화가 가능했습니다. 



 


공식 플러그인

AltMenuScreen

AltSaveScreen

EnemyBook

ItemBook

SimpleMsgSideView

TitleCommandPosition

WeaponSkill

TouchUI

Gacha

GachaBook

SlotMachine

Community_Basic : 화면 해상도 변경 기능 제공, 이미지 캐시 크기 설정 기능 제공 (1.5.0 이상)

MadeWithMv : 로고 띄우는 기능 제공


* RPG Maker MV는 비교적 업데이트가 자주 이뤄지고 있으므로 스크린샷과 현재 버전이 일치하지 않을 수 있습니다. 다만 추후 크게 변경되는 부분이 있다면 스크린샷 또한 확인 후 교체가 이뤄질 것입니다. 감사합니다. 





  1. RPG Maker MV의 MV에는 다양한 의미가 내포되어있지만 그 중에는 다양한 관점을 뜻하는 Multi View라는 의미도 있다고 합니다 - http://tkool.jp/mv/course/index.html [본문으로]
  2. VXA는 Windows에서만 돌아가는 프로그램이고, 그래픽 엔진은 가장 느린 GDI 엔진, 오디오는 DirectX Audio(Direct Sound), 동영상은 DirectShow로 알려져 있습니다. 느린 그래픽 렌더링 엔진을 사용하지만 실시간으로 계속 그리기를 호출하지 않는 이상 체감되진 않습니다. 새로운 윈도우즈가 나오면 오래된 다이렉트와의 충돌 및 호환 문제로 문제가 생기는 경우가 있습니다. (참고로 MKXP를 이용해서 그래픽, 오디오 엔진을 플랫폼에 맞게 변경할 수도 있습니다, To the Moon이 이를 이용하여 리눅스, 맥 버전을 발매했습니다, 이런 식으로 하려면 개발사의 허락이 있어야 합니다.) [본문으로]
  3. 2017년 07월 10일 이후로 클라우드 기반 빌드 시스템이 완전히 폐지되면서 편하게 빌드할 수 없게 되었으며, 이제는 Cordova를 이용하여 빌드를 해야 합니다. [본문으로]
  4. 네이티브 언어로 보통 2D 게임을 만들 때 맵 에디터를 먼저 만들어야 하는데 이때 C, C++, Data Structure, C++ STL, Design Pattern, Win32API, MFC, DirectX, OpenGL, 기타 라이브러리 등의 지식이 필요합니다. [본문으로]
  5. 애니메이션이 모두 그려져 있는 스프라이트 시트를 바탕으로 프레임 영역을 만들어서 애니메이션을 만듭니다. [본문으로]
  6. MV는 윈도우즈에서는 최신 DirectX로 구동하고, 다른 플랫폼에서는 OpenGL 기반입니다. 그리기 성능은 VXA와 비교할 수 없을 정도로 훨씬 빠르며 셰이더도 사용할 수 있습니다. 따라서 PC에서는 블러 기능과 마스킹 등 런타임에서 이런 그리기 작업을 해도 렉이 없습니다. [본문으로]
  7. 모바일에서는 그리기 성능이 좋은 편이 아닙니다. 대책 없이 대부분 고용량의 텍스처를 그대로 사용하면 모바일 기기에서는 메모리 문제로 구동할 수 없는 문제가 있습니다. 텍스처 최적화의 경우, 툴에서 알아서 해결해주지 않으므로 자체적으로 최적화해야 합니다. 또한 일부 그래픽 드라이버에서는 문제가 있어서 게임이 구동이 되지 않는 경우도 있으며 깜빡임 문제 등도 있습니다. 대응 방법은 있지만 이 문제로 아예 유니티로 바꾸시는 분들이 있었습니다. 그리고 웹 특성 상 API가 사라지거나 계속 바뀌고 있어서 앞으로도 그것에 대응해서 업데이트를 계속해줘야 하는 문제가 있습니다. 그래서 이젠 업데이트도 커뮤니티에서 맡아서 하고 있습니다. [본문으로]
  8. 각 플랫폼의 기본 웹뷰를 이용하는 것으로 쉽게 포팅을 할 수 있게 해줍니다 (안드로이드의 경우, OS 버전이 5.0 미만인 기기에서는 WebGL, WebAudio를 사용할 수 없다는 문제가 있습니다) [본문으로]