[IT가이드]생생한 게임 개발에 꼭 필요한 기본 물리

 생생한 게임 개발에 꼭 필요한 기본 물리

 데이비드 버그 지음/ 황혁기 옮김/ 한빛미디어 펴냄

 

 사실적이고 생동감 있는 게임 환경을 구성하고 그 속에 살아있는 듯한 캐릭터를 묘사하는 것은 게임 개발자에게 매우 중요한 목표다. 아무리 아름다운 환경과 멋있는 캐릭터가 만들어졌다 하더라도, 게임의 상황에 따른 생생하고 사실적인 움직임을 보여주지 못하면 사용자는 순식간에 몰입감을 상실하기 때문이다. 게임 프로그래머는 사실적인 움직임을 만들어내기 위해서는 물리 역학을 컴퓨터로 시뮬레이션하는 기법을 알 필요가 있다.

 우리의 실정을 보면 물리 역학을 응용한 게임이 매우 드물고 본격적으로 3D 게임을 선보인 지도 오래지 않다. 과거 2D 게임의 시대에는 게임 프로그래머에게 수학이나 물리학이 필요하지 않았고, 사칙연산만 제대로 할 수 있으면 나머지 게임 프로그래밍의 다양한 기법을 익히는 데 부족함이 없었지만 이제는 사실적인 3D 환경 구현 등 생생한 물리 역학의 응용이 게임 프로그래밍의 기본이 되었다.

 그런 의미에서 한빛미디어에서 번역 출간한 ‘생생한 게임 개발에 꼭 필요한 기본 물리’는 가뭄에 단비 같이 매우 반가운 책이다. 원제가 ‘Physics for Game Developers’인 이 책은 유명한 IT 전문 서적 출판사인 오라일리에서 올해 초에 출간한 책으로 제목처럼 게임 개발자 특히 게임 프로그래머를 위한 물리 책이다. 게임 프로그래머에게 필요한 기본적인 물리 개념과 원리를 소개하고 게임에 물리를 응용하는 데 필요한 지식을 담고 있다.

 특이하게도 이 책에는 요즘 프로그래밍 책답지 않게 샘플 프로그램의 소스를 담은 CD가 포함되어 있지 않다. 그 이유는 저자가 서문에서 밝혔듯이 단순히 특정한 문제를 해결하기 위한 해결책으로 샘플 프로그램의 소스만 전달하는 책이 아니라, 독자가 물리의 기본 개념과 원리를 터득해서 실제로 부딪치는 다양한 문제에 적용할 수 있는 능력을 길러주고자 의도된 책이기 때문이다. 그런 이유에서인지 책에 실린 프로그램의 소스도 C++가 아닌 C로 작성돼서 문제의 본질에 좀더 쉽게 접근할 수 있도록 했다. 그리고 물리라는 어려운 주제를 담고 있는 책임에도 불구하고 고등학교 수준의 물리 지식과 수학 지식만 되새길 수 있다면 충분히 이해할 수 있을 정도로 쉽게 쓰여졌다.

 책 전반부는 물리 역학의 기본 이론을 바탕으로 포탄, 비행기, 선박, 자동차 등의 움직임을 역학적으로 기술할 수 있는 구체적인 이론을 설명하고, 후반부는 이 이론을 바탕으로 실제로 여러 가지 물리 시뮬레이션 프로그램을 구현하는 방법을 다루고 있다. 전반적으로 물리를 알기 쉽게 군더더기 없이 잘 설명하고 있다.

 작은 아쉬움이라면 자동차의 운동 역학을 좀더 깊이 있게 다루지 못했다는 점인데, 다행스럽게도 번역이 잘 되었다는 점이다. 수리물리를 전공한 역자가 번역을 맡아 생소한 전문 용어를 적절하게 잘 번역했고 문장도 매우 매끄럽다. 또한 우리 실정에 맞는 기술을 추가하는 등 국내 개발자들에게 더 나은 정보를 제공하기 위한 편집진과 역자의 노력도 돋보인다. 이 책은 앞으로 물리학을 게임에 응용하려는 모든 현업 게임 프로그래머들은 물론 게임 프로그래머 지망생이 반드시 공부해야 하는 필독서가 될 것으로 보인다.

 <김성완 3D 게임개발 전문강사/게임개발 컨설턴트(http://www.g-matrix.pe.kr), kaswan@hitel.net>