유니티엔진 플레이메이커 이해하기
최근 비주얼 프로그래밍에 대한 관심이 남다르다. 비주얼 프로그래밍이란 복잡한 프로그래밍 언어로 구성돼 있는 기존 개발환경에서 벗어나 그래픽 환경(UI)으로 쉽고 간단하게 개발을 진행하는 것을 말한다. 텍스트 운영체제였던 도스(DOS)에서 그래픽 운영체제인 윈도(Windows)로 컴퓨터 사용환경이 바뀐 것에 비유할 수 있겠다. 비주얼 프로그래밍 도구의 지속적인 개선 덕분에 최근에는 프로그래밍 언어를 전혀 몰라도 앱과 게임을 개발할 수 있게 됐다.
이러한 비주얼 프로그래밍의 대표주자가 플레이메이커(Playmaker)다. 스킬트리랩 '플레이메이커를 이용한 유니티 게임개발' 과정 강의를 진행 중인 장재곤 강사와 함께 플레이메이커에 대해 좀 더 자세히 알아보자.
플레이메이커란 무엇인가? 좀 더 자세히 설명해달라
- 플레이메이커는 전세계적으로 가장 널리 사용되는 게임 개발 엔진 '유니티 엔진'에 추가할 수 있는 애셋(예제)이자, 코딩없이 비주얼 스크립팅만으로 개발을 진행할 수 있는 시각적인 개발도구다. 후통게임즈가 개발 및 유통하고 있다. 유니티 엔진을 설치한 후 플레이메이커를 내려받으면 사용할 수 있다.
게임메이커, 프로젝트 스파크 등 다른 비주얼 프로그래밍 도구와 비교하면 무엇이 다른가?
- 다른 비주얼 프로그래밍 도구는 개발자가 손댈 수 있는 부분이 거의 없다. 준비된 예제에 따라 획일적인 게임을 제작해야 한다. 플레이메이커는 다르다. 고급 커스텀(변경)이 가능한 개발 도구다. 만약 코딩에 대해 조금이라도 아는 지식이 있다면 이를 추가할 수도 있고, 특정 기능이 필요하면 주어진 액션을 조합해서 생성할 수도 있다. 단순히 취미생활용이 아니라 사용자의 아이디어를 본격적으로 구체화시켜줄 수 있는 도구다.
플레이메이커는 개발자들에게 어떤 이익을 줄 수 있는가?
- 일단 돈을 지불하고 구매해야 하는 외부 애셋이기 때문에 품질이 뛰어나다. 다른 비주얼 프로그래밍 도구보다 다루기 편리한 것도 장점이다. 핵심적인 기능은 모두 커뮤니티에 공개되어 있어 개발을 진행하다 막히는 부분이 있으면 즉시 확인할 수 있다. 또한 널리 사용되는 마이크로소프트(MS)의 프로그래밍 언어 C#과 유니티 엔진 기반이라 기존에 개발한 것과 호환되는 것도 눈여겨볼 만하다.
C#을 사용한다고 하니 걱정이 앞선다. MS에 종속적이고 무겁지 않을까?
- 일단 PC용 게임 개발은 아무런 문제가 없다. 문제는 모바일 게임 개발이다. 조금 무거운게 사실이다. 갤럭시S2 이하의 스마트폰에선 제대로된 실행을 보장할 수 없다. 하지만 아이폰4s 이상의 성능을 갖춘 스마트폰에선 문제 없이 실행할 수 있다.
개발 언어도 꼭 C#(PC, 윈도폰)으로만 진행해야 하는 것은 아니다. 유니티 엔진 기반인 만큼 자바(안드로이드)도 제대로 지원한다. 오브젝티브 C(iOS)는 조금 커스터마이징이 필요하지만, 호환성에 큰 문제가 생길 정도는 아니다. 유니티 엔진으로 iOS용 게임을 개발하는 것과 같은 난이도다. 전환 방법에 대한 정보도 모두 홈페이지에 공개되어 있다.
플레이메이커로 제작된 게임이 상용화된 사례는 있는가?
- 그래픽 기술을 논하는 시그래프 2014에서 디자이너가 플레이메이커를 활용해 3D 그래픽을 만드는 것을 강의한 사례가 있다. 블리자드 하스스톤 아트팀이 플레이메이커를 활용해 게임 내 이벤트를 직접 개발한 사례도 있다. 덕분에 게임 속 그래픽 효과와 디자인이 아트팀의 의도대로 나왔다. 이외에도 다양한 3D 게임이 플레이메이커를 통해 개발됐다.
플레이메이커는 어떤 개발자에게 유용한가?
- 비(非) 프로그래머에게 유용하다. 아티스트, 디자이너처럼 개발에 직접 참여하는 인원뿐만 아니라 초등학교 교사, 대학생 등 개발에 입문하려는 사람들에게도 적당하다. 산업공공재 디자이너나 주부 등 게임 개발과 큰 관계가 없을 것 같은 사람도 플레이메이커로 게임 개발을 진행하고 있다.
스킬트리랩에서 플레이메이커 강좌를 기획한 의도는?
- 유니티 엔진 입문과 프로그래밍을 모르는 개발자 대상 교육에 초점을 맞췄다. 플래피버드 등 간단한 캐주얼 게임을 플레이메이커를 활용해 직접 제작해보고, 이를 통해 유니티 엔진의 기본 개념 및 사용법을 익힐 수 있다. 지속적인 교육을 통해 스스로 게임을 만들어 낼 수 있는 고급 개발자를 양성하는 것이 목표다.
글 / IT동아 강일용(zero@itdonga.com)