상세정보
미리보기
한 권으로 배우는 게임 프로그래밍
- 저자
- 박태준,박효재,윤하연 공저
- 출판사
- 한빛미디어
- 출판일
- 2024-10-28
- 등록일
- 2025-01-02
- 파일포맷
- PDF
- 파일크기
- 4MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
게임 개발자에게 필요한 것은화려한 포트폴리오가 아닌 체계적인 이론 지식!이 책은 특정 엔진이나 기술에 국한되지 않고 게임 개발의 전반적인 개념과 지식을 다룬다. 이를 통해 게임 세계가 어떻게 만들어지는지 이해하고, 다양한 게임 장르와 플랫폼에 적용하는 능력을 기를 수 있다. 게임 개발을 처음 접하는 이도 쉽게 이해할 수 있게 어려운 수학이나 알고리즘은 최대한 간단하게 설명하고, 다양한 예제 코드를 활용해 접근성을 높였다. 단순 엔진 사용법이 아닌 게임 개발의 본질을 이해하고 자신만의 게임을 창작하는 데 필요한 자신감을 얻게 될 것이다.
저자소개
주식회사 미소게의 총괄 디렉터 겸 기술이사. 일본 쓰쿠바 대학 공학시스템학류를 졸업했다. 취미는 게임과 프로그래밍이며, 특기 또한 게임 프로그래밍인 괴짜 게임 개발자다. 초등학교 시절부터 프로그래밍을 계속해왔으며 대학 졸업 이후 컴투스와 컴투버스를 거쳐 작은 스타트업에 이직했다. 그 후 세상 모든 게임의 재미가 다 들어간 궁극의 게임을 만들겠다는 집념으로 직장을 포기하고 창업을 결심하게 되었다. 항상 좋은 설계란 무엇일까에 대해 고민하며 게임 개발 효율화와 관련된 방법론을 연구하는 중이다.
목차
CHAPTER 1 개발 환경 구성과 게임 세계 이해1.1 기본 프로그램 설치 ___유니티 엔진 설치___개발 도구 설치1.2 게임 세계 ___2차원 그래픽___3차원 그래픽___UICHAPTER 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 안티 패턴 ___주석을 지워버려라 ___문장처럼 자연스럽게 읽히는 코드를 작성하자 ___예상 가능한 혹은 예상치 못한 버그에 예외를 사용하자 ___예외를 조용히 처리하지 마라___웬만하면 상속 대신 인터페이스를 사용하라___최적화는 지금 하지 마라 ___악취가 나는 코드는 탈취제를 뿌리자 ___서드파티 라이브러리를 조심하자___싱글턴 패턴 사용을 주의하자