최근 들어 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
2. 다운로드 받은 압축 파일을 해제한 뒤, renpy.exe 파일을 실행합니다.
그리고 +새 프로젝트 만들기 버튼을 클릭합니다.
3. 프로젝트를 생성할 때 선택한 폴더를 들어가보면, 아래와 같은 디렉터리 구조로 파일이 있는 것을 볼 수 있습니다.
- game : 게임 스크립트 및 리소스 파일이 저장되는 디렉터리
- audio : 게임에서 실행 될 오디오가 저장되는 디렉터리
- gui : 게임에서 사용되는 GUI 파일이 저장되는 디렉터리
- lib : 게임에서 사용되는 라이브러리 파일이 저장되는 디렉터리
- images : 게임에서 사용되는 이미지 파일이 저장되는 디렉터리
- gui.rpy : 게임에서 사용할 GUI를 정의하는 파일
- options.rpy : 게임 설정을 정의하는 파일
- screens.rpy : 화면의 디자인과 동작을 정의할 수 있는 파일
- 타이틀 화면, 엔딩 화면, 게임 화면
- script.rpy : 게임 스크립트를 작성하는 파일
- 게임 대화, 이벤트 ,선택지 등을 정의 가능함
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"
개발하면서 공유할 만한 명령어들이 생각나면 가끔 포스팅을 하러 오겠습니다.
오늘도 블로그에 방문해주셔서 감사합니다. 다음에는 조금 더 발전해서 오도록 하겠습니다.
'Study > Python' 카테고리의 다른 글
Python MultiProcess Shared Object (0) | 2024.05.29 |
---|---|
[MAC] PKG로 설치한 Python 2.7 삭제하기 (0) | 2022.11.29 |
Python을 이용한 OTP 생성 (pyotp) (0) | 2022.10.19 |
[Python] SQLite3 사용 방법 (0) | 2022.09.17 |
[Python] 리스트 내 문자열이 특정 문자열 내에 존재하는지 비교 코드 (0) | 2022.09.09 |
댓글