메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

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

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

한빛미디어

번역서

절판

  • 저자 : 데이비드 버그
  • 번역 : 황혁기
  • 출간 : 2002-02-22
  • 페이지 : 488 쪽
  • ISBN : 8979141785
  • 물류코드 :1178
  • 초급 초중급 중급 중고급 고급
4.3점 (6명)
좋아요 : 22
게임 개발의 미래를 바꾼다!

"이 책은 사물을 어떻게 관찰하고 분석할지 기본 해법을 보여준다. 동역학, 공기역학, 유체역학 등 전문적인 지식을 일반인도 쉽게 게임에 응용할 수 있도록 자세하게 설명하고 있다. 특히 운동방정식 같은 물리학은 매우 중요하고 실질적인 해답을 주고 있으며, 우리가 만드는 게임에 날개를 달아줄 것이다!" -김영환(애드디지털 게임개발팀장)

게임에서 현실 세계와 같은 생생함을 전달하려면?

현실감을 얼마나 자연스럽게 살리는가는 게임을 만들 때 아주 중요한 문제이며, 게임의 매력을 좌우한다. 실세계를 면밀히 관찰하고 분석해야, 특히 게임 장면마다 눈길을 끄는 개체들을 정확히 이해해야 생생한 움직임을 구현할 수 있다. 하지만 이 일은 결코 쉽지 않다. 그렇다고 해답이 없는 것은 아니다. 사물의 움직임을 체계적으로 정리한 역학을 활용하면 된다. 이 책은 게임을 개발할 때 자주 접하는 물리학의 개념과 원리를 소개하고, 게임이나 시뮬레이션에 어떻게 응용할 수 있는지 자세히 설명한다. 물리학 전문가가 아니라도 충분히 이해할 수 있을 정도로 쉽게 설명했으며, 물리 기반 실제감을 이용해 게임의 수준을 높이고 싶어하는 개발자들에게 좋은 지침서가 될 것이다.

주요 내용
  • 당구공과 같은 물체의 충돌 및 충돌 후 움직임
  • 투수가 던지는 힘과 방향에 따른 야구공의 움직임
  • 레이싱 게임에서 생동감 있게 움직이는 자동차의 표현
  • 상황에 따라 변하는 로켓과 미사일의 자취
  • 항공기 및 선박의 구조와 움직임
  • 실시간 시뮬레이션
  • 2D 및 3D에서 표현되는 호버크라프트 구조와 움직임
  • 바람의 세기에 따라 달라지는 깃발의 모습
  • 기본적인 물리 개념 및 용어
데이비드 버그 저자

데이비드 버그

조선공학자이며, 컴퓨터 시뮬레이션을 하고, 물결이 선박과 보트의 움직임에 미치는 영향과 호버크라프트의 성능을 측정하는 분석 도구를 개발한다. 선박의 설계, 건조, 분석 분야에 대해 강의하기도 한다. 현장 엔지니어링 경험 외에 저자의 회사 Crescent Vision Interactive(http://www.crescentvision.com)에서 전문적으로 컴퓨터 게임 개발과 컨설팅을 하고 있다. 현재 진행하는 프로젝트 중에는 MMORPG, 자바 기반 멀티플레이어 게임 서넛, PC용을 매킨토시용으로 포트한 게임 등이 있다. 현재 공학·응용과학 분야에서 박사과정을 밟고 있다.
황혁기 역자

황혁기

현재 삼성생명과학연구소 연구원으로 생명정보학(Bioinformatics)과 집단유전학(Population Genetics) 분야에서 모델링을 하고 있다. 전에는 수리물리학(석사)을 전공하고 CERN의 DELPHI Collaboration에서 입자물리학 데이터를 분석했다. 수학과 이론물리학에 나오는 개념과 방법을 가능한 대로 다양한 분야에, 가령 생명과학과 기초의학, 금융경제, 정보기술 등에 적용하는 문제와 복잡한 대용량 데이터 처리와 분석에 관심이 많다.

1장. 기본 개념
     뉴튼의 운동 법칙
     단위와 측정
     좌표계
     벡터
     질량, 질량중심, 관성모멘트
     뉴튼의 운동 제2법칙
     관성 텐서

2장. 운동학
     들어가면서
     속도와 가속도
     가속도가 일정한 운동
     가속도가 변하는 운동
     2D 입자 운동
     3D 입자 운동
     입자 폭발 운동
     강체 운동
     상대 좌표축
     각속도와 각가속도

3장. 힘
     들어가면서
     힘마당
     마찰
     유체역학적 항력
     압력
     부력
     스프링과 댐퍼
     힘과 토크

4장. 동역학
     2D 입자동역학
     3D 입자동역학
     강체동역학

5장. 충돌
     충격량-운동량의 원리
     충돌
     선충격량과 각충격량
     마찰

6장. 발사물
     간단한 자취
     항력
     마그누스 효과
     가변 질량

7장. 항공기
     구조
     양력과 항력
     다른 힘
     조종
     모델링

8장. 선박
     뜸
     부피
     저항
     가상 질량

9장. 호버크라프트
     작동원리
     저항

10장. 자동차
     저항
     동력
     정지거리
     도로 옆경사

11장. 실시간 시뮬레이션
     운동방정식의 적분
     오일러 방법
     다른 방법

12장. 2D 강체 시뮬레이터
     모델
     적분
     조종 시스템
     렌더링

13장. 충돌반응 구현
     선형 충돌반응
     회전 효과

14장. 강체 회전
     회전 행렬
     사원수

15장. 3D 강체 시뮬레이터
     모델
     적분
     조종 시스템
     렌더링

16장. 3D 다체
     모델
     적분
     충돌반응
     조정

17장. 입자 시스템
     모델
     적분
     충돌반응
     조정

부록 A. 벡터 연산
부록 B. 행렬 연산
부록 C. 사원수 연산
부록 D. 기본 용어
부록 E. 리소스

처음 이 책의 차례를 보고서는 당혹감을 감추지 못했다. 분명 게임 관련 책인데 무슨 동역학이니 운동학이니 이런 내용이 있고...

하지만 당황하지 마시라!!! 물론 게임 개발자를 위한 책이긴 하지만 일반인들이 보기에도 충분히 흥미로운 내용이라 믿는다. 요즘 게임을 보면 2D건 3D건 그래픽의 현란함에 입을 다물지 못하는데 이들 그래픽의 연출에 도입되는 여러 물리학 관련 이론들을 상세히 설명하고 있다.

넋을 잃고 구경했던 멋드러진 게임 오프닝들이 어떤 식으로 탄생하는가를 살펴보는 건 게임의 재미를 배가시키는 한 요소가 될 수도 있을 것이다.

이 책을 구입하게 된 동기는 3D의 기본이 되는 물리의 원리에 대해 공부하기 위해서였습니다. 물리의 기초가 부족한 저로서는 어려운 책보다는 쉽게 쓰여진 책이 필요했고, 기본적으로 게임이나 3D 그래픽스에 필요한 물리를 배워야 할 필요가 있었습니다. 이 책을 통해 제가 필요한 부분을 많이 공부할 수 있었습니다. 다른 책들의 경우, 범용적인 물리를 위해서 쓰여져 있어 불필요한 내용이 너무 많고, 이론에 치우쳐 너무 어려운 경향이 있었지만, 이 책은 기본적인 게임 개발에만 필요한 물리 분야만을 뽑아서 쉽게 설명한 것이 장점이었습니다.

솔직히 난 어려웠다...ㅜㅜ



한동안 기초를 튼튼히 하자는 바람이 불던 시절...여러 서점 사이트들을 돌아다녀보면서 서평이 다들 좋았던 이 책을 무턱대고 구입해버렸다.



개발자라면 기본 물리는 알아야된다길래...그런데 이게 웬걸...



분명히 책에도 기본적인 실력만 있으면 책을 보는데 전혀 문제가 없다고 하였거늘...



내가 기본적인 실력이 매우 떨어지긴 하나보다...그나마 가끔씩 읽으면서 이해가 되는 부분들도 있긴 했지만, 전반적으로는 아니었다.



그리고 이해가 되는 부분들도 실제적으로 프로그램에 적용하기에는 너무나 내용이 빈약했다. 읽다보면 이게 다야? 하는 생각이 들었다. 물론 아주 능력이 좋으신 분들은 그런 내용을 응용하기도 하고 어려운 부분들을 이해하여 사용하고 계시겠지만 말이다...



혹 이 책을 구입하시고자 하는 분이 계신다면 아무 챕터나 골라서 읽어보시고 충분히 이해가 된다고 하실 때만 구입하시길 바란다.

- 게임 개발자들에게 꼭 필요했던 책.
게임 개발팀 내의 프로그래머 파트에서도 작업이 세분화되고 전문화 되어서 두루 다 잘 안다는 것은 불가능한 시절이 되었다. 저마다 전문으로 맡는 분야가 있어서 자연스럽게 그 쪽으로만 신경을 쓰고 공부할 수 밖에 없는데, 그 중에서도 이때까지의 (대부분 전산학을 전공하거나 프로그래밍 특히 그래픽에만 신경을 써왔던) 프로그래머들한테 전혀 생소할 수 밖에 없는 유일한 분야가 바로 물리이다.

게임에 물리가 쓰이면 얼마나 쓰이겠나 하고 반문하는 사람이 있을 수 있다. 하지만 거의 real time simulation에 가까운 게임들이 만들어 지고 있는 현재 상황을 모르고 하는 말이겠지. 실제로 해외의 유명한 게임 개발자들 중에는 물리학이나 기계 공학 등의 역학 관련 전공을 한 사람들이 많고 또한 좋은 게임을 만들고 있다.



그러나 프로그래머가 널리고 널렸다 하더라도 제대로 된 프로그래머 구하기는 힘들고, 제대로 된 게임 프로그래머 구하기는 더더욱 힘들고, 제대로 물리 전공 했는데 게임 프로그래밍 하고 있는 사람 구하기는 하늘에 별따기다. 답답해서 그깟 거 내가 하지 뭐 라고 맘 먹었다면, 이 책을 사 봐라. 적어도 물리가 ‘그깟 거"는 아님을 알 테니. 이 책은 사실 실제 개발자 보다는 팀장급과 기획자들에게 더 필요한 책이다. 대체 어디에 물리가 쓰여야 하는 거지? 하는 질문에 모호해 하고 있던.



-물리를 "다시" 배우고 싶은 게임 프로그래머들을 위한 책.
책의 서문을 보면 고등 학교 수준의 물리를 아는 사람이면 쉽게 읽을 수 있게 썼다고 했다. 공대를 지망해서 열심히 물리며 수학을 공부해서 대학에 간 사람이 있다 하자. 그렇지만 컴퓨터 관련 일을 몇 년 하는 동안 물리는 몽땅 까먹고 F = ma 도 제대로 적용하기 힘든 자신을 발견할 수 있을 것이다. 그런 사람들이라면, 옛날에 보던 기초 물리책이라도 가져다 놓고 이 책을 찬찬히 살펴 보길 바란다. "이런 걸 배웠었지" 부터 시작해서, "배울 때는 몰랐었는데 게임에서 이렇게 쓰이는 구나" 등등의 끄덕임을 나올 것이다.



그래도 여전히 이 책이 어려워 보인다면? 그건 사실 책 읽는 사람 탓이 아니라 책 탓이다. 여전히 수학 기호며 물리 공식에 익숙하지 않은 사람들에게 이 책은 너무 읽기가 힘들다. 심지어 물리학과나 기계공학과 등에서 전공 과목으로 배우는 동역학이며 유체역학 지식들과 대학 수준의 기호들이 간간이 동원되므로 더더욱 그렇다.



-그러나 ‘기본 물리’일 뿐.
그렇다면 그런 지식을 두루 갖춘 사람들에게는 이 책이 쉬운가? 쉽다. 무진장 쉽다 못해 수박 겉핧기 같다. 상당량의 코드와 구현 요령이 여기저기 있지만 아주 기본적인 수준이다. 어느 정도냐 하면, 물리 비전공자가 이 책을 읽고 다행히 모두 이해를 했다 하더라도 그것만으로는 게임 개발이 힘들 정도이다.



확실히 ‘이런 곳에 물리가 필요하다, 이건 대충 돌아가는 방식이 이렇다"를 쓴 책이지 ‘이런 물리는 이렇게 구현해라’하는 책은 아닌 것 같다. 기계공학 전공에 전산학 부전공을 했으며 아이러니컬하게도 지금 게임 프로그래머인 나로서는 이 어중간한 책은 둘 중 그 어느 것에도 확실한 답을 주지 못했다는 느낌이다. 전자의 주제만도 완벽히 커버하지 못했달까. 사실 물리도 한두 분야가 아니지 않은가.



-그냥 읽어라. 그것만으로도 충분하다.
실컷 험담을 한 것 같지만 제목에도 썼듯이 이 책은 꼭 나왔어야 했던 책이다. 그리고 정말 잘 쓰여졌다. 어려운 기호가 많고, 반면에 담고 있는 전문지식이 모자란다고 해도, 그 문제를 최소화 해낸 책이다.



말했듯이 기획자거나 물리가 필요한 게임을 개발하는 팀의 프로그래머 팀장이라면 꼭! 이 책을 사다가 읽어라. 어려운 기호나 공식은 건너뛰며 읽는다 해도 이 책의 효과는 충분하다. 최소한 물리가 어떤 것이다 라는 건 알게 되니까. 게임 물리를 본격적으로 얘기하기 시작한 최초이며 유일한 책이라는 것만으로도 이 책은 충분히 가치가 있다.

이 책은 그동안 KGDA(한국 게임 개발자 협의회)에 원서인 『physics for game developers』가 먼저 소개되면서부터 많은 개발자들의 관심을 끌어왔던 도서이다. 게임 개발의 패러다임이 기존의 2D 환경 에서 3D로 변화되면서 그동안 물리에 관심을 가지지 않았던 게임 개발자들도 이제는 3D 가상 환경의 구현에 있어서의 물리의 중요성을 깨닫게 된 것이 사실이다. 그리고 그와 함께 개발자들은 물리와 관련한 보다 좋은 정보를 찾기 위해 많은 노력을 기울이고 있다. 그리고 이 시점에서의 빠르게 번역되어 출간된 『생생한 게임 개발에 꼭 필요한 기본 물리』는 그야말로 게임 프로그래머들에게는 마치 가뭄의 단비같은 존재라 할 수 있을 것이다.



이 책의 내용에 대해 간단히 소개하자면 게임을 개발할 때 그리고 게임 내에서 보다 실제감있는 세계를 구현하기 위해서 알아두어야 할 물리학의 개념과 원리에 대해 소개하고 있으며, 또한 그것을 게임이나 시뮬레이션에 어떻게 응용할 수 있는지에 대해 보다 자세히 설명하고 있다. 중요한 점은 책의 내용이 물리학 전문가가 아니라도 충분히 이해할 수 있을 정도로 쉽게 설명하고 있다는 점이며, 게임 개발자가 이 책을 읽다보면 사물에 움직임에 대한 물리학적인 이해를 키워나갈 수 있다는 점이다. 그렇기에 이 책은 물리에 대한 접근을 원하는 프로그래머들에게 추천하고 싶다.



또한 부록으로 나와있는 벡터연산, 행렬 연산, 사원수 연산에 대한 소개 또한 저자의 세심한 배려가 느껴지는 부분이다. 한가지 덧붙이자면 개발자가 이 책을 읽고 곧바로 심도 깊은 3D 게임에서의 물리의 구현을 원하는 것은 당연하겠지만 그것은 개발자 스스로의 노력이 뒷받침 된 후라는 것이다. 보다 깊이 있는 물리학에 대한 연구는 이 책을 바탕으로 웹사이트나 기타 학술지를 통해 정보를 스스로 얻어가야 할 것이다. 그럼에도 이 책은 개발자의 물리에 대한 첫 발걸음으로는 손색이 없는 책임에는 분명하다.



이제 게임 개발자들은 자신의 게임 내에서 구현해야 할 기본적인 물리들에 대해서 어느 정도의 두려움을 떨쳐버리고 보다 적극적인 물리에 대한 접근을 시도해야 할 때이다. 지금 3D 게임을 제작해야 한다면, 또는 앞으로 보다 물리 역학에 기반을 둔 3D 게임을 제작하고 싶다면 말이다.




한국 게임 개발자 협의회(KGDA)
정무식

게임 개발자에게 있어 사실적이고 생동감 있는 게임 환경을 구성하고 그 속에 살아있는 듯한 캐릭터를 묘사하는 것은 매우 중요한 목표이다. 그래픽 아티스트 손에서 아무리 아름다운 환경과 멋있는 캐릭터가 만들어졌다 하더라도, 게임의 상황에 따른 생생하고 사실적인 움직임을 보여주지 못하면 사용자는 순식간에 몰입감을 상실하고 말 것이다.



게임 속의 다양한 개체가 사실적이면서도 상황에 따라 인터렉티브하게 움직이도록 구현하는 것은 전적으로 게임 프로그래머의 손에 달렸다. 하지만 이러한 사실적인 움직임을 인터렉티브하게 만들어 내기 위해서는 물리 역학을 컴퓨터로 시뮬레이션하는 기법이 필요하다. 흔히 비행 시뮬레이션 게임이나 레이싱 게임에나 이런 난해한 기법이 필요한 것으로 알고 있는데, 사용자의 시스템 사양이 높아짐에 따라 일반적인 3차원 액션 게임에서도 물리 역학의 응용이 예사로운 일이 되어가고 있다.



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



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



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



이 책은 크게 두 부분으로 구성되어 있는데, 전반부는 물리 역학의 기본 이론을 바탕으로 포탄, 비행기, 선박, 자동차 등의 움직임을 역학적으로 기술할 수 있는 구체적인 이론을 설명하고, 후반부는 이 이론을 바탕으로 실제로 여러 가지 물리 시뮬레이션 프로그램을 구현하는 방법을 다루고 있다. 전반적으로 물리를 알기 쉽게 군더더기 없이 잘 설명하고 있다. 하지만 한가지 아쉬운 점이 있다면 쉬운 책을 지향하다 보니 자동차의 운동 역학에 대해서는 깊이 있게 다루지 않은 점이다. 오히려 자동차가 비행기에 비해 충돌검사도 까다롭고 역학 처리가 더 복잡하기 때문에 쉬운 책이라는 목표에서는 벗어나긴 하지만 자동차 레이싱 게임 개발에 관심 있는 이들에게는 좀 아쉬운 부분이다.



작은 아쉬움에도 불구하고 정말 다행스러운 점은 잘 번역된 책이 나왔다는 점이다. 컴퓨터 관련 서적의 번역이 종종 비전문가의 손에 의해 날림으로 번역되어서 독자의 원성을 사는 일이 흔한데, 이 책은 수리물리를 전공한 역자가 번역을 맡아서 생소한 전문 용어를 적절하게 잘 번역했고 문장도 매우 매끄러운 편이다. 그리고 원서를 단순히 그대로 번역하는 데 머무르지 않고 우리나라 실정에 맡게 부가적인 정보도 추가해서 오히려 원서보다 더 좋은 책이 된 것 같다. 이 책은 앞으로 물리학을 게임에 응용하려는 모든 현업 게임 프로그래머들은 물론 게임 프로그래머 지망생이 반드시 공부해야 하는 필독서가 될 것으로 보인다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
생생한 게임 개발에 꼭 필요한 기본 물리
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
생생한 게임 개발에 꼭 필요한 기본 물리
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
생생한 게임 개발에 꼭 필요한 기본 물리
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실