파이썬으로 배우는 게임 개발: 실전편
이 책의 이벤트
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
북카드

이 책의 시리즈 (2)
작가정보
와세다 대학교 이공학부를 졸업하고 남코에서 기획자로, 닌텐도와 코나미의 합병회사에서 프로그래머와 디렉터로 근무했다. 이후 유한회사인 월드 와이드 소프트웨어를 설립하여 가정용 게임 소프트웨어, 상용 게임기, 휴대전화용 애플리케이션, 웹 애플리케이션 등을 개발해 왔다. 게임 개발사를 운영하는 것 외에도 교육 기관에서 프로그래밍과 게임 개발을 지도하고 있으며, 책도 집필 중이다. 중학교 시절 처음으로 게임을 만들었으며, 이후 본업은 물론 취미로 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 | ||
---|---|---|---|
발행(출시)일자 | 2020년 11월 20일 | ||
쪽수 | 544쪽 | ||
크기 |
170 * 224
* 34
mm
/ 840 g
|
||
총권수 | 1권 | ||
원서(번역서)명/저자명 | PYTHONでつくるゲ-ム開發入門講座 實踐編/廣瀨豪 |
Klover 리뷰 (6)
구매 후 리뷰 작성 시, e교환권 200원 적립
사용자 총점
50%의 구매자가
추천해요 라고 응답했어요
집중돼요
도움돼요
쉬웠어요
최고예요
추천해요
문장수집 (0)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립
-
반품/교환방법
* 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900) -
반품/교환가능 기간
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내 -
반품/교환비용
-
반품/교환 불가 사유
(단지 확인을 위한 포장 훼손은 제외)
2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
3) 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등 -
상품 품절
-
소비자 피해보상 환불 지연에 따른 배상
2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)
기분 좋은 발견
이 분야의 베스트
이 분야의 신간
-
움직이는 그림 만들기 with Unity10% 19,800 원
-
현업 기획자 마이즈가 알려주는 게임 시나리오 스쿨10% 23,400 원
-
유니티 게임 제작 입문10% 23,400 원
-
언리얼 엔진5으로 개발하는 멀티플레이어 게임10% 36,000 원
-
레트로의 유니티 6 게임 프로그래밍 에센스10% 59,400 원