본문 바로가기

렌파이/개발 편의

웹 업데이터 기능 활용하기

웹 업데이터 기능을 이용하면 온라인 상태일 때 게임 자체에서 웹에 올려진 파일을 받아 플레이어의 디스크에 설치할 수 있습니다. 패치나 DLC[각주:1] 다운로드 기능에 활용하면 유용한 기능입니다.

준비

우선 이 웹 업데이터 기능을 활용하려면 웹 호스팅 계정이 있어야합니다. 티스토리나 클박 같은 곳에 패치 파일을 올려놔도 무의미하니 웹 호스팅 계정을 이용하세요. kth 비즈프리라는 곳에서 회원가입만 하면 무료로 하나 만들 수 있으니 참고하시기 바랍니다. (물론 무료용은 100M 라는 트래픽 제한 및 용량 제한이 있으므로 아무래도 제대로 이용하고자 하시는 분은 유료 호스팅을 이용하셔야 합니다.) 기타 웹 호스팅 서비스는 구글 검색결과 페이지를 참고하세요.

호스팅이 준비가 되었다면 런처를 실행합니다.

패치 기능으로 활용하기

어떤 버튼을 눌렀을 때 업데이트 기능을 실행하도록 만드려면 버튼에 updater.Update() 액션을 적어줍니다. 예를 들어 업데이트 버튼을 메인 메뉴에 표시하고자 한다면 screen main_menu 를 수정해서 다음처럼 업데이트 버튼을 추가하면 됩니다.




패치판을 만드려고 하는 게임이라면 이미 배포판을 한 번 만들어본 적이 있을테니 options.rpy에 배포판 관련 설정이 적혀있을 겁니다. options.rpy 파일을 열어 지금 여러분이 만드려고 하는 배포판이 새 버전임을 확인할 수 있도록 build.directory_name 부분을 적당한 이름으로 바꿔주고 build.include_update = True 라고 적어둡니다. 그 후 Build Distribution 버튼을 누릅니다. 


그 다음 런처를 보면 Build Update 라는 메뉴가 나타납니다. Build Packages 목록 중 만드려고 하는 OS의 배포판을 선택한 후에 Build 버튼을 누릅니다.


잠깐 기다리면 패치 파일과 배포판이 만들어집니다. 이중에서 updates.json / projectname.sums / projectname.update.gz / projectname.update.json / projectname.zsync 파일을 골라 방금 updater.Update 함수에 적어주었던 경로에 해당 파일들을 올립니다. 제 경우는 제 웹호스팅 주소/update 라는 경로에 패치파일을 올려놓았습니다.



끝입니다. 이전 버전을 가지고 있는 유저라면 업데이트 버튼을 클릭하여 패치할 수 있습니다.


업데이트 기능을 활용한 모습을 동영상에 담아보았습니다.
새 버전의 배포판을 통채로 받는 게 아니라 이전 버전과 다른 부분만을 골라내 다운로드하는 방식입니다. 그러므로 패치가 스크립트만 조금 수정하는 정도라면 아마 무료 계정을 사용해도 무리없을 것 같습니다.


DLC 다운로더로 활용하기

처음 소개드렸듯이 이 웹 업데이터 기능은 DLC 다운로더로도 활용할 수 있습니다. 
게임은 무료로 풀고 추가 요금을 내면 공략 캐릭터를 추가할 수 있다거나 하는 악랄한 상술 기능을 만들 수도 있겠죠.

DLC 이용 시스템을 만드는 법은 기본적인 틀만 설명드리겠습니다. 제가 만든 스크립트야 무료 DLC 를 만들 때라면 괜찮겠습니다만, 금액을 지불한 사람들만 다운로드할 수 있도록 만드려면 프로그래밍에 대해 더 많이 알아야만 가능하지 않을런지.... 음 생각해보니 그런 분들에겐 이 안내글이 필요 없을 것 같기도 하네요; 어쨌든 기본적인 내용만 대충 설명드리겠습니다.

우선 DLC 를 다운로드할 수 있는 버튼을 만듭시다. 패치 파일을 받는 버튼을 만들 때처럼 updater.Update 를 사용해야 합니다. 그러나 DLC 다운로드 버튼을 위해서는 하나 더 필요한 것이 있는데 바로 add 매개변수입니다. 이곳에 이 버튼을 눌렀을 때 다운로드할 DLC 패키지 이름을 리스트 형태로 적어주어야 합니다.


그리고 DLC를 패키지 파일로 만들 수 있도록  options.rpy 에 다음과 같이 build.include_update = True 로 설정한 후 build.classify 와 build.package 를 이용하여 스크립트를 적어주어야 합니다.



이렇게 적은 후 런처에서 Build Distributions 를 클릭해보면 아까 build.packages()에 이름으로 적어둔 DLC 라는 글자가 떡하니 나와있습니다. 해당 버튼과 Build Updates 를 모두 누르고 Build 버튼을 누릅니다.


DLC 패키지가 만들어졌습니다. 이것을 웹 호스팅의 적당한 경로에 올려둡니다.

이제 DLC 버튼을 누르면 DLC를 다운로드합니다.

 


없던 파일이 추가된 게 보이시는지요.

FQA

다운로드 화면을 제 맘대로 바꾸고 싶습니다.

적당한 곳에 updater 라는 스크린을 하나 만든 다음 그 안을 채우시면 되겠습니다. 아래는  렌파이 설치폴더/common/00updater.rpy 파일에 들어있는   updater 스크린의 기본 스크립트입니다. 

  1. DLC란 Downloadable Contents의 약자로, 쉽게 말해 추가 컨텐츠쯤으로 이해하시면 되겠습니다. [본문으로]