파이썬으로 배우는 게임 개발: 실전편
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

작가정보
와세다 대학교 이공학부를 졸업하고 남코에서 기획자로, 닌텐도와 코나미의 합병회사에서 프로그래머와 디렉터로 근무했다. 이후 유한회사인 월드 와이드 소프트웨어를 설립하여 가정용 게임 소프트웨어, 상용 게임기, 휴대전화용 애플리케이션, 웹 애플리케이션 등을 개발해 왔다. 게임 개발사를 운영하는 것 외에도 교육 기관에서 프로그래밍과 게임 개발을 지도하고 있으며, 책도 집필 중이다. 중학교 시절 처음으로 게임을 만들었으며, 이후 본업은 물론 취미로 C/C++, 자바, 자바스크립트, 파이썬 등 다양한 프로그래밍 언어로 게임을 개발하고 있다. 저서로는 《가장 재미있는 자바스크립트 입문 교실(いちばんやさしい JavaScript 入門?室)》, 《가장 재미있는 자바 입문 교실(いちばんやさしい Java 入門?室)》 등이 있다.
저자 김연수는 대학 졸업 후 여러 기업에서 다양한 직무를 경험하였다. 현재는 소프트웨어 개발과 함께 업무 생산성 향상을 지원하기 위한 학습과 실험을 꾸준히 진행하고 있다. 최근 관심사는 ‘나와 주변을 끊임없이 변화시키고 좋은 지식을 전달하는 것’과 ‘회사에 속하지 않고도 지속할 수 있는 삶’이다. 옮긴 책으로는 《카이젠 저니》, 《알파제로를 분석하며 배우는 인공지능》, 《IT 전쟁과 평화》, 《케라스로 배우는 신경망 설계와 구현》 등이 있다.
목차
- 1장 게임 개발 기초 지식 1 1
Lesson 1-1 키 입력 2
Lesson 1-2 실시간 처리 7
Lesson 1-3 캐릭터 애니메이션 10
Lesson 1-4 2차원 리스트를 활용한 맵 데이터 처리 18
Lesson 1-5 바닥과 벽 판정 21
COLUMN 파이썬 통합 개발 환경 24
2장 게임 개발 기초 지식 2 29
Lesson 2-1 히트 체크 1 30
Lesson 2-2 히트 체크 2 34
Lesson 2-3 삼각함수 사용법 37
Lesson 2-4 인덱스와 타이머 46
Lesson 2-5 미니 게임을 만들자! 50
COLUMN 게임의 세계관 59
3장 액션 게임을 만들자! -전편- 61
Lesson 3-1 닷-잇 게임이란? 62
Lesson 3-2 미로 표시하기 65
Lesson 3-3 캐릭터 이동하기 68
Lesson 3-4 캐릭터 방향과 애니메이션 74
Lesson 3-5 캐릭터를 부드럽게 움직이기 79
Lesson 3-6 아이템 획득 시 점수 올리기 87
Lesson 3-7 적 등장시키기 92
Lesson 3-8 타이틀, 클리어, 게임 오버 98
COLUMN BASIC과 파이썬 109
4장 액션 게임을 만들자! -후편- 111
Lesson 4-1 여러 스테이지 조합하기 112
Lesson 4-2 캐릭터의 남은 수명 적용하기 123
Lesson 4-3 새로운 적 등장시키기 129
Lesson 4-4 엔딩 만들기 139
Lesson 4-5 다양한 스테이지 준비하기 154
Lesson 4-6 맵 에디터 제작하기 1 156
Lesson 4-7 맵 에디터 제작하기 2 159
COLUMN 유명 애니메이션 게임 개발 비하인드 스토리 1 165
5장 Pygame 사용법 169
Lesson 5-1 Pygame이란? 170
Lesson 5-2 Pygame 설치 172
Lesson 5-3 Pygame의 기본적인 사용법 176
Lesson 5-4 Pygame으로 이미지 그리기 181
Lesson 5-5 이미지 회전, 확대, 축소하기 185
Lesson 5-6 동시에 키 입력하기 189
COLUMN 레트로 게임이란? 192
6장 슈팅 게임을 만들자! -상편- 195
Lesson 6-1 슈팅 게임이란? 196
Lesson 6-2 Pygame으로 고속 스크롤 구현하기 200
Lesson 6-3 플레이어 기체 움직이기 203
Lesson 6-4 탄환 발사하기 212
Lesson 6-5 여러 탄환 발사하기 216
Lesson 6-5 탄막 펼치기 223
COLUMN 유명 애니메이션 게임 개발 비하인드 스토리 2 230
7장 슈팅 게임을 만들자! -중편- 233
Lesson 7-1 적 기체 처리하기 234
Lesson 7-2 적 기체 격추하기 245
Lesson 7-3 폭발 연출 추가하기 252
Lesson 7-4 실드 추가하기 260
Lesson 7-5 타이틀, 게임 플레이, 게임 오버 269
COLUMN 단 3줄로 파티 게임을 만들 수 있는 파이썬 280
8장 슈팅 게임을 만들자! -하편- 283
Lesson 8-1 사운드 추가하기 284
Lesson 8-2 적 종류 늘리기 297
Lesson 8-3 보스 기체 등장시키기 306
Lesson 8-4 게임 완성하기 319
COLUMN 게임 패드로도 조작할 수 있다! 333
9장 3D 카 레이싱 게임을 만들자! -상편- 337
Lesson 9-1 카 레이싱 게임이란? 338
Lesson 9-2 3D CG와 유사 3D란? 341
Lesson 9-3 원근법에 관해 344
Lesson 9-4 도로 표시 방법 고려하기 346
Lesson 9-5 유사 3D로 도로 그리기 pt. 1 349
Lesson 9-6 유사 3D로 도로 그리기 pt. 2 354
Lesson 9-7 도로 커브 표현하기 357
Lesson 9-8 도로 기복 표현하기 pt. 1 362
Lesson 9-10 도로 기복 표현하기 pt. 2 366
COLUMN 도로를 자유롭게 바꾸는 프로그램 370
10장 3D 자동차 레이싱 게임을 만들자! -중편- 373
Lesson 10-1 Pygame 사용하기 374
Lesson 10-2 코스를 실감나게 그리기 376
Lesson 10-3 커브에 맞춰 배경 움직이기 384
Lesson 10-4 도로 기복 표현하기 389
Lesson 10-5 차선 구분선 그리기 395
Lesson 10-6 코스 정의 pt1. - 커브 데이터 400
Lesson 10-7 코스 정의 pt.2 - 기복 데이터 404
Lesson 10-8 코스 정의 pt.3 - 도로 주변 건물 407
Lesson 10-9 플레이어 차량 제어하기 415
COLUMN 처리 누락 판정하기 428
11장 3D 자동차 레이싱 게임을 만들자! -후편- 431
Lesson 11-1 컴퓨터 차량 추가하기 432
Lesson 11-2 차량 충돌 판정 추가하기 444
Lesson 11-3 시작부터 골까지의 흐름 453
Lesson 11-4 랩 타임 추가하기 464
Lesson 11-5 차종 선택 추가하기 476
COLUMN 컴퓨터 게임 인공지능 489
특별부록 Game Center 208X 493
1 Game Center 208X 494
2 블록 낙하 퍼즐 ‘애니멀’ 501
이 책을 마치며 502
찾아보기 504
책 속으로
예를 들어, ‘슈퍼 마리오 브라더스(Super Mario Bro.)’와 같은 2D 액션 게임을 만드는 경우를 가정해 보겠습니다. 블록은 간단하게 디자인할 수 있으므로 직접 그리고, 배경 구름이나 산은 무료 리소스를 사용합니다. 주인공과 적 캐릭터는 예쁘게 보이는 오리지널 디자인이 좋을 것이므로 인터넷에서 디자이너를 찾아봅니다. 이런 방법으로 접근하면 큰 비용을 들이지 않고 어느 정도의 품질이 보장되는 게임을 만들 수 있습니다. _xxvii쪽
삼각함수란 삼각형의 각의 크기와 변의 길이의 비를 표시하는 함수입니다. 게임 개발에서는 삼각함수를 사용해 캐릭터의 움직임을 예측하거나, 이펙트의 자취를 화려하게 그릴 수 있습니다. 이 책에서는 슈팅 게임 제작에서 삼각함수를 활용해 적기의 이동 방향을 계산하거나, 탄환을 방사형으로 발사합니다. _37쪽
45~95번 행에 작성한 스테이지 데이터를 설정하는 set_stage() 함수를 확인합니다. 이 함수에서 stage 값에 따라 map_data에 미로 데이터를 대입합니다. set_stage() 함수에서는 미로 데이터 대입 이외에도 게임 시작 시 레드의 좌표를 red_sx, red_sy라는 변수에 대입합니다. 그리고 각 캐릭터를 시작 위치에 두는 set_chara_pos() 함수에서 다음과 같이 해당 좌표를 설정합니다. _121쪽
몇 개월의 제작 기간을 거쳐 ‘RPG 과학닌자대 갓차맨’을 완성했습니다. 전투 신에서는 독수리 켄, 콘돌 죠, 백조 준, 제비 진페이, 부엉이 류가 과학닌자대로 변신해 휴대전화의 액정 화면을 가득 채우며 적을 쓰러뜨려 갑니다. 필자 스스로도 갓차맨의 팬이어서 ‘원작 팬이 납득할 수 있는 게임을 만들자’는 목표로 게임을 만들었다고 생각했습니다. 좋아하는 애니메이션 작품을 게임으로 완성시킨 기쁨은 이루 말할 수 없었습니다. _231쪽
3D CG를 그릴 수 있는 하드웨어가 등장하기 전, 2D를 그리는 기능 밖에 없었던 게임기나 PC에서도 게임 제작사들은 다양한 방법을 통해 3차원 세계를 표현해 3D 게임을 발매했습니다. 2D를 그리는 기능만을 가진 하드웨어로 3D 화면을 표현하는 방법으로는 다음과 같은 것들이 있습니다. _341쪽
Pygame에는 그림을 그릴 화면(Surface)에 투과색과 투명도를 지정하는 명령을 제공합니다. 이 함수에서는 shadow라는 이름으로 surface를 준비하고 이를 빨갛게 칠한 뒤, set_colorkey() 명령으로 빨강을 투과시키도록 지정합니다. Surface를 게임 화면에 전송하면 투과색으로 지정한 색은 화면에 표시되지 않습니다. _425쪽
출판사 서평
파이썬을 통해 본격적으로 상업용 게임을 만든다!
25년차 현직 게임 프로그래머가 알려 주는 게임 개발 노하우!
이 책은 프로그래밍 언어인 파이썬(Python)을 사용해 본격적인 게임 개발 방법을 설명한 《파이썬으로 배우는 게임 개발 입문편》의 후편으로 파이썬에 관한 지식이 있다면 이번 실전편부터 읽기 시작해도 게임 개발의 노하우를 확실하게 배울 수 있습니다. 이 책에서는 액션 게임, 슈팅 게임, 그리고 유사 3D 영상 표현을 활용한 3D 카 레이싱 게임을 만들어 봅니다. 또한, 이미 입문편에서 몇 가지 미니 게임, 블록 낙하 퍼즐, 롤플레잉 게임 제작 방법을 설명하고 있으므로 함께 읽으면 보다 폭넓은 장르의 게임 개발을 배울 수 있습니다.
이 책에서는 다양한 상업용 게임 소프트웨어를 개발해 온 필자의 경험을 바탕으로, 게임 개발에 필요한 테크닉을 총망라했으므로 독자 여러분이 오리지널 게임을 만들 때 참고할 수 있습니다. 또한, 게임 개발을 통해 파이썬을 보다 깊이 학습할 수 있도록 염두에 두었으므로 파이썬을 보다 잘 사용하고 싶은 분도 충분히 활용할 수 있으리라 생각합니다. 취미로 게임을 개발하고 싶은 분, 프로그래머라는 큰 꿈을 실현하고 싶은 분을 포함한 모든 분에게 이 책이 도움이 된다면 무엇보다 행복할 것 같습니다.
─ ‘머리말’ 중에서
이 책의 대상 독자
? 국내외 게임 개발 회사에 취업하려는 분
? 게임 크리에이터를 꿈꾸는 분
? 오픈마켓 판매용이나 취미, 개인 소장용으로 게임을 만들고 싶은 분
? 파이썬을 쉽고 재미있게 배우고 싶은 분
기본정보
ISBN | 9791190665452 ( 119066545X ) | ||
---|---|---|---|
발행(출시)일자 | 2020년 11월 20일 | ||
쪽수 | 544쪽 | ||
크기 |
170 * 224
* 34
mm
/ 840 g
|
||
총권수 | 1권 | ||
원서명/저자명 | PYTHONでつくるゲ-ム開發入門講座 實踐編/廣瀨豪 |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립