options.rpy
게임을 만들 때는 게임 화면의 크기나 세이브 파일 저장 경로처럼 미리 정해야 하는 것들이 있습니다. 이런 부분은 렌파이에서는 options.rpy 에서 관리할 수 있습니다. 반드시 그래야 할 필요는 없습니다만 관리하기 편리하게끔 config. 로 시작하는 설정은 모두 options.rpy 에 적어주는 것이 좋습니다.프로젝트를 만들면 options.rpy 파일은 저절로 만들어집니다. 파일을 열어보면 게임에 대한 설정이 기본적으로 들어있는 것을 확인할 수 있습니다.
살펴보기
(6.13의 template 폴더에 들어있는 options.rpy 기준입니다. 처음 프로젝트를 만들었던 렌파이 버전에 따라 options.rpy 의 내용이 달라질 수 있습니다.)(앞에 #이 붙은 설정은 #을 지우면 사용할 수 있습니다.)
(해당 설정을 수정하려면 ctrl + f 를 눌러서 찾아본 뒤 수정하세요)
기본 설정
config.developer = True
True 로 설정하면 게임 개발자용 기능과 shift + d 를 눌러서 접근할 수 있는 개발자용 메뉴를 쓸 수 있습니다. 물론 게임을 배포할 때는 False 로 고쳐놓아야 합니다.
config.screen_width = 800
config.screen_height = 600
게임 화면의 높이와 너비를 설정합니다. 단위는 픽셀입니다. 반드시 게임을 제작하기 전에 설정을 해야합니다. 게임 화면에 맞춰 게임에서 쓸 이미지의 크기를 정하게 될테니까요.
config.window_title = "A Ren'Py Game"
제목표시줄에 나타날 문장입니다.
config.name = "A Ren'Py Game"
config.version = "0.0"
게임의 이름과 버전을 설정하는 항목입니다. 게임 실행 중에 에러가 발생하면 error.txt 나 traceback.txt 가 만들어질 때 여기서 설정한 이름과 버전이 적히게 됩니다.
# Themes 부터 gm_root) 까지는 게임의 테마를 수정하는 부분입니다. 따옴표 안에 적힌 색상코드를 수정해서 해당 항목에 대한 색깔을 바꿀 수 있습니다. 예를 들어 여기 들어있는 text = "" 부분을 바꾸면 게임에서 나타나는 글씨 색이 달라집니다. 참고로 mm_root 와 gm_root 에 이미지 파일 이름을 적으면 메인 메뉴와 게임 메뉴의 바탕 화면을 바꿀 수 있습니다.
# style.default.font = "font.ttf"
게임에서 사용하는 글자를 표시하는데 사용할 폰트를 설정합니다. translations.rpy 파일을 만들 때 폰트를 설정한 적이 있으면 options.rpy 에서까지 설정할 필요는 없습니다.
# style.default.size = 22
기본 글자 크기를 설정합니다.
config.has_sound = True
config.has_music = True
config.has_voice = True
True/False로 효과음/배경음/음성의 유무를 설정합니다. 예를 들어 여기서 config.has_voice = False 라고 적으면 환경설정 화면에서 음성 볼륨 조절 메뉴가 사라집니다.
# config.main_menu_music = "main_menu_theme.ogg"
메인 메뉴에서 재생할 배경음악을 설정합니다.
config.help = "README.html"
게임 매뉴얼로 사용할 문서를 지정합니다. 게임 스크립트에 있는 레이블 이름이나 html 문서, None 을 적을 수 있습니다. None 을 적으면 매뉴얼을 사용할 수 없게 됩니다.
config.~~~~_transition = None
~~~에 해당하는 상황에서 사용할 트랜지션을 설정합니다. 트랜지션 이름이나 None 을 적을 수 있습니다.
config.game_menu_transition = dissolve 라고 적으면 게임 플레이 중 게임 메뉴를 켤 때마다 dissolve 효과를 이용해 화면을 전환합니다.
세이브 파일 저장 경로입니다. 기본 세이브 파일 저장 경로는 OS에 따라 달라집니다.
윈도
%APPDATA%/RenPy/save_directory
맥OS X
~/Library/RenPy/save_directory
리눅스 및 기타:
~/.renpy/save_directory
이 값을 None 으로 하거나 이 설정을 주석처리 해버리면 saves 디렉토리가 "게임이 설치된 위치/game/" 경로에 만들어집니다.
config.default_fullscreen= False
True/False로 게임을 시작할 때 전체화면 모드로 시작할지를 결정합니다.
config.default_text_cps = 0
대사를 나타내는 속도를 설정합니다. 0은 한순간에 표시한다는 뜻이고, 0 이 아닌 숫자를 설정하면 1초에 설정한 숫자만큼 글자가 나타납니다. 예를 들어 10을 적으면 1초에 10글자 나타난다는 의미입니다. 이 설정을 바꾸면 런처에서 Delete Persistent 를 눌러 영구 데이터를 삭제해야 변경사항이 적용됩니다.
config.window_icon = None
config.windows_icon = None
게임창의 제목표시줄에 나타날 아이콘을 설정합니다. window_icon 은 맥/리눅스에서 쓸 아이콘, windows_icon 은 윈도우에서 쓸 아이콘입니다. 여기서 쓸 이미지는 .png 파일이어야 합니다.
config.automatic_images = True
프로젝트 폴더에서 이미지를 몽땅 검색한 다음 파일 이름이 구분자로 나뉘어진 이미지 파일을 자동으로 등록합니다.
예를 들어 이 설정을 True로 두었는데 프로젝트 폴더에 "eileen_happy.png" 라는 파일이 있으면 자동으로 등록이 되어 init 블록에서 image eileen happy = "eileen_happy.png" 라고 적지 않아도 레이블 블록에서 바로 show eileen happy 라고 써먹을 수 있다는 얘기입니다.
다만 "eileenhappy.png" 처럼 이름이 두 개로 나뉘어지지 않은 그림 파일은 등록하지 않습니다. 그러니까 이런 놈들은 일일히 image 로 설정해야 한다는 얘기입니다.
config.searchpath.extend(['game\\sound', 'game\\image', 'game\\music'])
게임에서 쓸 파일이 저장된 폴더 경로를 추가해서 렌파이가 이 디렉토리를 인식할 수 있도록 설정합니다. config.searchpath.extend(['데이터파일경로']) 같은 식으로 적어서 사용할 수 있습니다. 이렇게 경로를 추가해야 렌파이가 인식을 하고 위에서 설정한 경로에서도 파일을 검색합니다. \를 두 개 적는 대신 / 하나만 적어서 폴더 경로를 정해도 됩니다.
import os
os.environ['SDL_VIDEO_CENTERED'] = '1'
게임창을 항상 모니터 화면 가운데에 배치합니다.
config.screen_width = 800
config.screen_height = 600
게임 화면의 높이와 너비를 설정합니다. 단위는 픽셀입니다. 반드시 게임을 제작하기 전에 설정을 해야합니다. 게임 화면에 맞춰 게임에서 쓸 이미지의 크기를 정하게 될테니까요.
config.window_title = "A Ren'Py Game"
제목표시줄에 나타날 문장입니다.
config.name = "A Ren'Py Game"
config.version = "0.0"
게임의 이름과 버전을 설정하는 항목입니다. 게임 실행 중에 에러가 발생하면 error.txt 나 traceback.txt 가 만들어질 때 여기서 설정한 이름과 버전이 적히게 됩니다.
꾸미기
# Themes# Themes 부터 gm_root) 까지는 게임의 테마를 수정하는 부분입니다. 따옴표 안에 적힌 색상코드를 수정해서 해당 항목에 대한 색깔을 바꿀 수 있습니다. 예를 들어 여기 들어있는 text = "" 부분을 바꾸면 게임에서 나타나는 글씨 색이 달라집니다. 참고로 mm_root 와 gm_root 에 이미지 파일 이름을 적으면 메인 메뉴와 게임 메뉴의 바탕 화면을 바꿀 수 있습니다.
# style.default.font = "font.ttf"
게임에서 사용하는 글자를 표시하는데 사용할 폰트를 설정합니다. translations.rpy 파일을 만들 때 폰트를 설정한 적이 있으면 options.rpy 에서까지 설정할 필요는 없습니다.
# style.default.size = 22
기본 글자 크기를 설정합니다.
config.has_sound = True
config.has_music = True
config.has_voice = True
True/False로 효과음/배경음/음성의 유무를 설정합니다. 예를 들어 여기서 config.has_voice = False 라고 적으면 환경설정 화면에서 음성 볼륨 조절 메뉴가 사라집니다.
# config.main_menu_music = "main_menu_theme.ogg"
메인 메뉴에서 재생할 배경음악을 설정합니다.
config.help = "README.html"
게임 매뉴얼로 사용할 문서를 지정합니다. 게임 스크립트에 있는 레이블 이름이나 html 문서, None 을 적을 수 있습니다. None 을 적으면 매뉴얼을 사용할 수 없게 됩니다.
config.~~~~_transition = None
~~~에 해당하는 상황에서 사용할 트랜지션을 설정합니다. 트랜지션 이름이나 None 을 적을 수 있습니다.
config.game_menu_transition = dissolve 라고 적으면 게임 플레이 중 게임 메뉴를 켤 때마다 dissolve 효과를 이용해 화면을 전환합니다.
시스템 설정
config.save_directory = "프로젝트이름-숫자"세이브 파일 저장 경로입니다. 기본 세이브 파일 저장 경로는 OS에 따라 달라집니다.
윈도
%APPDATA%/RenPy/save_directory
맥OS X
~/Library/RenPy/save_directory
리눅스 및 기타:
~/.renpy/save_directory
이 값을 None 으로 하거나 이 설정을 주석처리 해버리면 saves 디렉토리가 "게임이 설치된 위치/game/" 경로에 만들어집니다.
config.default_fullscreen= False
True/False로 게임을 시작할 때 전체화면 모드로 시작할지를 결정합니다.
config.default_text_cps = 0
대사를 나타내는 속도를 설정합니다. 0은 한순간에 표시한다는 뜻이고, 0 이 아닌 숫자를 설정하면 1초에 설정한 숫자만큼 글자가 나타납니다. 예를 들어 10을 적으면 1초에 10글자 나타난다는 의미입니다. 이 설정을 바꾸면 런처에서 Delete Persistent 를 눌러 영구 데이터를 삭제해야 변경사항이 적용됩니다.
알아두면 좋은 설정 항목
아래 설정목록은 options.rpy 에 적혀있지는 않지만 유용한 것들이라 소개합니다. options.rpy 파일 맨 끝에 추가해서 사용할 수 있습니다.config.window_icon = None
config.windows_icon = None
게임창의 제목표시줄에 나타날 아이콘을 설정합니다. window_icon 은 맥/리눅스에서 쓸 아이콘, windows_icon 은 윈도우에서 쓸 아이콘입니다. 여기서 쓸 이미지는 .png 파일이어야 합니다.
config.automatic_images = True
프로젝트 폴더에서 이미지를 몽땅 검색한 다음 파일 이름이 구분자로 나뉘어진 이미지 파일을 자동으로 등록합니다.
예를 들어 이 설정을 True로 두었는데 프로젝트 폴더에 "eileen_happy.png" 라는 파일이 있으면 자동으로 등록이 되어 init 블록에서 image eileen happy = "eileen_happy.png" 라고 적지 않아도 레이블 블록에서 바로 show eileen happy 라고 써먹을 수 있다는 얘기입니다.
다만 "eileenhappy.png" 처럼 이름이 두 개로 나뉘어지지 않은 그림 파일은 등록하지 않습니다. 그러니까 이런 놈들은 일일히 image 로 설정해야 한다는 얘기입니다.
config.searchpath.extend(['game\\sound', 'game\\image', 'game\\music'])
게임에서 쓸 파일이 저장된 폴더 경로를 추가해서 렌파이가 이 디렉토리를 인식할 수 있도록 설정합니다. config.searchpath.extend(['데이터파일경로']) 같은 식으로 적어서 사용할 수 있습니다. 이렇게 경로를 추가해야 렌파이가 인식을 하고 위에서 설정한 경로에서도 파일을 검색합니다. \를 두 개 적는 대신 / 하나만 적어서 폴더 경로를 정해도 됩니다.
import os
os.environ['SDL_VIDEO_CENTERED'] = '1'
게임창을 항상 모니터 화면 가운데에 배치합니다.