본문으로 바로가기
평면표지(2D 앞표지)
2D 뒤표지

한 권으로 배우는 게임 프로그래밍

수학과 물리, 자료구조와 알고리즘, 디자인 패턴으로 익히는 게임 개발 필수 지식


  • ISBN-13
    979-11-6921-303-5 (93000)
  • 출판사 / 임프린트
    한빛미디어(주) / 한빛미디어(주)
  • 정가
    28,000 원 확정정가
  • 발행일
    2024-10-28
  • 출간상태
    출간 예정
  • 저자
    박태준 , 박효재 , 윤하연
  • 번역
    -
  • 메인주제어
    게임개발 및 프로그래밍
  • 추가주제어
    알고리즘과 데이터구조 , 프로그래밍기법
  • 키워드
    #게임개발 및 프로그래밍 #알고리즘과 데이터구조 #프로그래밍기법
  • 도서유형
    종이책, 무선제본
  • 대상연령
    모든 연령, 성인 일반 단행본
  • 도서상세정보
    153 * 223 mm, 336 Page

책소개

게임 개발자에게 필요한 것은
화려한 포트폴리오가 아닌 체계적인 이론 지식!


이 책은 특정 엔진이나 기술에 국한되지 않고 게임 개발의 전반적인 개념과 지식을 다룬다. 이를 통해 게임 세계가 어떻게 만들어지는지 이해하고, 다양한 게임 장르와 플랫폼에 적용하는 능력을 기를 수 있다. 게임 개발을 처음 접하는 이도 쉽게 이해할 수 있게 어려운 수학이나 알고리즘은 최대한 간단하게 설명하고, 다양한 예제 코드를 활용해 접근성을 높였다. 단순 엔진 사용법이 아닌 게임 개발의 본질을 이해하고 자신만의 게임을 창작하는 데 필요한 자신감을 얻게 될 것이다.

 

수학과 물리부터 디자인 패턴까지 
한 권으로 마스터하는 게임 개발 이론
 

이 책은 엔진 설치 방법부터 디자인 패턴까지 게임 개발에 필요한 실무 지식을 체계적으로 안내한다. 각 이론이 언제 어디에 쓰이는지, 어떤 원리로 게임이 제작되고 구동되는지 깊이 있게 접근할 수 있도록 구성했다. 수학과 물리는 좌표와 벡터부터 설명하며 원리를 이해할 수 있도록 하고, 자료구조는 코드 예제와 함께 실무에 바로 적용할 수 있게 안내한다. 마지막으로 디자인 패턴과 객체 지향적 접근을 통해 실무자들이 현장에서 실제로 사용하는 다양한 기법을 상세히 설명한다. 친근한 말투, 다채로운 일러스트가 더해져 신입 개발자는 물론 비전공자도 게임 개발에 더욱 흥미를 가질 수 있도록 하며 포트폴리오나 면접을 준비하는 취준생에게는 방향성을 제시한다.

 

★이 책의 주요 내용

  • 2차원과 3차원 그래픽
  • 사용자 인터페이스(UI)
  • 화면과 픽셀, 좌표
  • 벡터 기본 연산, 삼각함수
  • Easing 그래프
  • 랭킹 시스템, AI 길 찾기 구현
  • 충돌 처리, 정렬 알고리즘
  • 객체 지향 프로그래밍
  • 게임 디자인 패턴, 안티 패턴

 

★먼저 읽은 베타리더들의 한 마디

  • 요람에서 무덤까지, 즉 엔진 설치부터 프로그래밍 방법론까지 모든 걸 알려준다. _김이현 님
  • 실제 작동하는 코드 예제와 친절한 주석, 상세한 부가 설명으로 게임 개발을 쉽게 이해할 수 있다. _김태규 님
  • 앞으로 무엇을 배워야 하는지, 어떻게 생각해야 하는지 등 사고를 넓힐 기회를 열어준다. _김영무 님
  • 게임 개발에 관한 지식을 이론뿐만 아니라 그림과 예시를 통하여 쉽고 재밌게 전달하는 책. _윤동환 님
  • 스스로 게임 개발자의 길이 맞는지 점검해볼 수 있는 훌륭한 도서! _추상원 님

목차

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 안티 패턴 
___주석을 지워버려라 
___문장처럼 자연스럽게 읽히는 코드를 작성하자 
___예상 가능한 혹은 예상치 못한 버그에 예외를 사용하자 
___예외를 조용히 처리하지 마라
___웬만하면 상속 대신 인터페이스를 사용하라
___최적화는 지금 하지 마라 
___악취가 나는 코드는 탈취제를 뿌리자 
___서드파티 라이브러리를 조심하자
___싱글턴 패턴 사용을 주의하자

본문인용

-

서평

-

저자소개

저자 : 박태준
주식회사 미소게의 총괄 디렉터 겸 기술이사. 일본 쓰쿠바 대학 공학시스템학류를 졸업했다. 취미는 게임과 프로그래밍이며, 특기 또한 게임 프로그래밍인 괴짜 게임 개발자다.
초등학교 시절부터 프로그래밍을 계속해왔으며 대학 졸업 이후 컴투스와 컴투버스를 거쳐 작은 스타트업에 이직했다. 그 후 세상 모든 게임의 재미가 다 들어간 궁극의 게임을 만들겠다는 집념으로 직장을 포기하고 창업을 결심하게 되었다. 항상 좋은 설계란 무엇일까에 대해 고민하며 게임 개발 효율화와 관련된 방법론을 연구하는 중이다.
저자 : 박효재
게임 클라이언트 프로그래머. 서강대학교에서 전자공학을 전공했다. 현재는 팀 테트라포드에서 스테퍼 시리즈를 개발 중이다. 게임 개발 외에도 유니티 인증 강사(Unity Certified Instructor) 2기로서 강의, 강연을 통해 지식과 경험을 공유하고 있다. 또한 틈만 나면 게임 잼에 참가하여 새로운 시도와 아이디어를 시험해보고 있다. 항상 재미있는 게임을 개발하는 것을 목표로 삼고 있으며, 끊임없이 노력 중이다.
저자 : 윤하연
1인 인디 게임 개발자. 스타트업, 데브캣에서 게임 프로그래머로 활동하다가 홀로서기를 시작했다. 일로 게임 개발을 하기 전에도 작은 인디 게임 팀에 참여하거나 1인 개발을 즐겨 했다. 작은 규모의 게임을 만드는 것에 관심이 많고 그를 위한 공부를 꾸준히 해나가고 있다.
상단으로 이동