국내에는 거의 알려지지 않았지만 Artemis Engine이란 텍스트 어드밴쳐 엔진이 있다.
이 엔진의 매력은 윈도우와 아이폰(아이팟터치, 아이패드 포함)을 같은 스크립트로 돌려준다는 것이다.
한마디로 스트립트와 이미지만 있으면 윈도우 시장과 앱스토어 시장에 동시 발매가 가능하다.
더욱이 경이적인 점은 동인 개발팀에게는 무료로 제공해준다는 점이다.
특히 특별한 개발 능력이 없어도 아이폰용 애플리케이션 제작이 가능하므로 아주 좋은 플랫폼이 되며,
동시에 두군데의 시장에 나갈 수가 있으므로 동인팀들에게는 그야말로 희소식이다.
따라서 Rhea君도 엔진 라이센스에 대해 문의를 했다.
하지만 몇차례 메일이 오가며 좌절의 눈물을 흘릴 수 밖에 없었다.
아, 아르테미스 사마!!!
Artemis Engine은 Shift_JIS만 지원하여 한글 출력이 불가능하다는 답변을 받았기 때문이었다.
실례를 무릎쓰고 스크립트 파싱 부분의 소스라도 주면 재빌드해서 사용하겠다고 했지만 그것은 어렵다는 답변도 받게 되었다. (사실 이건 너무나 당연한 이야기이다.)
유니코드 버전은 시간이 좀 걸릴 것이라는 답변을 받고 어떻게 할까...를 현재 고민중이다.
맘 같아선 SVN 놓고 같이 개발하고 싶지만 이건 소스포지 프로젝트도 아니고 일본 동인쪽의 현실과는 거리가 먼 것도 사실이다.
Artemis Engine을 사용한 Destin Ange
Shift_JIS ONLY ㅠㅠ
그런데 갑자기 아이폰용 미소녀 어드밴쳐 게임을 적는 이유는,
아이폰이야말로 가장 현실적인 연애 어드밴쳐 게임 하드웨어라 여기기 때문이다.
사실 연애 어드밴쳐 게임은 공략까지 시간이 제법 걸린다. 상당한 분량의 대사를 읽어야하며 방안에서만 모든 시나리오를 공략하기는 어렵다. 또한 방구석에서 연애 게임만 주구장창 해대는 것은 레알 덕후가 되는 지름길이다.
Rhea君 역시 덕후는 아니지만, 전 시나리오 정ㅋ벅ㅋ때문에 방구석 폐인으로 고생 많이 했었고,
XBOX360용 아이돌마스터(연애 게임은 아니지만...)같은 것은 중도 포기한 것이 사실이다.
그러나 아이돌마스터가 PSP로 출시되어 XBOX360과는 비교할 수 없는 플레이 시간을 보낼수 있었다.
그래픽이 떨어진다는 단점 쯤은 언제 어디서든 할 수 있다는 장점 앞에 무의미했다.
또한 작년에 도키메키 메모리얼4가 PS3가 아닌 PSP로 나온 것은 이야말로 기쁜 일이다.
PC-Engine부터 시작하여 PS1과 PS2를 거쳐온(PC도 거쳤긔~) 도키메키 메모리얼이 PSP로 출시되어,
언제 어디서든 3년의 고등학교 생활을 보낼수 있게 되었고 이젠 정말 방구석 폐인 시대와는 안녕을 고했다. 오~~ 해피!
(정말이지 아이폰용으로 아이돌마스터가 다시 나오길 바라는데 아이돌마스터가 원래 아케이드에서 터치 인터페이스를 채용한 게임이기 때문이다.)
다시 본론으로 돌아가면 아이폰은 터치 인터페이스와 휴대하기 편하다는 장점으로 연애 어드밴쳐를 깃점으로 하여 미소녀 게임에 탁월한 기기임이 틀림없다. 무엇보다 기존 콘솔에 비해 저렴한 개발비는 기존 대기업이나 동인팀들에게 엄청난 장점이 되어준다. 게다가 다국어만 지원하면 배포에 국경도 없다. 아, 개등위가 돈달라고 지랄떠는 한국만 빼고. 앞으로 상당수의 연애 어드밴쳐 게임들이 아이폰으로 나올 것이 기대된다. 이미 메모리즈 오프 1,2는 아이폰용으로 컨버팅을 완료했으며 점점 많은 게임들이 재활용될 것임이 틀림없다.
레알 아이폰에 레알 메모리즈 오프2 납시었다!!!!!!!!!!!
자고로, 어떤 게임기가 생명주기 후기가 되면 미소녀 게임들이 잔뜩 등장했다.
혹자는 이것으로 미소녀 게임이 잔뜩 등장하게 되면 게임기가 망할 징조라고도 했었다.
게임기쪽 라이센스는 맺어보지 못했으므로 확신할 순 없지만, 게임기 생명후기 후기가 되면 라이센스 비용을 대폭 낮추는 것이 아닐까 한다. 그래서 비교적 자본금이 떨어지는 미소녀 게임 회사들에서 후기가 되면 진출했으리라 여겨진다.
그러나 아이폰은 이 사실과는 전혀 다를 것 같다.
모바일+터치기반으로 어울리는 게임이 있고 어울리지 않는 게임이 있는데, 이제까지의 수많은 연애 어드밴쳐와 연애 시뮬레이션게임들이 전자이다. 아이패드 출시와 더블어 미소녀 게임류는 사상 유래없는 전성기를 맞이할 것이라 예상한다.
일본가서 머니카드 좀 사야긔... ㅠㅠ
인코딩 문제로 Artemis Engine을 즉각 라이센스 받을 수 없게된 것은 무척이나 아쉽다.
하지만 이쪽 방향으로 이와 같은 엔진을 개발하는 것은 절실하다고 생각된다.
하는 김에 안드로이드와 윈도우7폰까지 지원되는 엔진이면 참 좋을 듯 하다.
이젠 정말 연애 어드밴쳐를 한번 만들어봐야겠다.
근데 프로그래머만 있으면 머해, 배경, 캐릭터, 스크립터, 사운드... 다 구해야긔. ㅠㅠ
PS) 글은 이렇게 적었어도 아이돌마스터같은 초대작은 PS3 환경으로도 함께 나와줬으면 한다.
실제 HD 화질로 보는 셀셰이딩 애니메이션은 그야말로 환상이기 때문이긔.
아이돌마스터 실제로 보면 질질 싼다긔.
Xcode simplifies the process of sharing code between your iPhone and iPad applications by helping you update your existing iPhone projects to include the necessary files to support the new platform. The Transition command (in the Project menu) creates a new target for the iPad platform and modifies a copy of your projectʼs nib files to support the larger screen size.
Xcode simplifies the validation and submission process of your applications by allowing you to debug signed applications.
You can now easily transfer your iPhone developer identity information to a new computer. The Organizer window includes an option to export your profile and certificate information. To begin developing on a new computer, all you have to do is import the resulting data file into Xcode on that computer.
Interface Builder supports the new view controllers and window sizes available for the iPad platform.
으으음... 일단 아이폰 프로젝트와 아이패드 프로젝트 사이에 코드를 쉽게 공유할 수 있다고 한다. 당연히 그래야겠긔... .
세번째 항목은 참 반갑다. 오르가즈미 Organizer에서 프로필과 인증서를 import 해줄수 있게 되었다.
집컴과 회사컴 사이에서 개발하는 사람이라면 특히 반가울 기능이며 Rhea君 역시 마찬가지다.
마지막으로 IB에서 아이패드를 위한 새로운 기능들이 추가되었단다.
크게 호들갑을 떨진 않지만 마치 원래 있었던 하드웨어 마냥 무심한듯 쉬크하게 아이패드 이야기를 꺼내준다.
가장 관심가는 UIKit(바로 제스츄어가 여기 해당한다.)을 보면 UIBezierPath.h란 넘이 통채로 추가되었는데,
이제 스트로크 중심이 아닌 곡선을 이용한 다양한 입력이 가능할 것 같다.
물론 아이패드는 더 넓어진 스크린 덕분에 보다 다채로운 제스츄어를 기대할 수 있을 것이다.
(여기서 생각해볼 점이 있는데, 아이패드 시장까지 노린다면 Shake나 회전은 가급적 쓰지 않는게 좋을 것 같다.)
그외에도 눈에 띄는 클래스는 UIPinchGestureRecognizer.h , UIPopoverController.h, UILongPressGestureRecognizer.h 등이다. 곡선 이외에 다양한 입력방식들이 가능해졌음을 알수 있다. 특히 길게 누르기는 기존 개발자라면 가려웠던 부분이 아닐까 한다.
결론적으로 문서상 알수 있는 변화는 일단 텍스트와 제스츄어, 다시말해 가장 기본적인 출력과 입력이 추가되었다는 것이다.
물론 이들은 아이폰과 아이패드 양쪽에서 사용 가능할 것이지만 각 기기에 보다 맞는 UI가 있을 것이고 양쪽을 만족시키기 위해서는 고민이 필요할 것이다.
참고로 무분별한 Rotate는 Rhea君이 참으로 불편해하고, 싫어하는 UI이다. 제발 Rotate에 환장하지 말지어다!!!
의외로 QuartzCore는 별다른 추가가 없는데 이미 아이폰에서 QuartzCore가 완성도가 높기 때문이 아닐까 싶다.
2) 설치
3대의 맥에 돌아가며 설치하다보니, 이젠 친근하기까지 하다.
기존에 3.2.1이 설치되어 있었는데 알아서 업그레이드와 덮어쓰기를 지원해준다.
참고로 3.2 beta는 3.2.2란 버전넘버를 갖고 있다.
베타 버전이라도 과감한 설치.
3.2.2 Pre-release의 위엄
자, 두근거리는 맘을 갖고 새 프로젝트를 만들어보자.
얼래? 근데 아이패드를 위한 새로운 프로젝트 타입은 Split View-based Application 밖에 보이지 않았다.
살짝 의아해하고 있는데 기존 프로젝트 타입이 아이폰과 아이패드를 동시에 지원하기에 Product 항목에서 아이폰인지 아이패드인지를 결정하도록 되어 있었다.
아, 아이패드짱... 하악하악
정리해보면,
Navigation-based Application : 아이폰
OpenGL ES Application : 아이폰/아이패드
Split View-based Application : 아이패드
Tab Bar Application : 아이폰/아이패드
Utility Application : 아이폰
View-Based Application : 아이폰/아이패드
Window-based Application : 아이폰/아이패드
이런 식으로 프로젝트를 만들수 있다.
그런데 3.2.2에서 테스트 삼아 일단 아이폰 프로젝트를 만들어보았다. 그런데??!!!
아이폰 좆까, 아이패드!!!
깜짝 놀럤다.
기존의 아이폰 시뮬레이터가 아닌 아이패드 시뮬레이터가 아닌가?!!!
이제 무조건 아이패드 시뮬레이터로 하란 말인가 싶어 살펴보니, 아이폰 시뮬레이터가 아이폰과 아이패드를 동시에 지원하도록 되어 있었다. 아이 깜딱이야!!!!
참고로 시뮬레이터 오른쪽 하단에 보이는 2x가 바로 픽셀 더블(Pixel Double)로 기존 아이폰 애플리케이션을 2배로 사이즈를 키워주는 버튼이 되겠다.
시뮬레이터를 바꿀수 있다.
또한 기대되면 Split은 Settings에서 사용하고 있었다.
흔히 개발자들 사이에 아웃룩 (Outlook) UI라고 불리는 모습이다. 해상도가 커진만큼 앞으로 많이 사용될 형태라 여겨진다.
180도 뒤지은 형태의 아이패드와 Split View
그리고 전에 없던 기능인, 시뮬레이터를 180도 뒤집는 것이 가능해졌다. 이전에는 90도 회전 밖에 지원되지 못해,
실제 개발 라이센스가 없던 개발자들은 이 상태를 만들수가 없었다. 아이폰/아이패드 모두에게 해당하는 것으로 가려운 부분들이 해결된 셈이다...라지만 제발이지 180도 뒤짚은 상태에서는 UI를 Rotate시키지 말았으면 한다.
옆으로 누워서 볼때 무쟈게 불편하기 때문이고, 그런 앱은 다운받자마자 지워버린다.
근데 문제는 시뮬레이터로 살펴본 현재 아이패드 역시 모든 방향으로 로테이션한다.
이것이 실기계에서도 그런다면 애플넘들이 레알 미친 넘 인증이다.
물론 아이폰/아이팟은 안그럼.
아이폰도 180도 회전이 가능해졌다.
3) 마이그레이션
현실적으로 게임 개발자들에게는 애플리케이션보다는 게임 프로그램이며 아이패드로의 호환성이 궁금할 것이다.
특히 높은 인기를 누리고 있는 Cocos2d가 궁금할 것인데, 결론적으로 자알~ 됨을 확인할 수 있었다.
시뮬레이터만 맞춰주면 OK~!
기본 사이즈
...어떤 기기라도 덕질용 머신으로 바꿔버리는 정도의 능력.
어쩌면 기존 아이폰 어플리케이션들 중에서 아이패드의 혜택의 가장 기다려지는 것은 게임이 아닐까 한다.
Open GL ES 기반인지라(옴니아 좆까!) 픽셀 더블시, 단순한 픽셀 확대가 아닌 블리언 연산 등이 작동할 것이고 생각보다 더 매끄러운 화면을 얻을수 있을 것 같다. 하지만... 역시 아이폰과 아이패드를 동시에 지원하도록 리소스와 코드가 준비되는 것이 가장 좋을 것이다.
4) 아이패드 개발
아이패드 개발은 일반적인 아이폰 개발과 똑같았다. -_-;;;;
즉, IB 기반에서 컨트롤을 배치하고 속성과 액션을 부여하고 코딩을 하는 그것과 같았다.
다만 아이폰과 아이패드, 양쪽을 지원하는 프로그램을 만들수 있도록 해주는, 사소하지만 의미있는 기능(Transition to)들이 눈에 띄였다.
그런데 아이패드용 앱을 제대로 개발하기 위해서는 모니터의 세로 해상도가 최소 1024는 넘어야 할 것 같다.
아이패드는 1024 x 768 해상도이기 때문에 이를 받쳐주는 모니터가 아니라면 개발은 너무나 힘들어 보인다.
다시 말해 24인치 이하의 모니터라면 Portait 모드로 아이패드 개발은 사실상 불가능하다.
역시 한글은 불가능하다.
또한 현재 베타라는 한계 때문인지 아이패드 개발은 원할하지는 않다.
IB와 시뮬레이터간의 연계도 이해되지 못하는 부분들이 많고(IB에서 랜드스케이트로 만들어도 시뮬레이터에서는 포트레이트로만 나온다.) 수정을 바라는 기능들도 있다. 특히 아이패드에서는 openURL로 기본 웹브라우저(사파리)가 작동하지 않는데, 시뮬레이터에도 사파리가 존재하지 않아 아직 웹브라우저를 추가하지 못한 것 같다. 예컨데 윗 짤에서 왼쪽 중간의 텅빈 부분이 WebView이다. 에러는 나지 않지만 브라우저는 뜨지 않았다.
5) 그래서...
처음에는 살짝 구경만 하고, 다시 예전 버전을 재설치할려고 했으나 벌써 아이패드 코딩질에 살짝 재미를 느껴버렸다.
생각만큼 불안한 부분도 없기에 한동안 이 버전으로 현재 만들고 있는 프로젝트를 계속 코딩해나가야겠다.
또한 아이패드는 더 커진 아이팟 터치인게, 남들에게는 몰라도 최소한 개발자들에는 아주 잘된 일일 것이다.
기존 API를 그대로 사용할 수 있으니까.
하지만 아이패드가 가지는 의미는 언론의 컴맹기자들과 삼숑관계자들의 의견과는 사뭇 다르다.
물론 하드웨어 자체로 보면 1024 x 768의 아이팟이 맞다.
그러나 사이즈의 변화로 일어날 앞으로의 파장은 어떤 사람들은 애써 부인하고 싶어도 명백하게 보인다. 바로 또하나의 시장이 생긴 것이다.
그리고 제발이지 MS도 빨리 이런 재미있는 물건을 만들어 주길 바란다.
여전히 XCode보다는 Visual Studio가 훨 더 편리한 개발툴이라 여겨지기 때문이다.