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

한빛출판네트워크

세가의 신입 사원 교육 과정에서 배우는 게임 프로그래밍의 정석

한빛미디어

번역서

판매중

  • 저자 : 히라야마 타카시
  • 번역 : 김성훈
  • 출간 : 2012-02-25
  • 페이지 : 1008 쪽
  • ISBN : 9788979148992
  • 물류코드 :1899
초급 초중급 중급 중고급 고급
4.3점 (7명)
좋아요 : 51

세가의 신입 사원 교육 과정에서 배우는 게임 프로그래밍의 정석

저자는 주식회사 세가에서 <전뇌전기 버츄어 온 마즈>(PS2), <파워 스매시3>(PS3) 개발에 참여했다. 저자가 담당했던 세가의 신입 사원 교육 프로그램을 바탕으로 게임 프로그래밍에 필요한 기술을 책으로 담았다. 콘솔 게임에서 시작해서 2D 게임, DirectX에서 3D 게임까지 게임 제작 전반을 단계별로 설명한다. 현업에서의 게임 제작 경험을 바탕으로 왜 이 기술을 사용해야 하는지, 왜 이런 프로그래밍 기법을 사용하는지 설명하며 예제를 보여주므로 현업에서 원하는 기술의 기초를 학습할 수 있다.

  • 이미지 파일 사용법
  • 문자 처리
  • 평면 충돌 처리
  • 입력장치 처리: 키보드, 마우스, 조이스틱
  • 사운드 처리
  • 2D 그래픽 이론
  • 3D 그래픽의 기초: 은면소거, Z버퍼, 투시 변환, 행렬, 벡터
  • 입체의 충돌 처리
  • 라이팅, 레이 트레이스, 램버트 모델
  • 캐릭터 애니메이션
  • 게임 로딩: 분할 기법과 압축 기법
  • 폭탄맨 제작
  • 로보 파이트 제작
저자

히라야마 타카시

교토대학 대학원 공학연구과에서 유전자 연구를 공부했고 수료 후 ㈜세가에 입사했다. 그 후 전뇌전기 버츄어 온 마즈(PS2) 및 파워 스매시3(아케이드, PS3) 개발에 참가하고 현재에 이르렀다. 전뇌전기 버츄어 온 마즈에서는 이펙트와 데모 등을 파워 스매시3에서는 그래픽 엔진과 직물 시뮬레이터 등 라이브러리를 담당했다.

역자

김성훈

주로 IT 관련 서적을 번역하는 번역가. 주요 번역서로 『C가 보이는 그림책』, 『프로그래밍이 보이는 그림책』, 『게임 프로그래밍의 정석』, 『웹을 지탱하는 기술』, 『Objective-C 프로그래밍』, 『안드로이드 개발 레벨업 교과서』, 『실무에서 바로 통하는 자바』, 『C 이보다 쉬울 순 없다』, 『iOS 디버그 & 최적화 기법』, 『UML 모델링의 본질』, 『프로가 가르쳐주는 시퀀스 제어』, 『만화로 쉽게 배우는 선형대수』 등이 있다. 

CHAPTER  00  머리말
  01 이 책은 어떤 책인가
  02 대상 독자
    필요한 기술
  03 필요한 준비
    컴파일러와 운영체제
    DirectX
    CPU와 메모리
    그래픽 하드웨어
    그래픽과 음악 소재
  04 이 책 진행 방법
  05 이 책 학습 방법
  06 예제 코드
    소프트웨어 등 사용 허가서
 
Part  I    2차원 게임
 
CHAPTER  01  처음 만드는 게임
  1.1 퍼즐 게임을 만들자
    예제
    준비
    메인 루프
    처리 내용을 작성한다
    검사
  1.2 예제 코드
    헤더 포함
    스테이지 데이터 상수
    열거형
    함수 프로토타입
    main 함수
    스테이지 초기화
    화면 그리기
    갱신
    클리어 판정
    정리
  1.3 스테이지 데이터를 읽자
    준비
    데이터 형식
    스테이지 크기
    오류 처리
    예제 코드
  1.4 C++ 보충
    이름공간
    템플릿
    생성자와 소멸자
    초기 설정
    멤버함수에서 const
    두 가지 delete
    문자열 상수
  1.5 팁: 플래그와 비트 연산
    플래그
    플래그 저장
    계산으로 플래그를 추출하는 방법
    곱셈 나눗셈과 시프트 연산
    비트 연산을 사용한다
    플래그를 온으로 하자
    플래그를 오프로 하자
    여러 플래그를 한 번에 조작한다
    16진수
  1.6 팁: 포인터와 메모리
    메모리는 배열이다
    포인터
    포인터와 배열
    0 포인터
    포인터 형
    new와 delete
    배열과 new 차이
    포인터 정리
  1.7 팁: 참조
    참조와 포인터
    성능 향상을 위한 포인터와 참조
    참조 문제점
    참조 '반환'에 주의
  1.8 정리
 
CHAPTER  02  점에서 시작하는 2D 그래픽
  2.1 2D 그래픽
    라이브러리
  2.2 준비
    라이브러리 경로를 설정한다
    디버그와 릴리스
    환경변수
    멤버함수
    앞 장에 cout, cin과의 차이
  2.3 점을 찍자
    예제 코드
  2.4 배달맨을 이식한다
    그래픽이 나오지 않는 배달맨 만들기
    배달맨에 그래픽을 덧붙인다
    그래픽을 확대한다
  2.5 팁: 종료 처리
    종료 처리용 함수
    종료 처리가 필요한 이유
  2.6 정리
 
CHAPTER  03  이미지 파일을 사용하자
  3.1 파일에서 이미지를 읽는다
    이미지 형식
    DDS 이미지를 준비한다
    DDS 구조를 조사한다
    데이터를 추출하자
    사각형 화면에 붙인다
    이미지 일부를 잘라내자
    배달맨에 적용하자
  3.2 그래픽 버전인 배달맨 예제 코드
    전체 구성
    maincpp
    Statecpp
    Filecpp
    Imagecpp
  3.3 알파 채널을 사용한다
    알파 테스트
    배달맨에 도입한다
    알파 블렌딩
    배달맨에 적용하자
  3.4 포함 관계 결정 방법
    전통적인 방법
    문제점은 무엇인가
    정의와 선언
    인클루드 가드
    결국 어떻게 하면 되는가
    헤더 인클루드를 생각하는 의미
  3.5 팁: 알파 블렌딩 최적화
    정수로 계산한다
    시프트를 지우자
  3.6 팁: 가산 블렌딩
  3.7 정리
 
CHAPTER  04  실시간 게임
  4.1 실시간 게임
    어디를 수정해야 하는가
    새로운 입력 함수: Framework::isKeyOn()
    입력 페이스 조정
  4.2 애니메이션을 만들자
  4.3 애니메이션이 들어간 배달맨 예제 코드
    Stateh
    Statecpp
  4.4 프레임 레이트를 구한다
    프레임 레이트 계산
  4.5 프레임 레이트 차이에 대응한다
    프레임 레이트를 고정한다
    unsigned 범위를 넘었을 때 대처
  4.6 팁: 프레임 레이트에 맞게 게임 속도를 바꾸는 방법
    좋은 점과 나쁜 점
    만들어 본다
    예제 코드
    unsigned와 int
    가변 프레임 레이트와 고정 프레임 레이트 비교
  4.7 팁: 티어링 문제
    티어링을 어떻게 잡을 수 있을까
  4.8 정리
 
CHAPTER  05  간단한 시퀀스 전이
  5.1 라이브러리 추가 기능
    입력 취득 기능
    프레임 레이트 관련 기능
    편리한 매크로
  5.2 단순한 방법
    if 문으로 한다
    switch 문을 사용한다
  5.3 시퀀스를 늘리자
    시퀀스 사양
    이것은 간단한 과제인가
  5.4 코드 검사
    자원 로드와 해제에 관한 문제
    시퀀스에 걸쳐 있는 자원 문제
    계층 구조 시퀀스 전이
    전이 트리거를 어디에 둘까
    계층 간 이동
  5.5 예제 코드
    파일 배치
    프로젝트 설정
    클래스 구성
    데이터 배치
    maincpp
    Sequence/Parenth
    Sequence/Parentcpp
    Game::Parent
    1초 대기
    몇 가지 기능 추가
    stringstream
  5.6 정리
 
CHAPTER  06  문자를 출력하는 방법
  6.1 폰트용 이미지
  6.2 문자 그리기 함수
    ASCII 코드
  6.3 사용하기 편하게
    클래스화
    배경을 투명하게 만들자
    색을 바꾼다
    표시 위치 지정
    오류 검사
  6.4 사용한다
  6.5 예제 코드
    싱글톤
  6.6 저작권에 주의하자!
  6.7 예제 라이브러리 기능
  6.8 정리
 
CHAPTER  07  처음 시작하는 액션 게임
  7.1 사용할 라이브러리
    문자 그리기
    난수
  7.2 '폭탄맨'을 만들자
  7.3 예제 코드
    라이브러리를 대응시킨다
    시퀀스만 만들어 보자
    시퀀스만 추가한 예제 코드
  7.4 일단 배경을 출력한다
    이미지를 준비한다
    State 클래스를 바꿔 쓴다
    움직이지 않는 오브젝트 클래스를 정비한다
    스테이지 형태
    그리자
  7.5 움직이는 오브젝트를 배치한다
    움직이는 오브젝트 클래스
    배치
    움직이게 한다
  7.6 드디어 게임을 하자
  7.7 정리
 
CHAPTER  08  평면 충돌 처리
  8.1 충돌 검출
    정사각형 교차 판정
    데이터 표현 방법
    교차 판정 코드
  8.2 충돌 응답
    충돌하면 움직이지 않는다
    충돌 직전에 멈춘다
    이동시켜 처리한다
    어느 방법이 좋을까
  8.3 복수 충돌 문제
    충돌하면 움직이지 않는다
    충돌 직전에 멈춘다
    겹쳐 있으면 이동시킨다
    어느 것을 선택할 것인가
  8.4 충돌 응답과 조작성
    겉보기와 실체 크기를 다르게 한다
    충돌하면 벽면을 따라 미끄러지게 한다
    가로 이동과 세로 이동을 따로 다룬다
    움직이는 캐릭터를 원형으로 한다
    어느 방법을 택해야 하는가
  8.5 움직이는 것끼리 충돌한다
  8.6 폭탄맨 충돌 처리
    DynamicObject 확장
    움직이는 것끼리
    움직이는 것과 움직이지 않는 것 판정
    폭탄 설치 문제
    연쇄 폭발
  8.7 정리
 
CHAPTER  09  다양한 입력장치
  9.1 입력장치 인스턴스 취득
  9.2 키보드
  9.3 마우스
  9.4 조이스틱
  9.5 폭탄맨을 조이스틱으로 조작한다
    라이브러리를 은폐하는 것
    예제 코드
  9.6 정리
 
CHAPTER  10  좀 더 나은 시퀀스 전이
  10.1 도대체 무엇이 문제였을까
  10.2 상속을 사용한다
      기반 클래스
      파생 클래스
      파생 클래스와 기저 크래스
      가상 소멸자
  10.3 실제로 사용하자
      예제 코드
  10.4 팁: 시퀀스 이동 코드를 짧게 한다
      문제는 어디에 있는가
      잘못된 분기를 바로잡는다
      예제 코드
  10.5 팁: 계층 간 시퀀스 이동 코드도 짧게 한다
      dynamic cast
      계층마다 기반 클래스를 다시 정의한다
      예제 코드
      이렇게까지 할 필요가 있을까
  10.6 팁: 상속을 좀 더 자세히
      상속을 흉내낸다
      상속은 무엇을 희생하고 있는가
      상속은 언제 사용해야 하는가
      순수 가상 함수
  10.7 정리
 
CHAPTER  11  소리를 내다
  11.1 사운드 라이브러리
      데시벨
      예제 코드
  11.2 팁: 컴퓨터에서 소리를 재생한다는 것
      라이브러리
  11.3 팁: 소리 높이와 크기
      소리 높이
      소리 크기
  11.4 팁: 음색
  11.5 팁: 소리 겹침
  11.6 팁: 도레미 원리
      도레미로 놀아보자
  11.7 팁: 악보를 읽어 연주한다
      예제 코드
  11.8 팁: WAV 파일 읽기
      WAV 파일 내용
  11.9 팁: Sound 모듈을 사용한 웨이브 합성
  11.10 정리
 
CHAPTER  12  회전, 확대, 이동
  12.1 회전
      좌표를 돌리는 간단한 방법
      삼각함수
      삼각함수를 사용해 회전시킨다
      좀 더 나은 방법
  12.2 벡터와 행렬 도입
      벡터형 도입
      행렬 도입
  12.3 정점
  12.4 확대·축소
      코드로 만들자
  12.5 확대·축소하면서 회전시킨다
      코드로 만들자
  12.6 행렬이 지닌 위력
      이동을 행렬로 표현한다
      확대·축소를 행렬로 나타낸다
      복수 조작을 하나로 모은다
  12.7 팁: 왜 이 공식으로 회전이 될까
  12.8 팁: 제대로 돌려보자
      래스터라이즈
  12.9 팁: 수학 속 행렬
      행렬과 벡터 곱
      행렬과 행렬 곱
  12.10 정리
 
CHAPTER  13  하드웨어 파워
  13.1 사용할 라이브러리
  13.2 그래픽 하드웨어로 삼격형을 그린다
      흰색 삼각형을 그린다
      색칠한 삼각형을 그린다
  13.3 삼각형에 이미지를 붙인다
      텍스처를 만든다
      텍스처를 사용한다
      텍스처 좌표
      텍스처와 정점 병용
  13.4 알파 블렌드
  13.5 회전, 확대·축소, 이동
      변환 순서를 생각한다
      행렬을 사용해 drawTriangle2D()를 호출한다
  13.6 폭탄맨을 이식한다
      텍스처 잘라내기
      예제 코드
  13.7 정리
 
Part  II    3차원 게임
 
  14.1 라이브러리
      텍스처 등록
  14.2 3D 액션 게임 '로보 파이트'를 만들려면
      로보 파이트에 필요한 것
  14.3 삼각형을 그린다
  14.4 가까운 쪽을 가까이에 그린다
      반투명과 Z 버퍼법
  14.5 멀리 있는 것을 작게 그리기
      거리로 나눈다
      직접 했을 때 문제점
      그래픽 하드웨어를 이용하자
  14.6 좌표 교환
      좌표축 방향
      z축을 반전한다
      행렬과 벡터 확장
       3차원 회전 행렬
      어떻게 보이는지 생각한다
      두 개 축 이상 회전이 필요할 때
      뷰 변환 행렬
  14.7 투시 변환도 행렬로
      무엇을 하고 있었는지 떠올린다
      또 하나 z 범위 변환
      화각 도입
      종횡비 보정
      행렬 완성
      모든 변환 합성
  14.8 로보 파이트를 만들기 시작하자
      클래스 설계
      메인 루프
      로보 클래스 선언
      스테이지 클래스 선언
      그림을 출력하는 경로를 생각한다
      시점 조작과 투시 변환
      로보를 출력하자
      시점 이동을 만든다
      로보를 움직인다
      텍스처를 붙인다
      시선 방향을 따라 이동 방향을 수정한다
  14.9 팁: Z 버퍼 정밀도 문제
  14.10 정리
 
CHAPTER  15  라이브러리 제작법
  15.1 전체 설계
      리소스와 인스턴스
  15.2 리소스 내역
      정점 버퍼 클래스
      인덱스 버퍼 클래스
      배치 클래스
      그리기 인스턴스 클래스
      리소스 컨테이너 클래스
      카메라 클래스
  15.3 사용해보자
  15.4 파일에서 로드한다
      너무 정직한 방법
      XML처럼 만들자
      유사 XML을 라이브러리에
  15.5 팁: 라이브러리를 게임에서 분리한다
      비주얼 스튜디오 프로젝트 설정
  15.6 정리
 
CHAPTER  16  유사 XML 읽기
  16.1 파일 형식을 결정한다
  16.2 사전 준비
      std::string
      단순화
  16.3 처리 흐름
      Document 클래스
      Element 클래스
  16.4 문자열 해석
      상태 전이 집합으로 분해한다
      실제로 분해한다
  16.5 코드로 만든다
  16.6 사용해보자
      필요한 함수
  16.7 예제 코드
      Texture 클래스
      배치와 이름공간
      추가에 관한 문제
      문자열에서 수치로 변환
      사용자 코드
  16.8 팁: 쓰기
      사용자가 코드를 작성한다
      어트리뷰트 설정
      추가
  16.9 정리
 
CHAPTER  17  느리지 않은 코드를 작성하려면
  17.1 알고리즘과 계산량 오더
      간단한 예
      계산량 오더
  17.2 데이터 구조 기초
      데이터 구조 성질
      정렬되지 않은 배열
      정렬되어 있는 배열
      리스트
      이진 트리
      정렬된 이진 트리
      조작을 제한한다
  17.3 스루풋과 레이턴시
      CPU 명령
      더욱 큰 주제
  17.4 병렬성
      병렬화 비용
  17.5 메모리 문제
      메모리에 해당하는 레이턴시를 짧게 하는 두 가지 방법
      모아서 처리하기
      캐시에 대해 생각해보자
      어떻게 하면 좋을까
  17.6 STL과 데이터 구조
      이터레이터
      vector
      list
      set
      map
      포인터를 넣을까 실체를 넣을까
  17.7 어디가 느린가
  17.8 팁: 함수 호출에 걸리는 무게
      클래스 간 처리 분담을 변경한다
      호출 횟수를 줄인다
      인라인화한다
  17.9 팁: 빠른 계산과 느린 계산
      나눗셈
  17.10 정리
 
CHAPTER  18  입체 충돌 처리
  18.1 직육면체 충돌 처리
      응답 문제
      예제 코드
      직육면체로는 할 수 없는 일
  18.2 부동 소수점 수를 사용한 충돌 검출
      어떤 형상이 필요할까
      구와 구 교차 판정
      충돌 응답
      내적과 각도
      충돌 응답으로 돌아가서
      복수 충돌
      지면에 똑바로 서고 싶다
  18.3 삼각형과 선분 교차 판정
      기하학 형상 표현 방법
      연립방정식으로 한 번에 구하는 방법
      두 단계로 판정한다
      외적과 법선
      t를 구한다
      삼각형 안에 있는가
      코드로 만든다
  18.4 실용적인가
      이음새 문제
  18.5 남겨진 문제
      속도 문제
      응답 문제
      계산 정밀도 문제
  18.6 정리
 
CHAPTER  19  로보 파이트 설계
  19.1 시퀀스 전이
  19.2 조작계
      이동
      점프
      선회
      무기 발사
      예제 코드
  19.3 총을 쏘다
      탄환 클래스
      탄환 데이터 구조
      유도탄
      예제 코드
  19.4 하나로 모은다
      추가 요소
      예제 코드
  19.5 프론트엔드
      카메라와 관계없는 그래픽
      예제 코드
  19.6 여전히 부족한 것
  19.7 정리
 
CHAPTER  20  빛이 닿는다는 것
  20.1 물체가 보인다는 것
      레이 트레이스
      무리한 레이 트레이스
      간략화
  20.2 빛이 감소하는 과정
      태양에서 물체까지
      면 각도
      반사하는 비율
      물체에서 카메라까지
  20.3 계산하자
      실제로 계산하는 식을 세운다
      속임수를 쓰다
      색에 대한 이야기
      예제 코드
  20.4 로보 파이트에 넣자
  20.5 팁: 속도 개선 힌트
      로컬 좌표로 계산한다
      법선을 미리 준비한다
      정점에 법선을 연결한다
      예제 코드
  20.6 팁: 조금 더 나은 그림을 만들려면
  20.7 정리
 
CHAPTER  21  캐릭터가 움직이기 시작한다
  21.1 상대 이동
      초보자 애니메이션
      상대 이동 개념
      복수 좌표계
      좌표계 이동
      행렬 합성
      태양계 구현
      하루와 한달
  21.2 계층 모델 클래스
      Node 클래스
  21.3 자동으로 트리 구조 구축
      데이터 파일에 친자 관계를 기술한다
      Tree 클래스
      초기값도 파일에 넣는다
      노드와 트리 리소스화
      노드 정의
  21.4 애니메이션 데이터화
      데이터화 실현
      애니메이션 데이터 세부 사항
      예제 코드
  21.5 보간법
       1차 함수 보간
       2차 함수 보간
      미분
      다시 2차 함수 보간으로
       3차 함수 보간
      기울기를 주고 보간한다
       3차 함수 보간 코드
  21.6 로보 파이트에 넣는다
  21.7 팁: 연립방정식 vs 정해진 기울기
  21.8 팁: 부족한 것
      애니메이션 전환
      정점 블렌딩
      IK
      깨끗한 회전 보간
  21.9 정리
 
Part  III   판매용 제품으로 가는 길
 
  22.1 전체 검사를 하면 속도가 느리다
  22.2 속도를 개선할 때 기본
      두 가지 아이디어
      충돌 검출은 '검색'이다
  22.3 정렬에 바탕을 둔 방법
      아주 단순한 방법
      양 끝을 정렬한다
      만난 사람 리스트
      코드로 만든다
      조금씩 개량
      정렬에 의한 방법을 사용할 때 약점
  22.4 분할에 의한 방법
      균등 분할
      std::list를 사용해서 만든다
      개수를 정해서 배열로 만들자
      균등 공간 분할을 사용할 때 약점
      균등 공간 분할 용도
  22.5 팁: 균등 분할을 추가로 개량
      조금씩 new하면서 용량 제한을 없앤다
      list 자체를 줄인다
      더욱 빠르게 한다
  22.6 팁: 고도의 공간 분할
      k-d tree를 만든다
      예제 코드
      k-d tree 용도
  22.7 정리
 
CHAPTER  23  로딩
  23.1 왜 로딩 시간이 길어지는가
  23.2 파일 로더 클래스
      일단 사용 방식을 정하자
      예제 코드
      우선 한 프레임에 한 파일로 한다
      한 프레임에 정해진 양만 로드한다
  23.3 파일 결합에 의한 속도 개선
      파일 결합 전략
      파일 결합은 언제 해야 하는가
      읽기 프로그램
      파일을 열거한다
      Archiver1 예제를 사용한다
      읽는 쪽
  23.4 압축에 의한 속도 개선
      압축 종류
      연장 압축
      사전 압축
      실제 사용을 고려한다
  23.5 팁: 멀티 스레드에 의한 비동기 처리
      스레드 만들기
      공유 자원 문제
      공유 자원에는 자물쇠를 걸자
      Mutex를 사용한다
      메모리에 정말로 쓰고 있는가
      스레드 세이프
      로더를 멀티 스레드화한다
  23.6 팁: 부호화
      부호화 예
      부호화 사용 방법
  23.7 팁: 내부를 감추기 위한 결합과 압축
  23.8 정리
 
CHAPTER  24  float 사용 방법
  24.1 자릿수에 한계가 있다는 것
  24.2 float 내부
      float 읽는 법
      float 정밀도
  24.3 어중간한 수에 의한 오차
  24.4 어느 정도 오차가 나는가
      덧셈
      뺄셈
      곱셈과 나눗셈
      상대오차는 어느 정도일까
  24.5 오차 길들이기
      계산 순서를 바꿔서 회피한다
      다항식
      계산 횟수를 줄인다
      = =와 ! =를 사용하지 않는다
      큰 값을 넣지 않는다
      뺀 것으로 나눈다
      대소 판정
       10과 1f
  24.6 특별한 수
      제로
      무한대
      비수
      오류를 찾는 방법
      비정규수
  24.7 정리
 
CHAPTER  25  부속 라이브러리 사양
  25.1 라이브러리 클래스
      싱글톤
      실체가 따로 있는 클래스
      보통 클래스
  25.2 시작 환경 설정
      파일을 로드한다
      명령창 문자열
      모니터 갱신 주기를 사용하는 고정 프레임 레이트(수직 동기)
  25.3 Framework 모듈
      DebugScreen 클래스
  25.4 WindowCreator 모듈
  25.5 FileIO 모듈
      아카이브 사용법
  25.6 Base 모듈
  25.7 Math 모듈
      Random 클래스
      각도 단위
  25.8 Threading 모듈
      Thread
      Semaphore
      Mutex
      Event
      getCurrentThreadId()
      스레드 수
  25.9 Input 모듈
  25.10 Sound 모듈
  25.11 PseudoXml 모듈
  25.12 Graphics 모듈
      대략적인 사용 방법
      DrawCube 예제
  25.13 Scene 모듈
      PrimitiveRenderer
      StringRenderer
      Collisonmesh
      CollisonDetctor
  25.14 안티앨리어싱
  25.15 최종 버전 라이브러리에 로보 파이트를 이식한다
  25.16 X 파일
  25.17 정리
 
CHAPTER  26  버그와 친해지는 법
  26.1 불조심과 불끄기
  26.2 버그 종류
      논리 버그
      기술 버그
      처리 지연
      메모리 오버플로우
  26.3 예방 혹은 불조심
      배열 범위 오류
      해제된 포인터에 접근
      초기화되지 않은 포인터 접근
      위험한 함수를 무분별하게 사용
      std::vector를 무분별하게 사용
      메모리 해제 잊음
      포인터를 추방한다
      GameLib의 클래스
      코딩 스타일
  26.4 치료 혹은 소화
      '분할' 응용
      기본은 이진 검색
      뒤로 미루지 않는다
      시제품은 버려라
      메모리 누수 검출
  26.5 로보 파이트 안전 사양
  26.6 팁: 메모리 누수 검출 내부
      new 내부
      delete 내부
      정보를 늘린다
      파일 이름과 줄 번호
  26.7 정리
 
CHAPTER  27  더욱 앞으로
  27.1 무엇을 배우면 좋을까
  27.2 도구
      명령창 도구
      GUI 도구
  27.3 AI
  27.4 네트워크
  27.5 셰이더
  27.6 참고문헌
      수학과 계산기 과학
      프로그래밍
      물리학
      컴퓨터 그래픽
  27.7 이런 책이 있었으면
      게임을 소재로 한 프로그래밍 책
      게임을 소재로 한 물리와 수학책
      누군가 써 주기를

부록/예제소스
자료명 등록일 다운로드
DOWNLOAD 예제소스 2016-04-14 다운로드
결재하기
• 문화비 소득공제 가능
• 배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

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

닫기

리뷰쓰기

닫기
* 도서명 :
세가의 신입 사원 교육 과정에서 배우는 게임 프로그래밍의 정석
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
세가의 신입 사원 교육 과정에서 배우는 게임 프로그래밍의 정석
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
세가의 신입 사원 교육 과정에서 배우는 게임 프로그래밍의 정석
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

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

자료실