구닥다리 UI 작업환경 개선 고민

요약

  • 작업에 어울리지 않는 낡은 도구

    • 모바일 게임 UI 와이어프레이밍에 비지오가 아직도 현역이다.

  • 현대적인 도구를 사용하기 어렵게 하는 문제

    • 의사결정권자의 낮은 이해

    • 제안을 어렵게 하는 합리적이지 않은 기업 라이선스

    • 다양한 기업환경(특히 망분리 환경)에서 원활하지 않은 동작

    • 개발 플랫폼 미지원

    • 익숙하지 않은 도구 사용에 적대적인 환경

  • 현대적인 도구를 도입하는데 필요한 노력

    • 제안자의 도구에 대한 높은 이해

    • 의사결정권자에 대한 설득 능력

    • 적대적인 환경을 커버할만한 도구와 파이프라인에 대한 이해

  • 위 작업이 실패할 때 댓가

    • 파워포인트로 와이어프레임을 작성한다.

부끄러운 부분

사실 게임 개발의 구리고 부끄러운 부분은 잘 이야기하지 않는 편입니다. 다들 게임의 크고 아름다운 멋진 고민에 대해서는 이야기하지만 그걸 실행에 옮기는 더럽고 지저분한 부분은 도통 이야기하지 않고 그런 멋진 글을 볼때마다 도대체 우리들은 왜 이러고 사는가 하는 생각이 들기도 합니다. 하지만 여러 팀과 프로젝트의 이야기를 들어볼수록 다들 우리들과 마찬가지로 똑똑하지도 않고 아름답지도 않은 환경에서 바보같은 방법으로 개발하고 있다는 심증이 점점 확실해져 갑니다. 그래서 진심으로 부끄럽지만 이런 이야기를 꺼내보는것도 나쁘지 않겠다 싶었습니다.

UI 와이어프레임

저는 개발팀에서 게임디자인 역할을 하고 있습니다. 위에서 이야기한 크고 다름다운 이야기의 관점이라면 멋지고 재미있는 게임의 방향을 고민하고 결정하는 역할이라고 생각할 수도 있지만 실상 그런 고민은 더 높은 곳에서 시작되고 저는 실행 가능한 계획을 수립하고 실제로 이를 집행하는 역할에 좀더 전문성을 가지고 있습니다. 그런 일에는 UI 와이어프레임을 그리는 일도 있습니다. 웹이나 다른 앱과 비슷하게 게임도 처음부터 UI를 바로 개발해내기에는 비용이 높으므로 와이어프레임 단계에서 시행착오를 겪은 다음 실제 UI 개발로 넘어가는 식입니다. 게다가 현대의 모바일게임은 약 15-20년 전의 PC 온라인게임에 비해 더 적은 시행착오만을 겪을 것을 요구받습니다. (보통 3배속으로 개발하고 3배속으로 라이브한다고 합니다.) 팀원들을 교육하는데 비용을 거의 지불하지 않는, 지불할 수 없는 이유입니다. 이전에 비해 와이어프레이밍의 중요성이 높아졌다고 말할 수 있습니다.

순서도 같은 드로잉과 인터페이스 와이어프레임의 가장 큰 차이는 드로잉이 결국은 2차원으로 완성되고 공유되지만 실상은 이미지의 레이어를 포함한 형태와 마찬가지로 3차원으로 바닥부터 쌓아올리는 형태라는 점입니다. 완성된 앱과 그 인터페이스는 디바이스의 평면 위에 나타나지만 그 구성요소들은 디바이스 스크린을 바닥에 깔고 그 위에 쌓아올려집니다. 디바이스 스크린, 앱, 타이틀, 인터페이스 구성요소, 레이블, 이들의 배치와 정보를 제어하는 상태변화에 이르기까지 모두 겹겹이 쌓여있습니다. 여느 드로잉 도구와 인터페이스 와이어프레이밍에 사용할 수 있는 드로잉 도구를 가르는 가장 큰 차이점입니다. 구성요소를 쌓아올리는 과정을 편안하게 지원할 수 있는 도구야말로 와이어프레이밍에 적합한 도구입니다.

구식 작업환경

고백하자면 저는 이 작업에 지난 십 수년에 걸쳐 비지오를 핵심 도구로 사용해 왔습니다. 여러 프로젝트를 거치며 서로 다른 플랫폼과 서로 다른 미들웨어를 거치는 동안에도 비지오 이외의 도구를 사용한 기간은 꽤 짧습니다. 비지오 이외에는 발사믹을 사용한 것이 전부입니다. 여느 게임회사에서나 직군 별로 사용할 거라고 예상하는 소프트웨어 집합이 거의 같습니다. 게임디자인 직군은 마이크로소프트 오피스, 아트 직군은 주로 오토데스크와 어도비 제품군, 엔지니어들은 주로 마이크로소프트 비주얼스튜디오입니다. 게임 개발에 이해도가 낮을수록 각 직군이 이것들과 다른 소프트웨어를 사용해야 하는 이유를 납득시키기 더 어렵습니다. 한 프로젝트에서는 파워포인트로 와이어프레이밍을 하기 어려운 이유를 오랜 기간에 걸쳐 설명해야 했습니다. 나중에는 그냥 포기하고 파워포인트로 느긋하게 공인된 태업을 할지 고민하기도 했습니다. 이런 상황이다보니 비지오만 해도 그나마 괜찮은 수준의 소프트웨어 지원이었던 겁니다. 예상하셨겠지만 발사믹은 두 개 사서 하나는 개인적으로 쓰고 하나는 회사에서 썼는데 그나마 소프트웨어 점검 때 지적받아 사용할 수 없게 된 적도 있었습니다. 그래서 서기 2019년 현재에도 심지어 최신버전이 아닌 비지오를 사용합니다.

그렇다고 비지오가 엄청 나쁜 도구는 아닙니다. 유연하고 좀 구식이긴 하지만 어지간한 템플릿을 지원합니다. 아이폰10s Max 사이즈를 화면에 1초안에 나타낼 수는 없지만 방법이 없는 것도 아닙니다. 여러 와이어프레임과 여러 상태 사이를 쉽게 오갈 수 있지도 않고 공통 화면을 한번에 수정할 수도 없지만 파워포인트보다는 여러모로 괜찮았습니다. 함부로 비지오를 욕하기도 어려운 것이 그러다가 정말로 파워포인트를 쓰라고 해버리면 그땐 정말 곤란하니까요. 하지만 서기 2019년에는 와이어프레이밍을 하기에 훨씬 더 좋은 도구가 판매중이고 실리콘밸리 탑클래스들이 사용하는 도구는 현대적인 모바일 인터페이스를 개발하기에 훨씬 더 좋은 환경을 지원합니다. 그런 상황을 알면서도 비지오로 한땀한땀 요구사항에 따라 그림을 그려내고 시행착오를 거치는 동안 유지보수하는건 꽤 고통스러운 일입니다.

다른 문제들

작업에 현대적인 환경과 도구를 갖추기 어렵게 만드는 원인은 다양합니다. 위에서 이야기한 개발 과정이 사용되는 소프트웨어가 다양하지 않고 필요성에 대한 이해도가 낮다는 점으로부터 시작합니다. 개발과정에 뭔가 익숙하지 않은 도구를 시도해보는데 적대적인 환경인 경우도 있고 소프트웨어가 회사에 제안해보기에는 부담스러운 기업 라이선스 정책을 고집하기도 합니다. 또 개발환경에 따라서는 인터넷이 없는 경우도 있습니다. 보안을 위해 인트라넷 상에서만 개발하는 경우도 있는데 이 때는 온라인 인스톨러를 사용할 수 없다든지 평소에는 멀쩡히 동작하던 앱이 갑자기 인터넷에 접속하려고 하면서 굳어버린다든지 애써 찾아낸 오프라인 인스톨러가 구버전이라든지 하는 온갖 괴상한 문제가 일어나기도 합니다. 아니면 스케치처럼 윈도우 개발환경을 지원하지 않기도 합니다.

오늘은 Adobe XD라는 도구를 소개받아 사용해봤는데 가끔 죽는걸 제외하면 가볍고 간단하고 위에 이야기한 인터페이스 와이어프레이밍에 필요한 기능을 적당히 갖추고 있었습니다. 게다가 워킹 프로토타입을 만들어내는게 아니라면 무료로 사용할 수도 있었고 윈도우에서 사용할 수도 있었습니다. 다만 애플 홈페이지로부터 iOS용 툴킷을 다운로드하려고 보니 '.dmg' 형식으로 배포하고 있어 더 이상 진행할 수는 없었습니다. 남들은 '.zip'으로 배포하는걸 왜 혼자서만 저러는지 이해가 안 가는 것은 아니었지만 바보같단 생각이 들었습니다. 윈도우에서 개발된 게임은 아마도 iOS 유저들의 인터페이스 기대치에 항상 못 미치는 수준일 겁니다. 어쨌든 이것 외에도 어도비 CC 제품군은 오프라인 인스톨러를 지원하지 않아 위에서 이야기한 인트라넷 환경에서는 사용이 불가능했습니다. 대부분 이런 식으로 네트워크를 분리해서 사용하는 회사는 시스템을 두 대 지급하니 아예 사용이 불가능한 것은 아니지만 상당히 고통스러울 겁니다.

결론

게임디자인, 그리고 UI 와이어프레이밍을 시도하는 과정에서 왜 아직도 십 수년에 걸쳐 오래된 도구를 사용해 현대의 모바일 개발에 어울리지 않는 생산성을 유지하고 있는지를 이야기해봤습니다. 항상 그런 최신의 새로운 도구가 생산성을 올려주는 것은 아닙니다. 당연하지만 여기에도 시행착오가 있고 현대적인 도구를 도입하기 위해 치러야 하는 무형의 비용이 생각보다 클 수도 있습니다. 하지만 당장의 비용을 이유로 이런 시도를 게을리한다면 위에 고백한 것처럼 현대의 모바일게임을 개발하며 와이어프레이밍을 하는데 아직도 파워포인트나 비지오 같은 작업에 잘 어울리지도 않고 생산성을 높여주지도 않는 도구를 사용해 의도적이지는 않지만 적극적인 다른 팀들에 비해서는 태업에 가까운 결과물을 내놓기를 반복하는건 좋은 자세는 아니라는 생각입니다.

이제부터 할일을 정리하면 '1. 도구를 개인적으로 잘 사용해본다', '2. 도구의 비용과 효용을 의사결정권자에게 잘 설명한다', '3. 혹시 의사결정권자를 설득해 실험해볼 기회가 온다면 '1'의 노하우를 최대한 팀에 공유해 생산성을 향상시킨다' 정도가 제가 해볼 수 있는 일이 아닐까 싶습니다.