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

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

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

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

한빛미디어

집필서

판매중

  • 저자 : 박태준 , 박효재 , 윤하연
  • 출간 : 2024-10-28
  • 페이지 : 336 쪽
  • ISBN : 9791169213035
  • 물류코드 :11303
  • 초급 초중급 중급 중고급 고급
5점 (1명)
좋아요 : 704

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


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

박태준 저자

박태준

주식회사 미소게의 총괄 디렉터 겸 기술이사. 일본 쓰쿠바 대학 공학시스템학류를 졸업했다. 취미는 게임과 프로그래밍이며, 특기 또한 게임 프로그래밍인 괴짜 게임 개발자다.
초등학교 시절부터 프로그래밍을 계속해왔으며 대학 졸업 이후 컴투스와 컴투버스를 거쳐 작은 스타트업에 이직했다. 그 후 세상 모든 게임의 재미가 다 들어간 궁극의 게임을 만들겠다는 집념으로 직장을 포기하고 창업을 결심하게 되었다. 항상 좋은 설계란 무엇일까에 대해 고민하며 게임 개발 효율화와 관련된 방법론을 연구하는 중이다.

박효재 저자

박효재

게임 클라이언트 프로그래머. 서강대학교에서 전자공학을 전공했다. 현재는 팀 테트라포드에서 스테퍼 시리즈를 개발 중이다. 게임 개발 외에도 유니티 인증 강사(Unity Certified Instructor) 2기로서 강의, 강연을 통해 지식과 경험을 공유하고 있다. 또한 틈만 나면 게임 잼에 참가하여 새로운 시도와 아이디어를 시험해보고 있다. 항상 재미있는 게임을 개발하는 것을 목표로 삼고 있으며, 끊임없이 노력 중이다.

윤하연 저자

윤하연

1인 인디 게임 개발자. 스타트업, 데브캣에서 게임 프로그래머로 활동하다가 홀로서기를 시작했다. 일로 게임 개발을 하기 전에도 작은 인디 게임 팀에 참여하거나 1인 개발을 즐겨 했다. 작은 규모의 게임을 만드는 것에 관심이 많고 그를 위한 공부를 꾸준히 해나가고 있다.

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

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

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

 

★이 책의 주요 내용

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

 

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

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

필요한 선수 지식
요구 학력 : 컴퓨터 관련 학부생 3학년 이상

예제 코드 : C#, Unity

난이도 : ★☆☆☆☆

 

책의 구성 중 마음에 들었던 주제
CHAPTER 02 수학과 물리
2.2 위치와 이동
도입부에서는 원점을 기준으로 좌표를 구성하는 방식들을 설명하는데 이후 스칼라에서 벗어나 벡터의 간단한 설명과 함께 연산하는 방법들을 설명한다. 벡터는 게임에 있어서 오브젝트의 이동을 구현할 때 필수적이다. 간단히 걷기로 표현되고 중학교 때 배운 거속시 공식(거리 = 속도 * 시간; s = vt)이라던가, 중력이 작용하는 상황에서 자유 낙하를 표현하는 등가속도 운동 공식(v = v0 + at)을 실제 게임에서 이루어지는 많은 이동 상황에 비추어 설명한다.

2.3 각과 회전
이 단원에서는 각과 회전으로 대표되는 라디안과 삼각함수를 중점으로 설명한다. 고등학교에 다닐때 많은 친구를 수포자의 길로 이끈 게 삼각함수였는데 게임에서의 삼각함수는 필수적이다. 수포자들을 위해 여러 삽화를 추가하여 그래프를 바탕으로 삼각함수를 쉽게 설명하고 있다.

 

CHAPTER 03 게임 프로그래밍에 필요한 기법
3.6 충돌 처리 알고리즘
게임에서의 많은 상호작용은 충돌로 이루어진다. 충돌을 감지하는 알고리즘은 대표적으로 AABB, OBB 등이 있는데 이 단원에서는 이런 알고리즘들을 바탕으로 충돌을 감지하는 방법들을 설명한다.

 

CHAPTER 04 게임 프로그래밍 방법론
4.3 게임 디자인 패턴
4.4 안티 패턴
디자인 패턴은 일반적인 소설 잘 쓰는 방법과 같이 내가 작성한 코드를 다른 사람이 읽기 쉽게 서로 약속한 규칙이라고 이해하면 쉽다. 이 단원에서는 게임에서 자주 사용하는 패턴인 상속(Inheritance), 상태(State), 싱글톤(Singleton), 옵저버(Observer), 커맨드(Command)를 실제 사례를 빗대어 설명한다.

 

읽고 난 후

이 책에서는 각 챕터 별로 맨 앞에 ‘왜 배워야 할까?’라는 소단원이 있어 배워야 하는 이유를 논리적으로 설명하고 있다. 또한, 이해가 다소 어려울 수 있는 부분에는 손으로 그린 듯한 삽화들이 첨부되어 있어 이해를 돕는다. 다만, 게임 개발을 하면서 발생하는 많은 문제를 해결하는 데 도움을 주는 책이라기보다는 게임 개발을 처음 시작하기 전에 간단히 읽고 넘어가는 개론서로 보는 것이 좋을 것 같다.

 

게임을 만들 정도의 프로그래머라면 상당한 전문성을 갖췄다고 생각한다. 기본적으로 게임 엔진에 대한 이해도와 해당 게임 엔진에서 사용하는 언어 숙련도, 좌표계 및 벡터에 대한 논리적 사고가 뒷받침되어야 하기 때문이다. 특히 게임을 개발하다 보면 처음 보는 버그나 예기치 못한 문제를 마주치는 일이 흔한데 이를 빠르게 찾아내고 해결하는 과정에서 전문성이 낮았더라도 결국에는 전문성이 향상된다.

 

어떤 프로그래밍 언어를 중급자 정도 구사할 수 있다고 생각될 때마다 해당 언어로 게임을 개발해 봤었는데 문제 해결 능력을 키우고 데이터 구조, 알고리즘, 그래픽스 처리 등 다양한 컴퓨터 과학 개념을 실전에 적용해 보는 좋은 기회가 되었다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

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

닫기

리뷰쓰기

닫기
* 상품명 :
한 권으로 배우는 게임 프로그래밍
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
한 권으로 배우는 게임 프로그래밍
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
한 권으로 배우는 게임 프로그래밍
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

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

자료실

최근 본 상품1