- 전체
- 게임 일반 (make game basics)
- 모바일 기획 및 디자인
- GameMaker Studio
- Unity3D
- Cocos2D
- 3D Engine OGRE
- 3D Engine irrlicht
- copperCube
- corona SDK
- Windows Basic Game
- BaaS (Mobile Backend)
- phnegap & cordova
- ionic & anguler
- parse (backend)
- firebase (backend)
- Game Backend Server / Opt
- web assembly
- Smart Makers
- pyGame & Ren'Py
- 머드(MUD) 게임 만들기
- Xamarin(자마린)
- flutter (플루터 앱 개발)
- construct 2 / 3
- pocketbase
- RPG Maker 시리즈
- godot engine
- playmaker(unity)
- react native
RPG Maker 시리즈 [RPG Maker] MacOS에서 RPG Maker MZ로 만든 게임을 Android 앱으로 빌드하기
2024.12.15 03:46
[RPG Maker] MacOS에서 RPG Maker MZ로 만든 게임을 Android 앱으로 빌드하기
안녕하세요. 오랜만에 최신 알만툴인 RPG Maker MZ와 관련된 긴 글을 쓰게 되었는데요.
이번 시간에는 맥 OS에서 RPG Maker MZ로 만든 게임을 안드로이드 앱으로 빌드해보는 방법을 알아보도록 하겠습니다.
우선, Android Studio와 Node.js를 설치해야 합니다.
맥을 사용한다는 것은 보통 터미널 환경에 익숙한 특수한 직군일 확률이 높으므로 주저 없이 설명을 진행하겠습니다.
Android Studio와 Node.js 를 설치하는 방법 정도는 아실 거라고 생각합니다. 설치를 하게 되면,
터미널을 여시고 cd ~ 을 입력한 후, 홈 경로로 이동합니다.
위 명령을 입력하여 cordova를 설치를 완료합니다.
연이어 mkdir android-projects를 입력하고 android-projects 라는 폴더를 새로 만듭니다. 여기에 안드로이드 프로젝트를 위치시킬 것입니다.
그 후 cd 명령으로 android-projects 폴더로 이동합니다.
코르도바가 제대로 설치가 되어있는 지 알아보려면 cordova --version이라는 명령어를 입력하세요.
코르도바 프로젝트를 생성해보도록 하겠습니다. 사실 저도 모든 명령어를 기억하고 있는 건 아닙니다. 보통 CLI 툴들은 OS에 따라 다르지만 help 문서를 표시해주는 기능이 있습니다. 코르도바의 경우, cordova --help 라는 명령어를 입력하면 사용할 수 있는 명령어가 표시됩니다.
예시가 적절하게 나오고 있는데 이 중에서 create 명령으로 프로젝트를 생성합니다.
위와 같은 명령어를 입력하니 mzApp이라는 폴더가 생성되었습니다.
생성된 폴더로 이동하면 다음과 같은 파일이 생성되었다는 것을 알 수 있습니다. 코르도바에서는 전통적으로 www 폴더에 리소스를 넣으면 됩니다. 리소스라는 건 보통 게임 파일을 말합니다. 즉, www 폴더에는 웹의 index.html 파일이 위치해야 합니다.
그 전에 안드로이드 프로젝트를 추가해보도록 하겠습니다. 다시 cordova --help 명령어를 쳐서 코드를 참고합니다.
라는 명령어가 보이는데, 이를 그대로 쳐줍니다.
생성되었다는 것을 알 수 있습니다. 정상적으로 동작이 완료되었으면 빌드에 필요한 조건들을 살펴봐야 합니다.
위 명령어를 입력하면 다음과 같이 표시됩니다.
저 같은 경우,
- Java JDK : 설치되어있지 않음
- JAVA_HOME 환경 변수가 설정되어있지 않음
- Android target : 설치되어있지 않음
- Gradle : 설치되어있지 않음
등이 표시되었습니다.
자바 JDK의 설치
자바 JDK 라이센스 문제로 인하여 보통 8 버전이 사용됩니다. 따라서 자바 JDK 8 버전부터 설치해보도록 하겠습니다.
정상적으로 설치되었는지, java -version 명령으로 확인해봅니다.
1.8.0 이 정상적으로 표시되는 것을 알 수 있습니다. 다시 cordova requirements android를 실행합니다.
Java JDK는 설치가 정상적으로 되었네요.
개발자 정신을 발휘하여 안드로이드 SDK 폴더(/Users/<user name>/Library/Android/sdk/tools/bin) 에 있는 sdkmanager를 통해서 수동 설치도 가능합니다.
컴퓨터가 느리지 않다면, 안드로이드 스튜디오를 켜서 설치하는 것을 추천합니다. 현재 타겟 SDK의 요구 사항이 안드로이드 SDK 레벨 30이므로 이를 포함해 여러 SDK 버전을 설치해주도록 하겠습니다.
코르도바가 최신 안드로이드 SDK를 항상 지원하는 것이 아니기 때문에, 현재 컴퓨터에 깔린 코르도바에 맞는 적합한 SDK 버전을 깔아주시기 바랍니다.
안드로이드 SDK 설치가 끝났고, 빌드에 필요한 요구 조건을 다시 확인해보면 다음과 같은 결과를 출력합니다.
Gradle의 설치
gradle을 homebrew를 통하여 최신 버전으로 설치해보겠습니다.
gradle 설치가 완료되었습니다.
요구 조건을 다시 살펴보겠습니다.
디버그 모드로 빌드
요구 조건을 모두 충족하였습니다. 이제 안드로이드 앱 빌드가 가능해진 것입니다.
테스트 빌드를 해보겠습니다.
빌드가 진행 되고 있습니다.
빌드 툴 버전 오류로 인하여 상위 버전의 빌드 툴을 모두 삭제하고, cordova-android를 10.0.0 으로 마이그레이션하였고, 다음 명령으로 다시 빌드를 진행하였습니다.
빌드가 진행되고 있습니다.
빌드가 완료되었습니다.
이렇게 맥에서 테스트 빌드가 성공하였는데요.
같은 네트워크에서 무선 디버깅으로 테스트 하기
Windows에서는 USB로 테스트 하는 것이 편리하지만, 맥북의 경우 USB 포트 자체가 부족하므로 무선 디버깅이 선호됩니다.
무선 디버깅을 활성화하려면 안드로이드 휴대폰에서 개발자 옵션을 활성화 해야 하는데요. 메뉴가 없다면 이에 대한 방법을 따로 찾아보시기 바랍니다.
개발자 옵션을 활성화 했다면, 개발자 옵션 - 무선디버깅 활성화 버튼 토글 - 무선디버깅 을 터치하면 페어링코드로 기기 페어링이 나옵니다.
을 입력하고 페어링 코드를 입력하면 기기가 페어링 상태가 되는데요. 이때, adb connect를 사용하여 해당 IP (스마트폰)에 연결할 수 있습니다.
adb devices로 연결된 기기를 확인 후, 연결이 확인되었다면 다음과 같이 명령을 실행하면 무선으로 앱이 실행됩니다.
MZ나 MV처럼 특수한 웹인 경우, 이렇게 테스트 해도 무방하지만, 실제 개발에서는 라이브 리로드나 여러 화면 꺼짐 방지 플러그인을 같이 셋업해야 합니다.
이러한 작업은 보통은 기능이 더 추가된 아이오닉을 사용하여 셋업이 가능합니다.
아이오닉의 경우, 플러터의 라이브 리로드 같은 더 편리한 기능들을 제공하므로 실무에 더 적합한 듯 보입니다. 하지만 MZ의 경우, 일반적인 웹 프론트엔드 개발이 아니므로 코르도바 CLI 만으로도 이렇게 테스트 환경을 구축 하는 것이 더 낫다고 할 수 있습니다.
이후에는 www 폴더에 index.html 파일과 기타 부속 파일등을 복사해주고 위 과정 중에 run만 해주면 정상적으로 게임이 실행됩니다.
릴리즈 모드에 대한 부분은 이전에 코르도바 글들을 올린 적이 있으므로 참고해주시기 바라겠습니다.
더 효율적인 테스트를 위하여
Live Reload 기능은 같은 네트워크에서 소켓 통신 등을 통하여 필요한 파일이나 정보를 보내 빌드 없이 정보가 새로고침 되는 것으로 리액트, 뷰, 플러터 같은 현대적인 프레임워크들은 모두 내장 중입니다.
다만 MZ나 MV 같은 게임 같은 경우, CSS나 JS 파일을 번들로 만드는 경우가 흔치 않고, 또한 리로드 시, 정보가 손실될 가능성이 있기 때문에 구축이 까다롭다고 볼 수 있겠습니다.
또한 이미 WebGL을 통해 그려져 있는 타일 등과 여러 메뉴 등을 바꾸려면 반드시 refresh가 필요하다는 점이 웹과는 다른 점입니다.
따라서 여유가 된다면, 테스트 시 게임을 로컬 서버로 구축하여 실행한 후, 같은 네트워크에 있는 모바일 기기에서 접속하는 방식으로 라이브 리로드와 비슷한 테스트가 가능합니다.
이렇게 하면 www 폴더에 파일을 적재할 필요가 없기 때문에 빌드 시간이 짧아지고 테스트 시간을 단축할 수 있습니다.
실제 알만툴의 고장인 일본에서는 RPG Maker MZ로 배포된 파일을 웹에 그대로 올리는 방식으로 서비스 되는 게임들이 상당합니다. 하지만, 국내에서는 상업적인 게임 개발 시, 법률적인 문제가 있을 수 있기 때문에 웹에 호스팅 하는 방식보단 네이티브 앱에 웹뷰 방식으로 내장하여 등급 부여 권한을 받은 오픈 마켓을 거쳐야 할 수도 있습니다.
이에 대한 더 자세한 내용은 국내에 알만툴 게임을 상대로 스팀이나 여러 플랫폼에 서비스 해주는 회사가 있으므로 자금적 여유가 있다면 그런 회사와 미팅을 갖고 기술적인 자문을 받는 것이 더 현명할 것입니다.
[출처] https://blog.naver.com/biud436/222622556205
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 3 |
[pocketbase] 포켓 베이스(Pocket Base) 빠르게 입문하기(CRUD)
| 졸리운_곰 | 2024.08.20 | 342 |
| 2 |
[pocketbase] Flutter 및 Dart용 PocketBase 백엔드 : A PocketBase backend for Flutter and Dart
| 졸리운_곰 | 2024.08.18 | 394 |
| 1 |
[pocketbase] A PocketBase backend for Flutter and Dart : Flutter 및 Dart용 PocketBase 백엔드
| 졸리운_곰 | 2024.06.19 | 287 |

