상세정보
한 권으로 배우는 게임 프로그래밍
- 저자
- 박태준
- 출판사
- 한빛미디어
- 출판일
- 2024-10-28
- 등록일
- 2024-12-10
- 파일포맷
- PDF
- 파일크기
- 4MB
- 공급사
- 교보문고
- 지원기기
-
PC
PHONE
TABLET
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
이 책은 특정 엔진이나 기술에 국한되지 않고 게임 개발의 전반적인 개념과 지식을 다룬다. 이를 통해 게임 세계가 어떻게 만들어지는지 이해하고, 다양한 게임 장르와 플랫폼에 적용하는 능력을 기를 수 있다. 게임 개발을 처음 접하는 이도 쉽게 이해할 수 있게 어려운 수학이나 알고리즘은 최대한 간단하게 설명하고, 다양한 예제 코드를 활용해 접근성을 높였다. 단순 엔진 사용법이 아닌 게임 개발의 본질을 이해하고 자신만의 게임을 창작하는 데 필요한 자신감을 얻게 될 것이다.
저자소개
주식회사 미소게의 총괄 디렉터 겸 기술이사. 일본 쓰쿠바 대학 공학시스템학류를 졸업했다. 취미는 게임과 프로그래밍이며, 특기 또한 게임 프로그래밍인 괴짜 게임 개발자다.
초등학교 시절부터 프로그래밍을 계속해왔으며 대학 졸업 이후 컴투스와 컴투버스를 거쳐 작은 스타트업에 이직했다. 그 후 세상 모든 게임의 재미가 다 들어간 궁극의 게임을 만들겠다는 집념으로 직장을 포기하고 창업을 결심하게 되었다. 항상 좋은 설계란 무엇일까에 대해 고민하며 게임 개발 효율화와 관련된 방법론을 연구하는 중이다.
목차
CHAPTER 1 개발 환경 구성과 게임 세계 이해
1.1 기본 프로그램 설치
___유니티 엔진 설치
___개발 도구 설치
1.2 게임 세계
___2차원 그래픽
___3차원 그래픽
___UI
CHAPTER 2 수학과 물리
2.1 왜 배워야 할까?
2.2 위치와 이동
___화면과 픽셀
___좌표
___벡터
___공간
___벡터의 기본 연산
___캐릭터의 이동 구현
2.3 각과 회전
___게임에서 각이 필요할 때
___각의 표현
___삼각함수
___삼각함수의 대칭
___조이스틱으로 이동 구현
___원형 이동
2.4 적과의 대치
___벡터의 내적
___벡터의 외적
2.5 다양한 예시 만들기
___Easing 그래프
___발판 움직이기
___그 외 해볼 만한 것들
CHAPTER 3 게임 프로그래밍에 필요한 기법
3.1 왜 배워야 할까?
3.2 시간이 불연속적이라고?
3.3 팩맨이란? 그리고 우리가 구현할 게임은?
3.4 랭킹 시스템 구현
___버블 정렬
___시간 복잡도
___그렇다면 효율적인 정렬은?
___힙, 트리, 링크드 리스트... 결국, 자료구조
___랭킹 구현에 필요한 마지막 자료구조
3.5 AI의 길 찾기 구현
___DFS와 스택
___BFS와 큐
___다익스트라와 A*알고리즘
3.6 충돌 처리 알고리즘
___원형 충돌 알고리즘
___AABB 알고리즘
___Swept AABB 알고리즘
___OBB 알고리즘
___Convex Hull을 만드는 방법
3.7 정리 그리고 효율에 관한 팁
[부록 A] 배워두면 좋은 게임 알고리즘
A.1 이진 공간 분할법
A.2 셀룰러 오토마타
A.3 최소 비용 신장 트리
A.4 크루스칼 알고리즘
A.5 프림 알고리즘
[부록 B] 정렬 알고리즘
B.1 버블 정렬
B.2 선택 정렬
B.3 삽입 정렬
B.4 퀵 정렬
B.5 병합 정렬
B.6 힙 정렬
CHAPTER 4 게임 프로그래밍 방법론
4.1 왜 배워야 할까?
4.2 객체 지향 프로그래밍
___객체 지향 프로그래밍이란?
___객체란 무엇인가
___클래스와 인스턴스
___객체의 포함과 상속
___다형성
___추상 클래스와 인터페이스
___캡슐화와 정보 은닉
4.3 게임 디자인 패턴
___디자인 패턴의 이해
___어떤 무기로 공격하지? - 상속, 전략 패턴
___도전 과제 달성률 100% - 옵저버 패턴
___걷고 뛰고 공격하는 캐릭터의 상태 - 상태 패턴
___BABO IS ME - 커맨드 패턴
4.4 안티 패턴
___주석을 지워버려라
___문장처럼 자연스럽게 읽히는 코드를 작성하자
___예상 가능한 혹은 예상치 못한 버그에 예외를 사용하자
___예외를 조용히 처리하지 마라
___웬만하면 상속 대신 인터페이스를 사용하라
___최적화는 지금 하지 마라
___악취가 나는 코드는 탈취제를 뿌리자
___서드파티 라이브러리를 조심하자
___싱글턴 패턴 사용을 주의하자