이제는 남녀노소 가리지 않고 언제 어디서나 게임을 즐기는 시대가 됐다. 게임을 개발하고 서비스하는 일이 본격적으로 싹을 틔우고 성장한 지 30년 가까운 세월이 지났다. 게임을 디자인하고 개발하는 부분은 다른 IT 분야와 기본적인 스킬을 공유하고 있어 빠르게 성장하고 고도화된 반면, 게임의 품질을 측정하고 관리하는 주체인 게임 QA는 상대적으로 개인의 경험과 스킬을 공유할 기회조차 드물었다.
이 책의 초판을 접한 것이 어느덧 10년 전의 일이다. 게임 테스트와 QA에 관한 자료가 목말랐던 당시 국내에서 관련 도서를 찾기란 거의 불가능에 가까웠다. 아마존에서도 'Game QA' 혹은 'Game Testing'이라는 키워드로 검색했을 때 나오는 도서 역시 손에 꼽을 정도였다. 한 달이 넘는 배송 기간 끝에 받아본 이 책의 첫 장에 나오던 "Don't Panic"과 "Trust No One"이라는 주제어를 보면서 무릎을 탁 쳤던 기억이 선명하다. 당시 속해 있던 QA 팀의 다른 리더들과 함께 이 책으로 스터디를 진행했었다. 모두가 책의 내용에 속속들이 공감하면서 즐겁게 스터디를 진행했던 기억이 새삼 떠오른다.
이후 PC 온라인 게임이 중심이던 업계는 빠르게 모바일 플랫폼 기반으로 재편됐고, 게임 개발과 QA 환경 역시 플랫폼의 변화에 맞춰 끊임없이 변화해왔다. 이 책의 원서도 2판과 3판을 출간하면서 변화하는 게임 개발 환경에 맞는 내용을 추가해왔다. 끊임없이 변화하는 게임 개발과 서비스 환경에 맞춰 게임 QA와 테스트에 필요한 부분을 시기 적절하게 보강하면서도, 초판부터 제공하던 기본적인 테스트 원리와 테스트 관리 업무를 안내해주고 있어 시간이 지나도 이 책의 가치는 전혀 떨어지지 않았다고 자부한다. 모쪼록 이 책이 조금이라도 독자의 궁금증을 해결하고, 고민거리를 던져주는 데 일조하기를 바란다.
전문적인 보안 종사자나 해커가 아닌 이상 해킹이란 단어는 익숙하면서도 몸으로 체감하기는 힘든 단어다. IT에 종사하는 사람들뿐만 아니라 누구나 흔하게 해킹을 이야기하고 언론이나 미디어에서도 다양한 형태로 해킹을 다루어왔지만, 실제 삶 속에서 해킹이란 금융권에서 발생하는 개인 정보의 유출을 걱정할 때나 연상되는 단어였다.
처음 이 책을 접할 당시, 흥미가 느껴지면서도 동시에 생소했던 부분은 책의 전반에 걸쳐 닌자에 대한 설명에 꽤 상당한 부분을 할애했다는 점이었다. 어릴 적부터 영화와 애니메이션에 등장하는 닌자를 많이 접해왔지만 사실 실제 역사에서 그들이 어떤 신분이었으며 어떤 일을 해왔는지에는 큰 관심이 없었다.
이 책에서는 다른 책에서 찾아보기 힘든 역사 속의 닌자가 실제로 어떤 기술을 활용해 어떤 임무를 수행했는지, 왜 그들이 스스로를 검은 옷으로 감싸고 은밀한 잠입과 첩보 활동을 해야 했는지를 역사적인 사실에 기반해 자세히 설명해준다.
더욱 흥미로운 것은 이런 닌자의 기술들이 어떻게 오늘날 침투 테스트의 기법으로 활용될 수 있는지를 보여주는 부분이다. 이 책은 기술적으로 복잡하고 어려운 해킹 기법이 아닌 심리와 습관을 활용하는 간단한 위장과 변조 같은 기법으로 침투 테스트를 수행할 수 있는 방법에 대해 설명한다.
이 책에서 소개하는 내용은 침투 테스트를 효율적으로 수행할 수 있는 방법임과 동시에 실제 이런 기법을 활용한 해킹을 미연에 방지하고자 하는 목적을 갖고 있다. 내 경우에도 이 책을 번역하는 동안 해외에서 발송된 위장 메일을 몇 번 받은 적이 있는데, 이전과는 확실히 다른 감흥에 빠질 수밖에 없었다. 독자 여러분에게도 이 책이 침투 테스트에 대한 흥미로운 첫발을 내딛는 계기가 될 수 있기를 기대한다.
이제 게임은 우리의 일상에서 떼려야 뗄 수 없는 생활의 일부가 됐습니다. 특정한 공간과 시간에만 누릴 수 있었던 게임이 이제는 누구나 쉽게 언제 어디서나 즐길 수 있습니다. 또한 이전에는 소수의 사람이 전문적인 기술을 동원해 오랜 시간 공을 들여 게임을 만들었다면, 최근에는 전문적인 지식이 없더라도 다양하고 효과적인 툴의 도움을 받아 손쉽게 자기만의 게임을 만들 수 있게 됐습니다.
로블록스는 누구나 쉽게 게임을 만들 수 있는 시대의 선봉에 서 있습니다. 게임 엔진을 통해 게임을 만드는 것이 상식으로 자리잡은 게임 시장에서, 후발 주자인 로블록스가 눈에 띄는 성장을 할 수 있었던 것은 다른 게임 엔진들에 비해 더욱 쉽고 직관적으로 게임을 만들 수 있는 환경을 제공했기 때문입니다. 게임을 즐기는 사용자들로부터 오랫동안 사랑받았던 프로그래밍 언어인 루아를 사용하는 로블록스 스튜디오는 그 어떤 게임 엔진보다 쉽고 풍부한 게임 제작 경험을 제공할 것입니다.
이 책은 프로그래밍 언어로써의 루아가 가지고 있는 문법적 특징뿐만 아니라, 루아를 사용해 로블록스 게임을 만드는 법에 대해서도 자세하게 설명하고 있습니다. 또한 각 장마다 제공되는 연습문제로 게임에서 바로 활용할 수 있는 수준의 코드를 만들어 볼 수도 있습니다. 책의 내용을 충실히 따라간다면 조금씩 쌓이는 게임 제작 역량과 루아 프로그래밍에 대한 자신감을 체감하실 수 있을 겁니다.
이제 게임은 더 이상 청소년의 전유물이나 일부 어른들의 특이한 취미가 아니다. 21세기를 대표하는 문화 산업으로 성장했음은 물론, VR/AR 같은 새로운 기술 발전을 주도하면서 IT 산업에서도 최첨단의 영역으로 인지되고 있다. 이런 긍정적인 측면과 더불어, 게임 해킹이나 게임 과몰입 등 게임의 부정적인 측면 역시 간과할 수 없는 시대가 됐다. 게임 해킹의 역사는 게임의 역사와 동일하다. 게임이 생명을 갖는 시점에서부터 게임 해킹도 함께 시작된다. 최근에도 다양한 보안 기술로 무장한 게임들이 시장에 출시되고 있지만, 출시와 더불어 개발진들의 To Do 리스트 상단에는 해킹 이슈가 빠지지 않고 등장한다.
이 책은 메모리 스캐닝에서부터 반응형 해킹에 이르기까지 다양한 해킹 기법을 소개하고 있다. 봇을 만들고 이를 통해 게임 내부에 특정한 동작을 수행해 필요한 데이터를 변조하는 해킹 기법에 대부분의 지면을 할애하고 있다. 책의 후반부에는 최근에 유행하고 있는 반응형 해킹을 간단하게 소개하고 있으니, 이 부분 역시 독자들에게 많은 영감을 제공하리라 믿어 의심치 않는다. 원 저자가 제공하는 간단한 코드상에서 실제로 해킹 기법을 수행하고 원하는 결과를 얻었을 때의 쾌감을 독자 여러분이 직접 느껴보시기 바란다. 아울러 이 책이 해킹으로 인해 발생할 수 있는 리스크를 방지하는 훌륭한 첫걸음이 되기를 바라 마지않는다.
어린 시절부터 게임과 뗄 수 없는 삶을 살아왔다고 자부하지만 정작 게임이라는 대상 자체에 대해 깊이 고민해 본 적은 없었던 것 같습니다. 그저 막연하게 '게임이 현실을 대변하고 있다'는 정도로만 인지하고 있었고, 게임 디자인은 디자이너가 할 일이지 제가 관심을 가질 만한 분야가 아니라고 생각했습니다. 심지어 게임 QA로 게임업계에 입문한 다음에도 정작 QA의 대상이 되는 게임 자체를 이해하는 것보다 어떻게 QA를 잘 수행해야 할지만 고민했습니다. 늘 가까이 존재하는 것이었지만 굳이 게임이라는 대상에 대해 깊이 있게 고민해본 적이 없었던 것이죠. 책의 본문에도 나오지만 대부분의 사람이 우리가 사고하는 방식을 생각해본 적이 없었던 것처럼 제게는 게임도 그런 늘 당연하게 존재하는 사물 중의 하나였던 것입니다.
이 책은 우리가 살아가는 세계를 하나의 시스템으로 해석하고 이 '시스템'이 과연 무엇인지, 이 세계가 어떻게 시스템으로 구성돼 있는지 살펴봅니다. 이를 통해 늘 당연하게 여겼던 평범한 현실 혹은 진실을 다시 짚어보게 해줄 것입니다. 세상을 하나의 시스템으로 바라보는 시각은 게임을 디자인하고 제작하는 과정에서도 동일하게 적용될 수 있습니다. 이런 시각과 해석을 통해 저 역시 지금까지 단순히 업무의 대상으로, 혹은 즐거움의 대상으로만 바라보던 게임을 좀 더 깊이 있게 이해할 수 있었습니다. 독자 여러분도 늘 당연하게 바라보던 세상과 게임의 실체를 시스템이라는 관점을 통해 더 정확하게 이해할 수 있게 되기를 바랍니다.
최근 모바일 게임 엔진의 양대 산맥은 단연 언리얼과 유니티 엔진이다. 언리얼이 PC 기반의 게임시장에서도 여전히 그 명성을 유지하고 있음을 감안한다면 언리얼을 게임 업계에서 가장 활용도가 높은 엔진이라고 불러도 무방할 것이다.
이런 높은 인지도와 별개로, 일반적인 게임 플레이어나 이제 갓 업계에 입문한 개발자들이 엔진에 손을 대기란 쉬운 일이 아니었다. 마치 중세의 길드에서 소수의 장인들에 의해 단련되고 전승되는 공예 기술처럼, 게임 업계에서도 엔진을 다루는 일은 일부 엔진 개발자와 디자이너에 의해 연마되고 또 전승돼왔다.
최근 들어 엔진 개발사들의 라이선스 관련 정책이 유연하게 변경되면서 이런 장벽이 많이 낮아지기는 했지만, 여전히 게임 엔진을 처음 접하는 사람들은 어디서 어떻게 시작해야 할 지부터 고민하면서 난감해한다.
이 책이 언리얼 엔진을 통해 게임을 개발하려는 초보 개발자와 엔진에 관심이 있는 일반 유저들에게 선명한 첫발을 찍게 해줄 훌륭한 이정표가 되리라 믿어 의심치 않는다. 실제로 엔진을 구동하고 책을 따라가면서 언리얼 엔진에 대한 이해도를 높여가다 보면 어느샌가 익숙하게 엔진을 만지고 있는 스스로를 발견하게 될 것이다. 독자들이 이 책을 통해 겉으로 보기에 난해해 보이던 게임 엔진을 좀 더 쉽게 다룰 수 있게 되고, 좀 더 나아가 무언가 만들어낼 수 있다는 자신감을 얻게 된다면 책을 번역한 사람으로서 더할 나위 없이 기쁜 일이 될 것이다.
2021년 12월, ‘Matrix Awakens’라는 이름으로 언리얼 엔진 5의 테크 데모가 공개됐습니다. 10분 남짓한 이 영상을 보면서 지금까지의 게임 엔진과는 차원이 다른 새로운 시대의 게임 엔진이 등장했음을 알 수 있었습니다. 이전의 게임 엔진이 현실을 잘 모사하는 수준에 불과했다면, 새롭게 등장한 언리얼 엔진 5의 테크 데모는 어디까지가 실사인지, 어디까지가 엔진이 만들어낸 캐릭터인지 구분하기 힘들 정도였습니다. 이 영상이 발표된 이후, 설명이 추가되지 않는다면 실사인지 아닌지 구분할 수 없을 만큼 정교한 언리얼 엔진의 산출물들이 SNS와 미디어에 등장했습니다.
디즈니가 제작한 TV 시리즈인 <만달로리안>에 이르러서는 언리얼 엔진과 LED를 활용한 영상 촬영으로 또 한 단계 진화하는 모습을 보여줬습니다. 어쩌면 엔진으로 만들어내는 영상과 실사를 구별하는 것이 더 이상 큰 의미가 없는 시대일지도 모르겠습니다.
이런 기술적 진보의 중심에는 언리얼 엔진이라는 탄탄한 시스템이 자리 잡고 있습니다. 현대 게임의 역사에서 한 획을 그었을 뿐만 아니라 지금도 진화를 멈추지 않으면서 미디어 영상과 건축, 일반 산업의 영역에 이르기까지 점점 그 영향력을 넓혀가고 있습니다. 메타휴먼은 언리얼 엔진에 가장 친화적이고 최적화된 도구 중 하나로, 사람의 표정과 행동을 실제 수준에 가깝게 영상과 게임으로 옮기는 분야에서 확고한 포지션을 차지하고 있습니다. 메타휴먼을 통해 이전 세대의 영상 제작에서 ‘특수 효과’라는 단어로 지칭되던 고비용의 작업을 하나의 툴로 간편하게 치환할 수 있게 된 것입니다.
이 책은 언리얼 엔진과 메타휴먼을 중심으로 어떻게 실사에 가깝게 사람을 표현할 수 있는지를 다루고 있습니다. 메타휴먼을 비롯한 다양한 툴을 간단히 소개하고, 실제로 이를 사용해 캐릭터를 제작하는 방법도 충분히 자세하게 설명하고 있습니다. 따라서 실사에 가까운 영상들을 하나하나 제작해보면서 이전 세대에 존재하던 높은 기술과 비용의 허들이 얼마나 낮아지고 있는지를 체감할 수 있을 것입니다. 모쪼록 독자 여러분도 책을 따라 흥미로운 여정을 즐길 수 있길 바라 마지않습니다.마지막으로, 이 책을 통해 언리얼 메타휴먼의 새로운 세계를 접하게 될 독자 여러분께도 미리 감사의 말씀을 전합니다.
감사합니다.
게임 개발의 트렌드는 빠르게 변화하고 있습니다. 최근에는 언리얼과 유니티 같은 게임 엔진을 활용해 다양한 플랫폼에서 구동되는 게임을 개발하는 것이 업계의 표준으로 자리잡고 있습니다. 그중에서도 언리얼 엔진은 탁월한 성능을 기반으로 좀 더 현실에 가까운 산출물을 제공하면서 게임 시장에서의 명성을 확고하게 유지하고 있습니다.
이 책은 C++ 스크립트를 활용해 언리얼 게임을 만드는 방법을 소개합니다. 새로 입문하는 초보자들이 어려움을 느끼는 툴의 설치부터 시작해 기본적인 프로그래밍의 문법과 객체지향 프로그래밍의 개념 등, 게임 입문에 필요한 다양한 지식을 실무적인 관점에서 자세히 설명해주고 있습니다. 게임 개발에 필요한 모든 부분을 책 한 권으로 소개하기에는 어려움이 있지만, 이 책의 내용을 따라가다 보면 언리얼 블루프린트와 같이 자세히 소개하지 않는 분야에 대해서도 자연스럽게 배울 수 있을 것입니다.
번역을 진행하면서 최대한 책의 내용이 정상적으로 실행될 수 있도록 필요한 내용을 추가하고 본문을 수정했습니다. 모쪼록 책에서 전달하고자 하는 게임 개발에 필요한 기술적인 내용들이 독자 여러분에게 효과적으로 전달될 수 있길 바랍니다.