파이썬-파이게임 제로 (순한맛)
매운맛으로 공부하기Mu에디터 커스텀 버전 다운로드Mu에디터 한글화 프로젝트 참여책관련 Q&A
  • 게임제작하며 프로젝트 기반으로 파이썬 배우기 (순한맛)
  • 1. 파이게임 제로(pygame zero) 라이브러리
  • 2. 개발환경 구축
  • 3. Hello World 프로그램에서 시작하자
  • 4. 게임 루프의 이해
  • 5. 플래피 버드(Flappy bird) 게임 만들기
    • 5.1 화면에 배경 이미지(오브젝트) 나타내기
    • 5.2 화면에 플래피버드(오브젝트) 나타내기와 움직이기
    • 5.3 화면에 플래피버드(오브젝트)의 자연스러운 움직임 만들기
    • 5.4 화면에 파이프(오브젝트) 나타내기와 움직이기
    • 5.5 플래피버드와 파이프의 충돌 구현하기
    • 5.6 플래피버드 게임 추가기능 구현하기 (점수기능)
    • 5.7 플래피버드 게임 추가기능 구현하기 (파이프 위치 랜덤화)
    • 5.8 플래피버드 게임 추가기능 구현하기 (플래피버드 애니메이션)
  • 6. 블록격파(Breakout) 게임만들기
    • 6.1 게임무대에 배경과 배우 등장시키기
    • 6.2 배우들의 움직임 구현하기
    • 6.3 공의 반사와 블록격파 구현하기
    • 6.4 충돌검사시 고려할 것들
    • 6.5 (보너스) 오리지널 게임처럼 만들어 보기
  • 7. 트윈비(TwinBee) 슈팅게임 만들기
    • 7.1 스크롤 배경객체 만들기, 배경음, 배우(적, 주인공) 등장시키기
    • 7.2 배우들의 움직임과 총알 공격 구현하기
    • 7.3 충돌처리 및 기타정보(점수 및 게임종료) 표기
    • 7.4 그 밖에 도전과제
  • 8. 퐁(Pong) 게임 만들기
    • 8.1 절차지향으로 개발하기 1
    • 8.2 절차지향형으로 개발하기 2
    • 8.3 객체지향 개발이론 (객제지향 디자인이란)
    • 8.4 객체지향 개발이론 (사용자 정의 객체 만들기, 상속)
    • 8.5 객체지향으로 개발하기 1
    • 8.6 객체지향으로 개발하기 2
    • 8.7 (보너스) 파이게임제로 예제버전 1
    • 8.8 (보너스) 파이게임제로 예제버전 2
  • 9. 배틀 시티(Battle city) 게임 만들기
    • 9.1 절차지향형으로 개발하기 1
    • 9.2 절차지향형으로 개발하기 2
    • 9.3 객체지향으로 개발하기 1
    • 9.5 객체지향 개발이론 (인터페이스)
    • 9.6 객체지향으로 개발하기 2
    • 9.7 객체지향으로 개발하기 3
    • 9.8 객체지향으로 개발하기 4
  • 10. 퐁(Pong)을 네트워크 게임으로 만들기
    • 10.1 네트워크 게임방식의 이해와 라이브러리 설치
    • 10.2 릴레이 서버 구동과 클라이언트 접속
    • 10.3 네트워크 게임으로 만들기 1
    • 10.4 네트워크 게임으로 만들기 2
  • 부록
    • 게임을 단 한 개의 실행파일로 패키징 하기
    • 뮤 에디터 단축키 모음
Powered by GitBook
On this page

Was this helpful?

6. 블록격파(Breakout) 게임만들기

Previous5.8 플래피버드 게임 추가기능 구현하기 (플래피버드 애니메이션)Next6.1 게임무대에 배경과 배우 등장시키기

Last updated 6 months ago

Was this helpful?

블록격파 게임은 모르는 사람이 없을 정도로 1972년에 창업한 세계 최초의 비디오게임 회사인 에서 1976년에 제작한 아주 고전적인 게임이다. 시간을 거치면서 다양한 변형 버전이 출시되었으나, 우리는 발매당시 최초 버전의 블록격파 게임(또는 벽돌깨기 게임이라고도 불렸으며, 영어의 원제는 임) 고전게임의 기본적인 게임룰을 따라하는 것을 목표할 것이다. 즉, 게임화면 하단을 제외하고는 화면의 모든 닿는 것을 반사시키는 공이 계속 반사되면서 모든 블록(또는 벽돌)을 격파하는게(부시는게) 목표인 게임의 클론(clone)을 같이 만들어 보겠다.

블록격파(벽돌깨기) 게임을 만드는 방식을 크게 2가지 중 하나를 택할 수 있는데, 이 게임무대의 배우들(블록, 공, 반사판)을 전부 직접 코딩으로 그려서 사용할 것인가와 아니면 기존처럼 전부 준비된 이미지를 사용해서 만들 것인가를 선택할 수 있다. 전자는 사실은 이 게임의 원조게임에서 사용했던 방식이고, 후자는 요즘 트랜드의 그래픽을 중시하는 게임이라 할 수 있는데 그렇다면, 두 게임제작 방법 중에 단순히 어떤 것이 더 코딩이 적고 코드를 이해하기 쉬운가를 따지면, 후자쪽이다.

그러나 만약 우리는 1인 개발자라서 게임에 필요한 이미지들을 본인이 직접 그래픽편집툴을 사용해 다 제작해야 한다면 코딩은 적어진다고 해도, 이 작업에서 시간과 노력이 많이 들어갈 수도 있어서 전체적으로 개발자 입장에서 어떤게 더 편하냐의 의미는 달라질 수도 있다.

이번 6장에서 우리는 이렇게 하겠다. 우선 더 쉬운 방법인 준비된 이미지들을 활용한 게임을 먼저 만들고, 이후로 추가 옵션으로 이미지들은 전혀 사용하지 않고, 게임의 등장인물들은 모두 코딩으로 직접 그려서 만드는 원조 게임의 클론(clone)을 추가적으로 만들어 보기로 하겠다.

아타리(Atari)
Breakout