홈 > 부모님 > 부모님 > 소설,일반 > 컴퓨터,모바일
레트로 게임 만들기 with 파이썬  이미지

레트로 게임 만들기 with 파이썬
핑퐁, 벽돌 깨기, FPS 10개 슈팅 게임으로 마스터하는 파이썬 & Pygame
루비페이퍼 | 부모님 | 2025.11.01
  • 정가
  • 35,000원
  • 판매가
  • 31,500원 (10% 할인)
  • S포인트
  • 1,750P (5% 적립)
  • 상세정보
  • 18.8x25.7 | 1.376Kg | 724p
  • ISBN
  • 9791193083314
  • 배송비
  • 2만원 이상 구매시 무료배송 (제주 5만원 이상) ?
    배송비 안내
    전집 구매시
    주문하신 상품의 전집이 있는 경우 무료배송입니다.(전집 구매 또는 전집 + 단품 구매 시)
    단품(단행본, DVD, 음반, 완구) 구매시
    2만원 이상 구매시 무료배송이며, 2만원 미만일 경우 2,000원의 배송비가 부과됩니다.(제주도는 5만원이상 무료배송)
    무료배송으로 표기된 상품
    무료배송으로 표기된 상품일 경우 구매금액과 무관하게 무료 배송입니다.(도서, 산간지역 및 제주도는 제외)
  • 출고일
  • 1~2일 안에 출고됩니다. (영업일 기준) ?
    출고일 안내
    출고일 이란
    출고일은 주문하신 상품이 밀크북 물류센터 또는 해당업체에서 포장을 완료하고 고객님의 배송지로 발송하는 날짜이며, 재고의 여유가 충분할 경우 단축될 수 있습니다.
    당일 출고 기준
    재고가 있는 상품에 한하여 평일 오후3시 이전에 결제를 완료하시면 당일에 출고됩니다.
    재고 미보유 상품
    영업일 기준 업체배송상품은 통상 2일, 당사 물류센터에서 발송되는 경우 통상 3일 이내 출고되며, 재고확보가 일찍되면 출고일자가 단축될 수 있습니다.
    배송일시
    택배사 영업일 기준으로 출고일로부터 1~2일 이내 받으실 수 있으며, 도서, 산간, 제주도의 경우 지역에 따라 좀 더 길어질 수 있습니다.
    묶음 배송 상품(부피가 작은 단품류)의 출고일
    상품페이지에 묶음배송으로 표기된 상품은 당사 물류센터에서 출고가 되며, 이 때 출고일이 가장 늦은 상품을 기준으로 함께 출고됩니다.
  • 주문수량
  • ★★★★★
  • 0/5
리뷰 0
리뷰쓰기

구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.

  • 도서 소개
  • 출판사 리뷰
  • 작가 소개
  • 목차
  • 회원 리뷰

  도서 소개

조작은 단순하지만 몰입감이 확실한 레트로 게임을 함께 만들어간다. 공을 튕기고, 총알을 쏘고, 점수가 오를 때마다 직접 짠 코드가 살아 움직이는 짜릿함을 느낄 수 있다. “조금만 더 해보면 진짜 게임이 완성될 것 같아.”라는 설렘이 이어진다.

공이 정확히 튕기게 하는 일, 총알이 화면 밖으로 나가지 않게 제어하는 일, 점수를 올리는 로직을 만드는 일 등은 모두 새로운 도전이다. 그러나 이런 작은 문제를 하나씩 해결하며 게임이 점점 ‘게임다워지는 경험’을 하게 되고, 학습을 넘어 ‘만드는 즐거움’을 체험하게 된다.

중요한 건 완벽함이 아니라 끝까지 해내는 일이다. 작은 성공이 쌓여 큰 성취가 되고, 단순한 기능들이 모여 하나의 완성된 작품이 된다. 이 책은 바로 그 첫 작품을 완성하도록 돕는 든든한 길잡이다.

  출판사 리뷰

유튜브보다 깊고, 개발 문서보다 쉽게!
단계별로 구성된 가장 친절한 레트로 게임 개발 가이드

이 책에서 우리가 함께 만들 게임은 공을 튕겨 블록을 없애거나 총알로 적을 제거하는, 조작은 단순하지만 몰입감은 확실한 레트로 게임들입니다. 공이 튕기고, 총알이 날아가고, 점수가 올라가는 그 순간마다 직접 만든 코드가 살아 움직인다는 짜릿한 경험을 하게 될 겁니다. 그리고 그 경험은 우리에게 다시 이렇게 말해줍니다. “조금만 더 해보면 진짜 게임이 완성될 것 같아.”
물론 처음부터 모든 것이 술술 풀리지는 않습니다. 공을 정확히 튕기는 것, 총알이 화면 밖으로 나가지 않도록 처리하는 것, 점수를 올리는 로직을 짜는 것 하나하나가 새로운 도전일 수 있습니다. 하지만 이런 작은 문제들을 하나씩 해결해 나가다 보면, 게임이 점점 ‘게임다워지는 경험’을 하게 됩니다. 바로 그때 여러분은 단순한 학습을 넘어서 ‘만드는 즐거움’을 느끼게 될 것입니다.
중요한 건 완벽하게 하는 것이 아니라 끝까지 계속해보는 것입니다. 아주 작은 성공도 모이고 모이면 큰 성취가 됩니다. 단순한 기능들이 하나씩 연결되어, 나중에는 완성된 하나의 작품이 되는 것이죠. 이 책은 여러분이 바로 그런 첫 작품을 완성하도록 돕는 길잡이가 될 것입니다.

★이 책에서 다루는 주요 분야★
Stage 1 : 게임 개발, 그 모험의 시작
파이썬과 PyCharm으로 개발 기지를 구축합니다. 게임 개발을 시작할 준비를 마칠 수 있어요.

Stage 2 : Pygame이라는 전설의 아이템을 얻자!
Pygame 이라는 라이브러리, 즉 핵심 도구를 손에 쥐게 됩니다.
▶ 만드는 게임: 반응 속도 테스트, 초간단 탁구 게임, 우주 여행 화면 보호기

Stage 3 : 레트로 게임 던전 탐구하기
레트로 아케이드 게임들을 만들며 게임의 원리를 이해하고 코딩 실력을 키웁니다.
▶ 만드는 게임: 탁구 게임, 벽돌 깨기 게임, 총알 피하기 게임

Stage 4 : 레트로 게임 던전 중간 보스전
Stage 3에서 다룬 것보다 난이도 높은 게임들을 만들며 게임의 원리를 이해하고 코딩 실력을 키웁니다.
▶ 만드는 게임: 경찰 FPS 게임, 우주 침략자 게임

Stage 5 : 레트로 게임 던전 최종 보스전
이 책에서 가장 어려운 난이도에 맞춰 게임을 제작합니다. 이 과정에서 지금까지 학습한 개념을 총망라하고 정리할 수 있습니다.
▶ 만드는 게임: 용 비행 슈팅 게임, 스페이스 탄막 슈팅 게임

부록 : 자주 마주치는 에러 및 해결 방법
게임을 개발하는 동안 자주 마주하게 되는 파이썬 문법 및 Pygame 관련 에러 해결법을 정리했습니다.
예제 파일 : github.com/IhyeonKlim/retroGameWithPython

★이 책의 대상 독자★
- 프로그래밍 경험은 거의 없지만, 직접 게임을 만들어 보고 싶다면?
- 게임 완성 후 디자인이나 사운드까지 스스로 꾸며 보고 싶다면?
- 파이썬이라는 언어를 배웠지만 ‘무엇을 만들어야 할지’ 모르겠다면?
- 물리, 충돌, 점수 계산 등 게임의 핵심 로직을 단계별로 익히고 싶다면?
- 파이썬 수업에서 실습 프로젝트를 찾고 있다면?

  작가 소개

지은이 : 조수현
現 (ETRI부설)국가보안기술연구소 선임연구원前 삼성전자 무선사업부 선임연구원충남대학교 대학원 국가안보융합학과 박사과정고려대학교 대학원 컴퓨터학과 공학박사수료중앙대학교 산업창업경영대학원 정보경영전공 경영학석사인하대학교 대학원 컴퓨터정보공학과 공학석사한남대학교 전자공학과 공학사現 대전광역시 데이터기반행정 활성화 위원회 정책위원現 KITRI BoB 보안제품개발트랙 멘토前 SW마에스트로 멘토前 이노베이션아카데미 42서울 비상근 멘토창의적소프트웨어 및 서비스 공모전 최우수상ImagineCup 한국대표 선발전 소프트웨어디자인부문 3위전국정보화능력개발경진대회 응용소프트웨어개발부문 2위전국정보통신경진대회 교육용소프트웨어개발부문 대상 외 다수

지은이 : 김이현
現 정부 기관 SM 프로젝트 PL現 대덕인재개발원 시간 강사前 백엔드 개발자前 대한민국 육군 대위대덕인재개발원 풀스택 과정 수료단국대학교 경영학과 경영학사

지은이 : 이승현
現 서울여자대학교 디지털미디어학과 겸임교수現 건국대학교 대학원 메타버스융합학과 겸임교수現 (주)노바프로토콜 대표前 블록체인 스타트업 선임연구원前 중앙대학교 강사前 이화여자대학교 강사前 동국대학교 강사고려대학교 대학원 컴퓨터학과 공학박사수료경북대학교 과학기술대학원 융복합시스템공학전공 공학석사경북대학교 융복합시스템공학부 공학사

지은이 : 노근우
現 AlpacaX 소프트웨어 엔지니어단국대학교 컴퓨터공학과 공학사

  목차

Stage 01 게임 개발, 그 모험의 시작

Level 1 파이썬 개발 기지 구축
__1.1 파이썬이 초보에게 유리한 이유
__1.2 파이썬 다운로드 및 설치 방법
__1.3 PyCharm 다운로드 및 설치 방법
__1.4 PyCharm 실행하고 설정하기
____프로젝트 생성하기
__1.5 Pygame 라이브러리 다운로드 및 불러오기
____Pygame 다운로드하기
____Pygame 불러오기
____PyCharm 메뉴 한글 설정하기
__1.6 예제 자료 다운로드 및 불러오기
____코드 다운로드 & 실행 방법

Level 2 파이썬으로 전투 준비
__2.1 파이썬 기본 문법 마스터하기
____1. 주석
____2. 변수 선언과 자료형
____3. 함수
____4. 조건문(if문)
____5. 반복문(while문)
____6. 산술 연산자
____7. 대입 연산자
____8. 비교 연산자
____9. 논리 연산자
____10. 내장 함수
____11. 변수의 형태 변환
__2.2 구미호와 쉬운 남자 1
__2.3 파이썬 심화 문법 마스터하기
____1. 자료 구조: 리스트, 튜플, 딕셔너리
____2. 반복문(for문)
____3. 스코프
____4. 모듈과 패키지
____5. 알아 두면 좋은 함수 enumerate()
____6. try except로 예외 처리하기
__2.4 구미호와 쉬운 남자 2
__2.5 코드를 ‘읽는’ 방법
__2.6 알아 두면 좋을 코드 스타일 가이드
____1. PEP 8의 주요 사항
____2. 코드 가독성을 높이는 4가지 PyCharm 설정

Stage 02 Pygame이라는 전설의 아이템을 얻자!

Level 3 첫 번째 퀘스트, Pygame 장착하기
__3.1 Pygame의 구조 이해하기
____1. Pygame 초기화
____2. Pygame 창 만들기
____3. Pygame 종료하기
____4. 프레임 이해하기
____5. update()로 프레임 이어 붙이기
____6. Pygame으로 도화지에 그림 그리기 “hello world”
__3.2 Pygame의 도구와 개념 익히기
____1. 좌표
____2. 텍스트와 폰트
____3. 색상
____4. 타이머와 시간
____5. 화면(FPS) 컨트롤
____6. 사각형 그리기
____7. 원 그리기
____9. 마우스 컨트롤
____10. 충돌 감지

Level 4 두 번째 퀘스트, Pygame 수련하기
__4.1 반응 속도 테스트 만들기
____1. Pygame 초기화 및 기본 화면 설정
____2. 원 그리기 및 초기 색상 설정
____3. 안내 텍스트 추가
____4. 랜덤 시간 설정
____5. 클릭 반응 시간 기록
____6. 잘못된 클릭 처리와 게임 초기화
__4.2 초간단 탁구 게임 만들기
____1. Pygame 초기 설정 및 화면 생성
____2. 플레이어 1 패들 생성 및 움직임 구현
____3. 플레이어 2 패들 생성 및 움직임 구현(방향키 사용)
____4. 공 생성 및 위치 설정
____5. 공 움직이기
____6. 공의 경계 충돌 구현(상하 반사)
____7. 공과 패들의 충돌 구현

Level 5 세 번째 퀘스트, 화면 보호기
__5.1 ‘우주 여행’ 화면 보호기 만들기
__5.2 시각적 몰입감의 원리 이해하기
__5.3 초기 설정 및 클래스 기능, 속성 설계하기
__5.4 변수 추가 및 함수 기능 구현하기
__5.5 별의 이동 구현하기
__5.6 운동 시차 구현하기

Stage 03 레트로 게임 던전 탐구하기

Level 6 레트로 게임 마스터 1, 탁구 게임
__6.1 모티브 게임 퐁
__6.2 게임 기획 및 개발 단계 정리하기
__6.3 화면 설정하기
__6.4 테두리 그리기
__6.5 플레이 구역 구분하기
__6.6 ‘함수화’를 활용한 점선 그리기
__6.7 점선으로 플레이 공간 구분하기
__6.8 라켓 생성하기
__6.9 공 생성하기
__6.10 라켓 움직이기
____1. 첫 번째 문제: 게임 구역을 벗어나는 라켓
____2. 두 번째 문제: 끊어지는 키 입력
__6.11 공 움직이기
____1. 등속, 가속, 충돌
____2. 등속과 방향
____3. 충돌 개념 구현
____4. 가속과 제한 속도 개념 구현
__6.12 플레이어와 공의 충돌 구현하기
__6.13 점수 표시하기
__6.14 게임 종료 조건 만들기
__6.15 게임 재시작 화면 만들기
__6.16 실행 시간 설정하기
__6.17 게임 타이틀 화면 추가
__6.18 공의 시작 방향과 밸런스 설정하기
__6.19 좌우 테두리 없애기
__6.20 공을 원으로 만들기
__6.21 마무리, 전체 코드 정리하기
____불필요한 import 구문 정리
____중복된 코드 함수화(draw_text)
____Pygame 이벤트 처리 방식 개선
____코드 중복 제거와 위치 조정(Ball 클래스 초기화)
____게임 상태 변수의 일관성 유지
____코드 스타일 개선(PEP 8 준수)

Level 7 레트로 게임 마스터 2, 벽돌 깨기 게임
__7.1 모티브 게임, 알카노이드
__7.2 화면 생성 & 게임 루프 설정하기
__7.3 플레이어(패들) 생성하기
__7.4 블록 생성하기
__7.5 공 생성하기
__7.6 공의 움직임 구현하기
__7.7 공과 블록 충돌 구현하기
__7.8 공과 플레이어 충돌 구현하기
__7.9 점수 및 생명 시스템 구현하기
__7.10 블록 크기 & 배치 수정하기
__7.11 충돌 처리 개선하기
__7.12 아이템 생성하기
__7.13 아이템 이동 및 충돌 구현하기
__7.14 아이템과 패들의 상호 작용 효과 구현하기
__7.15 아이템 색상 변경하기
__7.16 아이템 추가 효과 부여하기
__7.17 리팩토링하기
__7.18 게임 인트로 & 게임 오버 화면 구현하기
__7.19 블록 기능 패치하기
__7.20 플레이어와 공 기능 패치하기

Level 8 레트로 게임 마스터 3, 총알 피하기 게임
__8.1 모티브 게임, 닷지
__8.2 기본 설정과 초기 화면 구성하기
__8.3 플레이어 클래스 정의하기
__8.4 총알 클래스 정의하기
__8.5 충돌 감지 기능과 게임 종료/재시작 기능 구현하기
__8.6 점수 기능 구현하기
__8.7 게임 상태 관리하기
__8.8 게임 클래스 구현하기
__8.9 특별한 총알, 혜성 구현하기
__8.10 총알 재생성과 개수 표시 기능 추가하기
__8.11 최고 점수 기록 시스템 구현하기
__8.12 BGM 넣기
__8.13 이미지 넣기

Stage 04 레트로 게임 던전 중간 보스전

Level 9 레트로 슈팅 게임 마스터 1, 경찰 FPS 게임
__9.1 모티브 게임, 버추어 캅
__9.2 기본 설정과 초기화하기
__9.3 총기 클래스 구현 및 총알 발사 기능 추가하기
__9.4 플레이어 상태 클래스 구현하기
__9.5 십자선 구현하기
__9.6 적 객체 생성 및 기본 동작 구현하기
__9.7 인질 객체 생성 및 기본 동작 구현하기
__9.8 적 공격 및 동심원 판정 구현하기
__9.9 적과 인질의 충돌 판정 구현하기
__9.10 스페셜 적 추가하기
__9.11 피격 효과 구현하기
__9.12 피격 효과 포함한 총기 UI 및 퀵 리로드 표시하기
__9.13 인질의 동작과 상호 작용 개선하기
__9.14 Game 클래스로 전체 흐름 관리하기
__9.15 Intro, game over, 재시작 기능 추가하기
__9.16 게임 밸런스 조정하기
__9.17 이미지 추가하기

Level 10 레트로 슈팅 게임 마스터 2, 우주 침략자 게임
__10.1 모티브 게임, 스페이스 인베이더
__10.2 실행 환경 만들기
__10.3 unit과 player 클래스 구현하기
__10.4 침략자 만들기
__10.5 침략자 무리 만들기
__10.6 침략자에게 색상 입히기
__10.7 침략자 움직이기
__10.8 플레이어의 총알 구현하기
__10.9 적과 총알의 충돌 구현하기
__10.10 적의 총알 구현하기
__10.11 점수, 생명 시스템 구현하기
__10.12 게임 종료 조건 및 화면 구현하기
__10.13 게임 난이도 높이기 ① 벽 구현하기
__10.14 게임 난이도 높이기 ② UFO 만들기

Stage 05 레트로 게임 던전 최종 보스전

Level 11 비상하는 용의 전설, 용 비행 슈팅 게임
__11.1 모티브 게임, 드래곤 플라이트
__11.2 스크롤링 배경 만들기
__11.3 모듈화를 활용한 게임 설계하기
____게임의 핵심 요소 살펴보기
____게임 프로젝트 구조
____게임 제작 시 참고 사항
__11.4 Main 클래스의 구성 살펴보기
__11.5 Player 클래스의 구성 살펴보기
__11.6 Monster 구현하기
__11.7 Coin 구현하기
__11.8 Item 구현하기
__11.9 Bullet 구현하기
__11.10 Boss 구현하기
__11.11 Meteo 구현하기
__11.12 Utils 구현하기
__11.13 TicksManager 관리하기
__11.14 Scrolling_background 구현하기

Level 12 스페이스 탄막 슈팅 게임
__12.1 모티브 게임, 스트라이커즈 1945
__12.2 게임 초기 설정 및 배경 요소 구현하기
__12.3 플레이어 클래스 만들기
__12.4 적 클래스 만들기
__12.5 시나리오 파일 만들기
__12.6 충돌 처리
__12.7 특수 스킬

부록 자주 마주치는 에러 및 해결 방법

부록 A 해결 방법이 간단한 에러
__A.1 파이썬 문법 및 오타 관련 에러
__A.2 변수 참조 및 할당 관련 에러
__A.3 타입 및 연산 관련 에러
__A.4 자료 구조 및 인덱싱 관련 에러
__A.5 타입 변환 및 값 관련 에러
__A.6 반복 및 순회 관련 에러
__A.7 파일 입출력 및 경로 관련 에러
__A.8 모듈 및 임포트 관련 에러
__A.9 사용자 인터럽트 및 종료 관련 에러
__A.10 모호한 접근 및 논리 오류
__A.11 수학 관련 에러
__A.12 메모리 및 리소스 관련 에러

부록 B Pygame 에러
__B.1 메인 루프 내에서 시간 관리 미흡
__B.2 이벤트 처리를 제대로 하지 않음
__B.3 객체 지향 프로그래밍(OOP)의 활용 부족
__B.4 화면 업데이트 및 flip()/update() 호출 실수
__B.5 리소스 관리 문제(메모리 누수)
__B.6 충돌 감지 및 처리 로직의 잘못된 구현
__B.7 화면 깜박임 문제
__B.8 게임 루프 내에서 리소스 로딩 및 사운드 초기화의 비효율적 사용
__B.9 잘못된 프레임 기반 이동
__B.10 텍스트 렌더링 문제

  회원리뷰

리뷰쓰기

    이 분야의 신상품