본문 바로가기
Study/Python

Ren'Py를 통한 게임 개발 시작

by Becoming a Hacker 2023. 2. 19.
반응형

최근 들어 Ren'Py를 통한 게임이 많이 보이는 것 같습니다.

 

그래서 바로 프로젝트를 시작하게 되었는데요. 이번 프로젝트는 "Ren'Py 파헤쳐보기" 입니다.

 

프로젝트 목표는 3가지로 나눠서 볼 수 있을 것 같습니다.

1. Ren'Py로 게임 개발

2. 게임 핵 개발

3. 게임 핵 탐지 및 차단

 

설치 방법

1. Ren'Py 사이트에서 개발 도구를 다운로드 받습니다.

 

Ren'Py 8.0.3

Android and iOS Support When building Android packages, iOS packages, or web distributions, Ren'Py will prompt you to download RAPT (Ren'Py Android Packaging Tool), Renios (Ren'Py iOS Support), or Renpyweb (Web Platform Support). As these downloads may fai

www.renpy.org

Ren'Py 다운로드

 

2. 다운로드 받은 압축 파일을 해제한 뒤, renpy.exe 파일을 실행합니다.

renpy.exe 파일 클릭

그리고 +새 프로젝트 만들기 버튼을 클릭합니다.

+ 새 프로젝트 만들기 버튼 클릭

 

3. 프로젝트를 생성할 때 선택한 폴더를 들어가보면, 아래와 같은 디렉터리 구조로 파일이 있는 것을 볼 수 있습니다.

  • game : 게임 스크립트 및 리소스 파일이 저장되는 디렉터리
    • audio : 게임에서 실행 될 오디오가 저장되는 디렉터리
    • gui : 게임에서 사용되는 GUI 파일이 저장되는 디렉터리
    • lib : 게임에서 사용되는 라이브러리 파일이 저장되는 디렉터리
    • images : 게임에서 사용되는 이미지 파일이 저장되는 디렉터리
    • gui.rpy : 게임에서 사용할 GUI를 정의하는 파일
    • options.rpy : 게임 설정을 정의하는 파일
    • screens.rpy : 화면의 디자인과 동작을 정의할 수 있는 파일
      • 타이틀 화면, 엔딩 화면, 게임 화면
    • script.rpy : 게임 스크립트를 작성하는 파일
      • 게임 대화, 이벤트 ,선택지 등을 정의 가능함

ren'py 디렉터리 구조

 

4. 이제 개발을 하면 됩니다. 주요 코딩 방법은 아래와 같습니다.

 

배경 설정

image background = "bg/bg1.png" # bg folder > bg1.png select

label start:
	scene background:
    	xpos 0
        ypos 0
        size(1920, 1080)

 

대화 이벤트 및 캐릭터 이미지 설정

define alice = Character("Alice", color="#166666")
define bob = Character("bob", color="#766666")

image alice_image = "alice/1.png"
image bob_image = "bob/1.png"

label start:
	show alice_image at left
    show alice_image at right
	alice "Hi BoB"
    bob "Hi Alice"
    
    return

 

다른 폴더의 label 호출

  • 이상한 삽질을 많이 했는데, 반드시 .rpy 확장자를 가지고 있어야 함

script.rpy

label start:
	jump b_start
    
    return

b.rpy

define alice = Character("Alice", color="#166666")
define bob = Character("bob", color="#766666")

image alice_image = "alice/1.png"
image bob_image = "bob/1.png"

label b_start:
	show alice_image at left
    show alice_image at right
	alice "Hi BoB"
    bob "Hi Alice"
    
    return

 

선택지 이벤트 설정

menu:
    "선택지 A" :
        alice "대사 A"
    "선택지 B":
        alice "대사 B"

 

개발하면서 공유할 만한 명령어들이 생각나면 가끔 포스팅을 하러 오겠습니다.

 

오늘도 블로그에 방문해주셔서 감사합니다. 다음에는 조금 더 발전해서 오도록 하겠습니다.

반응형

댓글