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
'⚙️ Python > 🎮 Pygame 실전' 카테고리의 다른 글
| [Pygame] 🏰 2D 타워 디펜스 게임 만들기 3강 | 적 만들기 & 경로 따라 이동시키기 (0) | 2026.02.03 |
|---|---|
| [Pygame] 🏰 2D 타워 디펜스 게임 만들기 2강 | 고정 경로 만들기 (0) | 2026.02.02 |
| [Pygame] ✈️ 전투기 슈팅 게임 만들기 13강 | 아이템 생성 & 회복 시스템 구현 (0) | 2026.01.23 |
| [Pygame] ✈️ 전투기 슈팅 게임 만들기 12강 | 적 타입 & 이동 패턴 추가하기 (0) | 2026.01.22 |
| [Pygame] ✈️ 전투기 슈팅 게임 만들기 11강 | 움직이는 배경(세로 스크롤) 구현하기 (0) | 2026.01.21 |