Skip to content

haedalprogramming/2dMarioForEdu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2dMarioForEdu 🎮 2D 슈퍼마리오 클론 게임 개발 기획안

AI어시스턴트로 만드는 2D 슈퍼마리오 클론게임


시작하기 전에 — 설치 안내 (처음이라도 괜찮아!)

1단계 — Python 설치

Python은 이 게임을 실행하는 데 필요한 프로그래밍 언어야.

  1. https://www.python.org/downloads/ 에 접속해.
  2. 초록색 "Download Python 3.xx.x" 버튼을 클릭해서 설치 파일을 내려받아.
  3. 설치 파일을 실행하고, 반드시 아래 체크박스를 체크한 뒤 Install 버튼을 눌러.
    • Add Python to PATH (이걸 체크해야 터미널에서 python 명령어를 쓸 수 있어!)
  4. 설치가 끝나면 터미널(윈도우: 명령 프롬프트 / 맥: 터미널)을 열고 아래 명령어로 확인해봐.
    python --version
    
    Python 3.x.x 같은 버전 숫자가 나오면 성공!

2단계 — 이 프로젝트 내려받기

터미널에서 아래 명령어를 입력해.

git clone https://github.com/haedalprogramming/2dMarioForEdu.git
cd 2dMarioForEdu

git이 없다면 https://git-scm.com/downloads 에서 먼저 설치해줘. 또는 GitHub 페이지에서 초록색 "Code" → "Download ZIP" 버튼으로 파일을 직접 내려받아도 돼.


3단계 — Pygame 설치

Pygame은 파이썬으로 게임을 만들 수 있게 도와주는 라이브러리야. 터미널에서 아래 명령어 한 줄을 입력하면 자동으로 설치돼.

pip install pygame

설치가 끝나면 아래 명령어로 확인해봐.

python -c "import pygame; print(pygame.version.ver)"

버전 숫자가 출력되면 성공!


4단계 — 게임 실행

터미널에서 프로젝트 폴더 안으로 이동한 뒤 아래 명령어를 입력해.

python main.py

게임 창이 뜨면 준비 완료!

조작법

동작
← → 방향키 좌우 이동
스페이스바 / Z 점프
R 게임 오버 후 재시작

1. 프로젝트 개요

  • 게임 제목: 파이썬 2D 마리오 클론 (가제)
  • 장르: 2D 횡스크롤 플랫폼 액션 게임 (Platformer)
  • 개발 언어 및 라이브러리: Python 3 + Pygame
  • Tip: Pygame은 파이썬으로 2D 게임을 만들 때 가장 널리 쓰이고 배우기 쉬운 라이브러리야.

2. 게임 핵심 규칙 및 메커니즘

  • 조작 및 이동 (Movement & Jump)

  • 좌우 방향키($\leftarrow$, $\rightarrow$)로 이동, 스페이스바(또는 $Z$키)로 점프.

  • 점프 시 중력(Gravity)이 적용되어 자연스럽게 아래로 떨어져야 함.

  • 아이템 및 변신 (Items & Transformation)

  • 맵에 있는 특정 블록을 아래에서 치면 아이템(예: 버섯)이 등장.

  • 아이템을 먹으면 플레이어 캐릭터의 크기가 커지거나 색상이 변경됨 (상태 변화).

  • 전투 및 충돌 (Combat & Collisions)

  • 몬스터 처치: 몬스터의 위쪽(머리)을 밟으면 몬스터가 사라짐.

  • 플레이어 피해: 몬스터의 옆면이나 아래쪽에 닿으면 플레이어가 치명적인 피해를 입음 (일반 상태일 때는 게임 오버, 아이템을 먹은 상태일 때는 일반 상태로 축소).


3. 주요 컴포넌트(구성 요소) 설계

코딩할 때 AI에게 "이 부분 만들어줘"라고 요청하기 쉽게 기능을 쪼개놓은 구조야.

컴포넌트 이름 주요 역할 및 기능
Game Loop (게임 루프) 게임의 전체적인 흐름 제어 (화면 업데이트, 초당 프레임(FPS) 제한, 이벤트 처리)
Player (플레이어) 위치, 속도, 점프 상태, 변신 상태(일반/강화) 관리 및 키보드 입력 처리
Enemy (몬스터) 좌우로 자동으로 움직이는 인공지능(AI), 플레이어와의 충돌 판정
Block & Item (블록과 아이템) 발판이 되는 블록, 부서지는 블록, 아이템을 생성하는 블록 관리
Camera (카메라) 플레이어가 오른쪽으로 이동할 때 화면이 같이 스크롤되도록 처리

4. 단계별 개발 계획 (Roadmap)

한 번에 모두 만들려고 하면 어려우니까, AI 어시스턴트에게 단계별로 질문하며 완성해 나가는 것을 추천해.

1단계: 기본 화면 및 플레이어 이동 (기초)

  • Pygame 창을 띄우고 배경색 칠하기.
  • 네모 상자(임시 플레이어)를 만들고 좌우로 움직이기.

2단계: 점프와 물리 엔진 (난이도: 중)

  • 바닥(발판) 블록 만들기.
  • 플레이어에게 중력을 적용하여 바닥에 착지하게 만들기.
  • 점프 기능 구현하기 (바닥에 닿아있을 때만 점프 가능하도록 제한).

3단계: 몬스터 등장 및 전투 (핵심)

  • 적(몬스터)을 화면에 띄우고 자동으로 좌우로 왔다 갔다 하게 만들기.
  • 가장 중요한 충돌 판정 구현: 플레이어의 발바닥 좌표와 몬스터의 머리 좌표가 겹치면 몬스터 제거, 그렇지 않고 옆에서 부딪히면 플레이어 사망.

4단계: 아이템 및 상태 변화 (심화)

  • 아이템 블록을 만들고, 플레이어가 머리로 치면 버섯 아이템이 나오게 하기.
  • 버섯을 먹으면 플레이어 변수(is_big = True)를 변경하여 캐릭터 크기 키우기.
  • 커진 상태에서 몬스터에게 닿으면 죽지 않고 다시 작아지도록 규칙 정교화하기.

5단계: 그래픽 적용 및 폴리싱 (마무리)

  • 도형(네모) 대신 실제 마리오와 몬스터 이미지(스프라이트) 입히기.
  • 배경음악과 효과음 넣기.

About

AI어시스턴트로 만드는 2D 슈퍼마리오 클론게임

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages