갓오브워4의 로딩화면에 관한 소감

최근에 플레이한 게임이 두가지 있는데, 드래곤 퀘스트(Dragon Quest)와 갓 오브 워(God of War)가 그것이다. 어떻게 보면 북미와 일본을 대표하는 작품이라고도 볼 수 있을 것이다. 서비스를 개발하는 입장에서 두 게임이 시사하는 바가 있어서 간단히 남겨둔다.

게임이 사용자에게 좋은 평가를 받기 위해서는 플레이하는 동안 유저가 최대한 집중하도록 만들어야 한다.

여러 연구를 통해서 확인할 수 있듯이 일이 없어서 뉴스나 뒤적거리면서 퇴근시간을 기다리는 사람보다 9시부터 5시까지 일에 집중하는 사람이 더 큰 행복감을 느끼는 법이다. (몰입이론 창시자의 인터뷰 Link)

어떻게 보면 게임에서 몰입을 가장 방해하는 요소가 될 수 있는 로딩에 두게임이 대처하는 방법을 살펴보자.

드래곤 퀘스트 11의 로딩화면

드래곤 퀘스트의 경우 각 영역을 이동하는 시점마다 로딩 화면을 보여준다. 물론 예전 처럼 검은화면에 의미없는 프로그레시브 바 만을 보여주는 것이 아니라 지금까지의 줄거리를 간단한 일러스트와 함께 제공한다.

과연 이것이 최선일까? 사용자는 한참 게임에 몰입해 있으며 현실과 가상의 경계가 흐릿해 져 있는데 갑자기 로딩화면을 보여주게 되면 그만큼 사용자의 주의가 흐트러질 수 밖에 없다.

갓오브워의 로딩화면

반면 갓오브워는 스토리라인을 따라 선형 진행을 하는 동안은 거의 로딩이 일어나지 않는다.  사용자가 임의의 장소에 접근할때는 파란색 포탈을 통해 직접 이동해야 하는데 그 사이에 해당 장소의 정보를 로딩하는 방법을 취한것 같다.

실제 이는 사용자가 체감할만한 변화로서 레딧에서도 좋은 반응을 확인할 수 있다. (문서 하단 참조)

산타모니카 스튜디오가 레벨 설계를 아주 영리하게 했다고 밖에 볼 수 없는데 게임 개발 조직의 성숙도가 상당한 수준을 넘어서지 않는한 이런 접근방법은 쉽게 나오지 못할 것이다.

기획과 개발이 한팀이 되어서 적극적으로 의견을 나누고 피드백을 제공하는 구조가 아니면 이런 결과는 우연이 아니고서는 나오기 힘들것이다. 프로그래밍과 디자인, 기획이 각각 분업화 되있는 상황에서 의사 소통일 일방적으로 흐른다면 기획에서 제출하는 게임 시나리오는 드래곤 퀘스트 처럼 될 수 밖에 없다.

기획자가 기획에만 매몰되서 개발까지 고려하는 시나리오를 작성하지 못한다면 프로그래밍 파트의 입장에서는 검은 스크린을 띄우는 것은 피할 수 없는 선택이 될 것이다.

반면 갓오브워를 제작한 팀 같은 경우에는 기획 – 프로그래밍 – 디자인이 유기적으로 움직여 서로 다양한 피드백을 빠른 시기에 제공할 수 있는 조직이어서 어느쪽의 변화이든 아주 현명하게 대처가 가능할 것이다.

그런면에서 갓오브워를 플레이하고 나서 드는 감정은 아주 훌륭한 2인 3각 경기를 본 느낌이었다. 다시 한번 이렇게 서비스 기획과 메이커가 아주 잘 어우러진 상품을 볼 수 있기를 기대한다.

참고문서

사용자를 몰입시키기 위해 롱 테이크(ONE SHOT, NO CUTS)를 사용했다는 코리 발로그

Continue reading “갓오브워4의 로딩화면에 관한 소감”
Aside

코딩 교육이 필요한 이유

최근 일자리 시장이 개발자 위주로 공급되면서 일반인들, 즉 비전공자들도 코딩 교육을 받는 경우가 늘어나고 있다. 코딩 열풍, 명과 암

취업을 하기 위한 것이 아니라면 왜 코딩을 배워야 할까? 여기서는 단순히 ‘코딩’만을 의미한다. 실제 많은 개발자들은 숲을 보지 못하고 나무만을 보는 개발자들을 ‘코더’라고 부르며 하대한다. 기반이 되는 공학적인 지식에 대한 배움이나 깨우침 없이 단순히 코딩 교육 만으로 일반 사람들이 어떤 이득을 얻을 수 있을까?

나는 개발자인 동시에 현대인으로 살아가면서 프로그래밍을 통해 다음과 같은 장점을 얻었다.

업무의 자동화가 가능하다

어떻게 보면 가장 유형(有形)의 장점일 것이다. 서비스 직종을 제외한 임금 노동자, 전문직, 학생등 대부분의 일반인들은 컴퓨터로 업무를 본다. 그들이 수행하는 업무들은 반복되는 작업들을 포함한다. 그런 단순 업무들을 코딩을 이용해 자동화할 수 있다. 많은 개발자들은 반복되는 코드나 데이터는 좋지 않다는 것을 본능적으로 체득하고 있다. (DRY원칙)

이런 예들은 실제로 많은 도메인에 걸쳐서 발견된다. 내가 발견한 예중 하나는 회계팀에서 각종 매크로를 사용해 비용이 자동적으로 계산되고 검증까지 수행해주는 특정 양식의 엑셀을 제공하는 것이다. 이는 빌 게이츠가 이야기한 인재 채용의 원칙과도 맞닿아 있다. ‘힘든일은 게으름 사람에게 시킨다. 그들은 쉽고 빠르고 편한 방식을 찾아낸다’. 실제로 나도 동료로 게으른 사람을 선호한다. 그들은 동일한 업무를 반복하지 않고 도구나 자동화를 사용해 일을 해결하고, 뒤에 다른 사람들이 똑같은일을 반복하지 않도록 하기 때문이다.

논리적으로 사고할 수 있는 능력을 키워준다.

컴퓨터는 기본적으로 수학과 과학으로 움직이는 커다란 계산기이다. 비논리적인 사고가 끼어틀 틈은 없다. 컴퓨터에서 생기는 버그들은 모드 그 원인과 결과가 명확히 존재하며 그것을 통제하지 못한 사람과 시스템에게 그 책임이 있다.

정치적으로도 IT직종 인력들이 대체적으로 진보적인 사고를 가지고 리버럴(liberal)의 영역에 가까운 것은 익히 알려진 사실이다. 보수나 진보의 옳고 그름을 떠나서 그들이 성장해온 토양과(오픈소스) 일하는 회사들의 기업문화등을 고려했을 때 당연한 결과이다.

과거에는 자연과 종교에 대한 피상적인 해석들이 자연을 이해하고자 하는 인간들을 가로 막았지만 이제는 그런 장애물 들은 존재하지 않는다. 코딩을 배우게 되면 절대적인 지식은 존재하지 않으며 본인의 무지에는 끝이 없다는 과거 과학자들의 마음을 배우는 것이 가능하다.

추상화에 능해진다

추상의 개념은 무었인가? 여러가지 사물에서 공통되는 개념들을 추출해내는 능력이다. 날이 갈수록 복잡해지는 현대사회에서 핵심을 꽤뚫어 보는 능력은 매우 중요하다고 할 수 있다.

컴퓨터는 계층화된(Layered) 구조를 가지고 있어서 하부의 구조들에 신경쓰지 않고 현재 업무에 집중할 수 있는 추상화의 개념은 매우 중요하다. 그렇기 때문에 개발자는 습관적으로 추상화를 수행하는데 그렇지 않고서는 전체의 시스템을 다 이해하는 일은 천재에 가까운 한두명을 제외하고는 불가능에 가깝기 때문이다.

코딩을 배우게 되면 자연스럽게 하위의 복잡성은 무시하고 현재 문제 영역에서 관심을 가지고 있는 해결방법에만 집중할 수 있도록 도와준다.

일반인들의 모든 문제 해결에 이와같은 추상화가 적용될 수는 없겠으나 문제의 본질과 그 해결방법에 신속하게 도달하기 위해서는 추상화가 꼭 필요한 능력이라고 볼 수 있다.

코딩 교육이 필요한 이유