본문 바로가기

[Pygame] 🏰 2D 타워 디펜스 게임 만들기 1강 | 개발 환경 준비

@도마22026. 2. 1. 19:00
728x90


이번 강의부터 Pygame을 이용해 2D 타워디펜스 게임을 만들어봅니다.
적이 정해진 길(Path) 을 따라 이동하고, 플레이어는 타워를 설치해 이를 막는 고정 경로형 타워디펜스입니다.

1강에서는 본격적인 게임 로직에 들어가기 전,
개발 환경을 준비하고 Pygame 기본 창을 띄우는 것이 목표입니다.


1. 프로젝트 생성

새 폴더를 하나 만들고 이름을 아래처럼 정합니다.

tower_defense

해당 폴더 안에 main.py 파일을 생성합니다.

tower_defense
 ├─ main.py
 └─ images

images 폴더는 이후 타워, 적, 배경 이미지를 저장하는 용도로 사용합니다.


2. Pygame 초기화

모든 Pygame 게임은 시작 시 반드시 초기화가 필요합니다.

import pygame
import sys

pygame.init()

3. 게임 화면 생성

이제 게임이 표시될 창을 생성합니다.

SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600

screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("Tower Defense")

이 해상도는 이후 타워, 경로, UI를 모두 배치하기에 적당한 크기입니다.


4. FPS 설정

게임 속도를 일정하게 유지하기 위해 FPS를 설정합니다.

clock = pygame.time.Clock()
FPS = 60

5. 메인 루프와 이벤트 처리

게임은 메인 루프 안에서 계속 실행됩니다.
창을 정상적으로 닫기 위해 이벤트 처리도 함께 작성합니다.

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

6. 화면 그리기 및 업데이트

매 프레임마다 화면을 지우고 다시 그립니다.

    screen.fill((30, 30, 30))
    pygame.display.update()
    clock.tick(FPS)

7. 실행 결과

코드를 실행하면
어두운 회색 배경의 빈 게임 창이 나타납니다.

이 창이 앞으로 타워디펜스 게임 전체가 구현될 무대입니다.


다음 강의 예고

다음 강의에서는
타워디펜스의 핵심 요소인 고정 경로(Path) 를 만들고
적이 이동할 길을 화면에 직접 그려봅니다.


전체 코드

더보기
import pygame
import sys

pygame.init()  # pygame 초기화

SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600

screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("Tower Defense")

clock = pygame.time.Clock()
FPS = 60

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    screen.fill((30, 30, 30))  # 배경 색상
    pygame.display.update()    # 화면 갱신
    clock.tick(FPS)            # FPS 유지

728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차