알라딘

헤더배너
상품평점 help

분류

이름:문기영

최근작
2023년 10월 <게임을 위한 AI 3/e>

게임을 위한 AI 3/e

『게임을 위한 AI 3/e』은 제가 번역을 맡기 이전에 원서를 직접 구매해 읽고 유용하게 참고한 책이었습니다. "이런 책은 많은 한국 게임 개발자가 읽었으면 좋겠다."는 생각이 있던 차에 번역 의뢰가 들어와 번역을 시작했습니다. 처음에 번역한 건 2판이었는데, 업무상 참관한 GDC(Game Developers Conference)에서 이 책의 3판 출간 소식을 접했습니다. 당시 번역이 마무리된 상태였기 때문에 2판을 그대로 출간해도 되지 않을까 생각했지만, 3판을 읽어보니 변경되거나 추가된 부분이 많았습니다. 결국 에이콘출판사 관계자분들과 상의한 후 3판을 번역해야 한다는 결론에 이르렀습니다. 덕분에 매우 두꺼워졌습니다! 개인적으로 열심히 번역했지만, 항상 부족함을 느낍니다. 원저의 명성에 먹칠하지 않을까 하는 조바심마저 듭니다. 역자는 아직(?) 현업에 종사하고 있는 게임 개발자로서 최대한 실무 용어를 그대로 사용하고자 굳이 한국어로 번역하지 않았습니다. 역자가 게임 개발을 시작했던 1999년에는 거의 상상하지 못했지만, 이 글을 쓰는 시점인 2023년에는 게임 개발 역시 글로벌화 돼가고 있습니다. 개발 팀도 한국인으로만 이뤄져 있지 않은 경우가 있는데, 따라서 용어 자체는 영문 그대로 배우는 것이 지금 당장은 사소한 불편이 있다 하더라도 이후에 커뮤니케이션 하는데 도움이 되리라는 믿음이 있기 때문입니다. 이제 책에 관해 이야기를 해보려 합니다. 이 책에서 다루는 AI 내용은 대부분의 게임 개발에서 사용하는 거의 모든 기술이라고 해도 과언이 아닙니다. 거의 전 분야에 걸친 게임 AI 개발 방법을 다루고 있기 때문에 일일이 나열하기보다 직접 목차를 봐주시면 좋을 것 같습니다. 또한 약간의 과장을 하자면 이 책에서 다루는 내용만 제대로 숙지해도 게임 개발에 사용되는 거의 모든 AI 기술을 안다고 말할 수 있다고 생각합니다. 2023년 현재는 비게임 개발 산업에서 사용되는 AI 기술(컴퓨터 비전 또는 LLM과 같은)이 게임 개발에 접목되는 경우도 있으며 반대의 사례도 상당히 많습니다. 이러한 내용은 이 책에서 깊게 다루고 있지 않지만, 그렇다고 해서 이 책에서 다루는 AI 기술이 구식이 됐다는 것은 결코 아닙니다. 앞으로 게임 AI에 이러한 AI 기술이 접목되면 우리가 지금까지 상상만 했던 게임이 개발되고 플레이해볼 수 있지 않을까 매우 기대됩니다. 아무쪼록 이 책에서 여러분들이 게임 개발에 사용되는 다양한 AI 개발 방법들을 배울 수 있기를 바라며 저 역시 게임 산업 종사자의 일원으로서 조금이나마 도움이 됐기를 바랍니다.

아이들과 함께하는 코딩 놀이

제가 컴퓨터를 처음 다룰 때만 해도 컴퓨터 프로그래밍은 전문가의 영역이었습니다. 전문가가 아니면 컴퓨터 프로그램이 어떻게 동작하는지 알 수 없었고, 직접 만든다는 것은 상상조차 할 수 없었습니다. 하지만 세월이 흘러 컴퓨터, 스마트폰, 각종 IOT 기계가 보편화되면서 프로그래밍이 우리 삶 깊숙이 들어오게 되었습니다. 더 많은 시간이 지나면 모든 사람이 컴퓨터 프로그래밍에 친숙해지는 시대가 올 것이라고 생각합니다. 제가 컴퓨터 프로그래밍을 공부한 지 20년이 지났지만, 처음 배우시는 분들에게 프로그래밍이란 여전히 어렵고 막막하게만 느껴지는 분야일 것입니다. 하지만 걱정하지 않으셔도 됩니다. 왜냐하면 스크래치(Scratch)를 따라 하다 보면 컴퓨터 프로그래밍의 동작 원리를 놀이처럼 매우 쉽게 접근할 수 있기 때문입니다. 저는 이 책을 통해 여러분이 자녀들과 함께 컴퓨터와 친숙해지고 앞으로 다가올 미래에 더 나은 삶을 영위하기 위한 준비를 하기 바랍니다.

언리얼 엔진 4 블루프린트 비주얼 스크립팅

이 책은 언리얼 엔진 4의 강력한 비주얼 스크립팅 기능인 블루프린트를 사용해 코드 하나 작성하지 않고 1인칭 슈터 게임을 처음부터 끝까지 만들어보며 게임 개발의 전체 과정을 경험하게 해줍니다. 1인칭 슈터 게임 개발에 필요한 캐릭터 이동과 총알 발사를 구현하고 행동 트리Behavior Tree를 사용해 적 캐릭터가 플레이어를 발견하면 플레이어를 쫓아와 공격하는 인공지능과, 소리를 감지해 플레이어의 위치를 추적하는 적 캐릭터 인공지능을 블루프린트만으로 만들어냅니다. 게임 플레이 기능을 모두 구현한 후 언리얼 엔진 4에서 제공하는 UMG를 사용해 게임 메뉴를 만들고 저장 및 불러오기를 구현해 플레이어가 게임을 종료했다가 다시 플레이해도 이전에 플레이하던 시점으로 돌아가도록 구현하는 방법도 배웁니다. 마지막으로, 완성된 게임을 빌드하고 배포하는 방법에 대해 다룹니다. 이 책에서 코드를 작성하는 방법을 가르쳐주진 않지만 블루프린트의 강력함으로 인해 코드 작성 없이도 완성된 게임 개발이 가능하며, 실제 블루프린트의 작성 방법이 코드를 작성하는 것과 크게 다를 바가 없어 이후에 프로그래밍 언어를 배우는 데도 많은 도움이 되리라 생각합니다. 저 역시 이 책을 따라 해보면서 블루프린트의 강력함을 다시 한 번 알게 됐고, 그 과정에서 언리얼 엔진 4를 처음 다루는 분들에게 이 책이 많은 도움이 될 것이라 확신합니다.

언리얼 UDK 게임 개발

UDK(UnrealEngine Development Kit)는 에픽(Epic)에서 무료로 제공하는 게임 엔진입니다. 여기서 게임 엔진이라 함은 게임을 제작하는 데 필요한 전반적인 기능과 API, 도구들의 모음이라고 볼 수 있습니다. UDK는 언리얼 엔진 3를 기반으로 하며, 언리얼 엔진 3에서 제공하는 거의 모든 기능을 사용할 수 있습니다. 이 책은 다양한 프로젝트를 만들어가며 게임 엔진의 사용법을 배울 수 있도록 구성되어 있습니다. 예를 들어 인디 게임 분야에서 가장 인기 있는 게임 장르 중 하나인 플랫포머 게임(슈퍼마리오와 같은 게임)을 코딩 한 줄 없이 오직 키즈멧(Kismet, UDK에서 제공하는 비주얼스크립트 도구)만 사용해서 처음부터 끝까지 차근차근 만들어 봅니다. 그 외에도 레일 슈터 장르인 비행 슈팅 게임, 사용자 정의 UI를 만드는 방법, 게임 레벨을 위한 효과적인 배경을 만드는 방법, 서양식 판타지 RPG 게임을 위한 인벤토리 시스템을 구성하는 방법, 게임 중 무기를 집거나, 버릴 수 있는 방법 등을 역시 코드를 전혀 작성하지 않고 오로지 키즈멧만 사용해 만들 수 있는지에 대해 배워 봅니다. UDK로 게임을 제작할 때는 전반적으로 키즈멧과 언리얼스크립트(UnrealScript)를 사용합니다. 이 책에서는 키즈멧을 프로젝트별로 어떻게 사용하는지를 다루고, 마지막으로 언리얼스크립트를 이용해 어떻게 UDK의 기능을 확장할 수 있는지 배웁니다. 이 책을 번역하는 중에 언리얼 엔진 4가 출시됐습니다. 버전 4의 가장 강력한 기능으로는 비주얼 스크립트 도구인 '블루 프린트'를 들 수 있습니다. 블루 프린트는 키즈멧의 업그레이드 버전이므로 이 책에서 설명하는 키즈멧의 도구 사용법에 익숙하다면 언리얼 엔진 4를 접할 때도 별다른 어려움이 없을 것이며 이 책의 내용이 많은 도움이 되리라 생각합니다. 마지막에 한국어판 특별 부록으로 언리얼 엔진 4의 블루 스크립트의 기본 사용법과 확장 가능성에 대한 글을 실었습니다. 독자들이 언리얼 게임 개발에 대해 학습하는 데 조금이라도 도움이 되기를 바랍니다.

유니티 2D 플랫포머 게임 개발

이 책은 게임 엔진 유니티를 사용해 2D 플랫포머 게임을 처음부터 끝까지 만드는 방법에 대한 책입니다. 개인적으로도 유니티를 사용해 다양한 장르의 게임을 개발했는데 항상 사용하면서 느끼지만 정말 편리하게 잘 만들었다는 느낌을 받습니다. 유니티는 게임 개발용으로 많이 사용하지만 실제로 게임 개발만 할 수 있는 도구가 아닙니다. 유니티는 건축 VR에도 사용되며 상호 작용 가능한 전자책과 같은 컨텐츠 개발에도 사용됩니다. 심지어는 노래방 기계에 사용되는 프로그램도 개발 가능합니다. 현재 유니티 게임 엔진은 매우 다양한 분야에서 사용되고 있으며 계속해서 사용자 편의성을 추가해 개선되고 있습니다. 이 책에서는 유니티 엔진을 이용해 2D 게임을 개발하는 방법을 다루고 있으며 특히 인디 게임 개발에서 가장 인기 있는 플랫포머라는 장르에 특화되어 처음부터 끝까지 개발하는 방법을 다루고 있습니다. 플랫포머 장르의 특징은 게임 월드가 존재하고 캐릭터를 움직여 점프나 타격 같은 액션을 취해 지정된 목표 지점이나 적들을 물리치는 것이 일반적입니다. <슈퍼 마리오>, <록맨>, <마계촌>과 같은 게임을 생각하면 플랫포머라는 장르가 어떤 게임인지 짐작할 수 있습니다. 게임에 등장하는 적들의 인공 지능, 타이밍에 맞춰 플레이어에게 도전 거리를 제공하는 시스템, 사운드를 플레이 하는 방법, 움직이는 장애물 구현과 같은 플랫포머 게임 개발에 필요한 다양한 방법들을 다루고 있어 따라 해보면서 프로젝트를 진행하면 간단한 수준의 플랫포머 게임을 혼자서 만들어 볼 수 있습니다. 아무쪼록 이 책이 독자 여러분께 도움이 되길 바라며.

유니티 게임 오디오 개발

흔히 말하는 AAA 타이틀 게임은 그래픽 품질, 게임성도 좋아야 하지만 사운드 품질도 좋아야 합니다. 하지만 개발 일정에서 마지막 단계로 미뤄지는 편이 대부분이었고 촉박한 일정 속에서 개발된 사운드의 품질이 좋을 리 없었습니다. 10여년 전에는 게임에서 사용하는 사운드라고 해봐야 단순히 특정 사운드를 조건에 따라 재생하는 것이 다였지만 이제는 시대가 많이 변했습니다. 이 책은 유니티 엔진을 사용하는 모든 사운드 디자이너 및 프로그래머들을 위한 책입니다. 기초적인 음악 및 작곡, 오디오 믹서, FMOD 및 리퍼 툴 사용법, 캐릭터 립싱크를 구현하는 방법, 오디오의 시각화, 어댑티브 오디오를 적용하는 방법, 마지막으로 유니티에서 제공하는 프로파일러를 통한 성능 측정 및 해결 방법을 다루고 있습니다. 이 책을 번역하면서 EA 캐나다에서 근무할 당시의 기억이 많이 났었습니다. 당시에 오디오 프로그래밍 팀이 따로 존재했었고, 많은 기술적 투자가 이뤄져 있었습니다. 믿겨지지 않겠지만 <피파>라는 게임에는 관중의 반응 소리를 위해 신경망을 도입했었고 이러한 예들은 어댑티브 오디오를 적용한 좋은 사례라고 볼 수 있습니다. AAA 타이틀 수준의 사운드를 구현하려면 굉장히 많은 부분에 대한 투자가 필요합니다. 시간이 많이 지났음에도 불구하고 여전히 국내에는 오디오 프로그래밍에 대한 중요도가 상당히 낮다고 느끼고 있으며, 아직도 많은 부분에 있어 개선이 필요하다고 생각합니다. 이 책에서 다루고 있는 내용들이 국내의 사운드 디자이너, 오디오 프로그래밍을 하는 분들에게 도움이 됐으면 합니다.

하루 만에 혼자서 배우는 언리얼 엔진 4

이 책은 하루 24시간을 장별로 구성해서 한 시간씩 강의 내용을 따라 예제를 실습해볼 수 있는 책입니다. 언리얼 엔진 4와 같이 매우 복잡한 소프트웨어는 처음 다뤄야 하는 분들에게 부담이 될 수밖에 없는데, 이 책은 한 시간씩 투자하는 것으로 결국에는 언리얼 엔진 4의 기능을 대부분 다룰 수 있게 구성돼 있습니다. 언리얼 엔진 4의 설치에서부터 시작해 액터의 배치, 지형 생성, 머터리얼 에디터를 사용한 머터리얼 제작, 오디오 재생, 블루프린트 스크립팅, 스켈레탈 애니메이션, UMG를 다루고, 마지막으로 이 모든 것들을 사용해 간단한 슈터 게임을 만들어봅니다. 이 책을 번역하면서 블루프린트 스크립팅뿐만 아니라 C++를 사용해 언리얼 엔진의 밑바닥 부분까지 다뤘으면 어땠을까라는 생각에 아쉬운 마음이 들기도 했지만, 이 부분은 게임 개발을 업으로 삼고 있는 사람들에게도 어려운 작업이므로 24시간 만에 학습하기에는 거의 불가능하지 않았을까라는 결론에 이르렀습니다. 다행이라면, 전문적인 개발자를 제외한 대부분의 분들은 블루프린트 스크립트만으로 게임 개발이 가능하며, 현재 그렇게 게임 개발이 이뤄지는 추세이기도 하다는 점입니다. 아무쪼록 이 책이 언리얼 엔진 4를 처음 접하는 분들에게 많은 도움이 되길 바랍니다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자