도서명 : Game Programming Gems 6
저자 : Michael Dickheiser 등저/류광 역
발행일 : 2009년 04월 14일
ISBN : 9788996103851
정가 : 39,000원
구매하기 : 강컴닷컴 | 인터파크 | YES24


 



책소개

게임 프로그래머들의 영원한 베스트셀러 Game Programmig Gems 시리즈의 여섯 번째 책을 한국어로 번역하였다. AI 프로그래밍과 시스템 아키텍처에 초점을 두고 10년간 컴퓨터 게임 산업에서 일한 경험이 있는 저자의 50편에 달하는 글이 수록되어 있다. 시간이 지날수록 새로운 게임 플랫폼, 지능적인 AI를 플레이어들은 요구하지만, 개발자의 입장에서는 견고한 팀과 더 긴 일정, 그리고 개발 비용 증가 문제와 마주치게 된다.

이 책은 개발 비용은 줄이면서 유저들의 기대에 부응할 수 있는 프로그래밍 일반, 인공지능, 스크립팅 및 자료주도적 시스템, 그래픽을 개발하는 방법들이 실려있다. 특히 스크립팅 및 자료주도적 시스템이 새롭게 추가되어 프로그래머가 자료를 일일이 다루는 루프를 더 이상 짤 필요가 없게 되고 있는 최근의 경향을 반영하였다.

** CD부록은 '와우북스 자료실'에서도 내려 받을 수 있다.

저자 소개

저자 : Michael Dickheiser

주로 AI 프로그래밍과 시스템 아키텍처에 초점을 두고 10년간 컴퓨터 게임 산업에서 일했다. 'Ghost Recon' 제품군(Red Storm Entertainment)에도 참여한 바 있는 Michael은 현재 Applied Research Associates, Inc.의 선임 전산학자로서 미군을 위한 3D 시뮬레이션 및 훈련 시스템을 만들고 있다. 그는 North Carolina State University의 인공지능 대학원 연구원이기도 하다.

저자 : Mark DeLoura

Game Programming Gems 시리즈의 창설자로, 현재 Sony Computer Entertainment America에서 개발자 관계 관리자로 일하면서 PlayStation과 미래의 오락 매체 제품들에 초점을 두고 일하고 있다.

역자 : 류광

1996년부터 활동해온 프로그래밍 서적 전문 번역가로, 'Game Programming Gems' 시리즈를 비롯한 게임 프로그래밍 서적 다수와 Knuth 교수의 고전 '컴퓨터 프로그래밍의 예술(The Art Of Computer Programming)' 시리즈 전권(1, 2, 3), 'Beautiful Code: 38인의 코딩 명장들이 말하는 내 생애 가장 아름다운 코드', 'C++ 병렬·분산 프로그래밍', 'UNIX 고급 프로그래밍 제2판'(APUE2)등 다양한 분야의 프로그래밍 서적 다수를 번역했다.

번역과 프로그래밍 외에 소프트웨어 문서화에도 많은 관심을 가지고 있으며, 수많은 오픈소스 프로젝트들의 표준 문서 형식으로 쓰이는 DocBook의 국내 사용자 모임인 닥북 한국(http://docbook.kr/)의 일원이다. 현재 번역서 정보 사이트 occam's Razor(http://occamsrazr.net/)와 Game Programming Gems 스터디 사이트 GPGstudy.com(http://www.gpgstudy.com/)을 운영하고 있다.

목차

들어가며
서문
표지 그림에 대하여
저자 소개

SECTION 1 프로그래밍 일반

1.1 무잠금 알고리즘들
1.2 OpenMP를 이용한 다중 코어 프로세서 활용
1.3 OpenCV 라이브러리를 이용한 게임에서의 게임 컴퓨터 시각 활용
1.4 게임 객체의 지리 격자 등록
1.5 BSP 기법들
1.6 최근접 문자열 부합 알고리즘
1.7 CppUnit을 이용한 단위 검사 구현
1.8 저작권 침해의 억제 및 검출을 위한 출시전 빌드 지문 적용
1.9 접근 기반 파일 재배치를 이용한 빠른 파일 적재
1.10 빠른 반복을 위한 실행시점 자산 즉석 적재

SECTION 2 수학과 물리

2.1 부동소수점 비법들
2.2 동차 좌표를 이용한, 투영 공간 안에서의 GPU 계산
2.3 외적으로 1차 연립방정식 풀기
2.4 게임 개발을 위한 순차 색인 기법
2.5 다면체의 정확한 부력
2.6 강체와 상호작용하는 실시간 입자 기반 유체 시뮬레이션

SECTION 3 인공지능

3.1 모형 기반 의사결정 방법을 게임에 적용: Locust AI 엔진을 Quake III에 적용하기
3.2 자율 NPC들의 협동 구현
3.3 게임을 위한 행동 기반 로봇 아키텍처
3.4 퍼지 감지기, 유한상태 행동, 행동망으로 목표 지향적 Unreal Tournament 봇 만
...  

var single=false; var checkedList; $(document).ready(function() { $(".selPlayer").bind("click", function() { single = false; playing(false,this); return false; }); $(".singlePlayer").bind("click", function() { $("#" + $(this).attr("tag_t")).find(":checkbox:checked").each(function() { this.checked = false; }); single = true; $(this).siblings('input').attr("checked", "checked"); //$(".selPlayer").click(); playing(true,this); return false; }); }); function playing(isSingle,obj) { checkedList = ""; var diskNoList = $('#' + $(obj).attr("diskNoList")).find(':checkbox:checked'); if (!isSingle) { if (diskNoList.length == 0) { alert("트랙을 선택하여 주세요"); return false; } } var form = get_formInstance(); $(diskNoList).each(function() { if ($(this).val() != "on") { var oInput = document.createElement("INPUT"); oInput.type = "hidden"; oInput.id = "chkTrackList"; oInput.name = "chkTrackList"; oInput.value = $(this).val(); form.appendChild(oInput); } }); oInput = document.createElement("INPUT"); oInput.type = "hidden"; oInput.id = "goodsNo"; oInput.name = "goodsNo"; oInput.value = "3273049"; form.appendChild(oInput); oInput = document.createElement("INPUT"); oInput.type = "hidden"; oInput.id = "CategoryNumber"; oInput.name = "CategoryNumber"; oInput.value = "003"; form.appendChild(oInput); var openWindowStyle = "width=430,height=230,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no;fullscreen;"; var actStr = '/Goods/player/PreMusicPlayer.aspx'; rtn = window.open("", "PreMusicPlay", openWindowStyle); form.action = actStr; form.target = 'PreMusicPlay'; if(single){ form.method="get"; } form.submit(); }

출판사 리뷰

게임 프로그래머들의 영원한 베스트셀러 Game Programming Gems 시리즈의 여섯 번째 책!! 개발팀이 계속 커지고 팀원들에게 좀 더 전문화된 능력이 요구되는 현실에서 게임 개발자는 자신의 전문 분야에 대해 언제라도 참고할 수 있는 자료를 갖추어야 하며, 또한 자신의 전문 분야 바깥의 일에 대해서도 뭔가를 배우고 참고할 수 있을만한 자료를 마련해 두어야 한다. 이 책은 바로 그러한 요구를 염두에 두고 만들어졌다.

새로운 게임 플랫폼들이 등장하면서 플레이어들은 고품질 모형과 애니메이션, 더 멋진 물리 및 그래픽 효과, 좀 더 지능적인 AI를 기대한다. 이러한 기대를 만족하려면 견고한 팀과 더 긴 일정이 필요하며, 이는 비용 증가로 이어진다. 이 책에 수록된 50여 편의 글들이 비용을 조금이라도 절감하는 데 도움이 될 것이다. 또한 이번 6권에는 "스크립팅 및 자료주도 시스템"을 전문적으로 다루는 새로운 섹션이 도입되었다. 프로그래머가 자료를 일일이 다루는 루프를 더 이상 짤 필요가 없게 하는 경향이 강해지고 있는데, 새 섹션은 바로 그러한 경향에 초점을 둔 것이다.

독자가 이 흥미로운 여정을 막 시작한 신참 게임 프로그래머이든, 산전수전 다 겪은 업계 베테랑이든, 아니면 외부 세계에서 온 고마운 방문자이든, 이 책에서 영감과 통찰을 얻을 수 있을 것이며, 독자가 만든 게임 세계에서 보석처럼 빛날 기법들을 발견할 수 있을 것이다.

도서 특징
프로그래밍 일반: 다중 코어 활용, 무잠금 알고리즘, 단위 검사, 지문 적용, 빠른 파일 적재
수학 및 물리: 부동소수점 요령, 동차좌표 활용, 유체 시뮬레이션
인공지능: 모형 기반 의사결정, 행동망, 퍼지 유한상태기계, 지지벡터기계
스크립팅 및 자료주도적 시스템: 스크립팅 언어 개괄, C++/Lua 연동, 다중 스레드로 스크립트 실행
그래픽: 준 유향 경계상자, 스킨 분할, GPU 지형 및 유체 렌더링, HDR 렌더링
오디오: 변형 가능 메시에서 실시간 소리 생성, 잠재 가청 집합, 도플러 효과
네트워크 및 다중 플레이어: TCP에서 NAT 뚫기, 복잡계 기반 MMP 게임 아키텍처, 효과적인 GUID 생성