본문 바로가기

렌파이

렌파이에서 움직이는 이미지를 사용하는 방법 제가 지금까지 받은 질문 중에서 자주 올라왔던 질문이 있습니다 렌파이에서 움직이는 GIF 파일을 사용할 수 없나요? 네, 못 씁니다.하지만 움직이는 이미지를 사용할 수 있는 방법은 있습니다. 1. 우선 움직이도록 만드려는 이미지를 한 장 씩 따로따로 이미지 파일로 저장합니다.그리고 해당 이미지 파일들을 렌파이 game 폴더에 넣어둡시다 2. image 블럭을 만들어 위에서 만든 이미지들을 한 장씩 입력해줍시다repeat은 위 이미지들을 차례대로 반복해서 보여준다는 뜻이고,pause는 각 이미지들을 몇 초 동안 띄울 건지 결정합니다. init: image girl: 'sample (1).png' pause 0.05 'sample (2).png' pause 0.05 'sample (3).png' pause .. 더보기
렌파이 업데이트 내역 요약 _ 6.99.7 ~ 6.99.11 *6.99.11은 아직 선공개된 상태입니다*정식 공개된 렌파이 버전은 8월 26일 기준으로 6.99.10까지입니다 6.99.11 - gui 시스템: 스크린에 이어 ui를 꾸미기 쉽도록 기능이 추가된 모양입니다.- 신규 플랫폼 지원: 크롬os- 스타일 접두사 기능: 스크립트를 더 적게 쓰고 간략하게 스타일을 사용할 수 있게 됐습니다- 새로운 스타일 속성 추가- 번역 시스템 개선- 로컬 레이블 추가: 레이블을 관리하는 방식이 하나 더 추가된 거 같습니다.- 신규 트랜스폼 tile, pan 추가- history (대사 다시보기) 기능 정식 추가 6.99.10- input에 inputvalue 객체를 입력할 수 있게 됨. 동시에 입력을 받거나 직접 변수 등의 값을 수정할 수 있게 됨. - 버튼에 key_even.. 더보기
렌파이로 육성 시뮬레이션 게임 만들기 (4) DSE 를 이용해 이벤트 만들기 (2) event.어쩌구() 함수 이용하기 이제 특별한 형태로 & 특별한 조건에서 발생하는 이벤트를 만들어보도록 합시다. event.once() * 스트레스가 일정 수치에 도달하면, 좀 쉬어가면서 하라는 식의 안내 이벤트가 튀어나오도록 해봅시다. * 이 이벤트는 한 번만 나타나면 충분할 겁니다. * 일단은 스트레스가 5 이상이 되었을 때 이벤트가 등장해야겠고.. 이벤트가 한 번만 나타나도록 하는 조건은.. * event.once() 함수를 사용하면 됩니다. event.once()는 항상 참값을 반환하다가, event.once()가 적힌 이벤트가 실행되고 나면 그 이벤트에 적인 event.once() 는 거짓값을 반환하기 때문에, 한 번만 나타나면 이벤트의 조건으로 사용하면 좋습니다. init: event('re.. 더보기
렌파이로 육성 시뮬레이션 게임 만들기 (3) DSE 를 이용해 이벤트 만들기 (1) 이제 연습 게임에 이벤트를 채워봅시다. event_dispatcher.rpy 를 본격적으로 사용할 시간입니다. 그 전에 DSE 엔진의 events.rpy 파일을 확인해서, 이벤트는 어떤 식으로 스크립트를 써야 만들어지는지 살펴봅시다. #events.rpy 의 스크립트 일부 init: $ event("class", "act == 'class'", event.only(), priority=200) $ event("class_bad", "act == 'class'", priority=210) $ event("cut1", "act == 'cut'", event.choose_one('cut'), priority=200) $ event("cut2", "act == 'cut'", event.choose_one('cu.. 더보기
렌파이로 육성 시뮬레이션 게임 만들기 (2) 스크린 언어로 스케쥴 화면 만들기 필요한 게 뭘까 구조는 잡았으니 이제 다음으로 필요한 게 뭔지 생각해봅시다. 렌파이의 기본 UI를 (귀찮으므로) 그냥 사용하기로 했다 치면, 그 외에 필요한 건 아래와 같습니다. - 스탯을 표시하는 화면 - 플레이어가 스케쥴을 정할 수있게 해주는 화면 - 플레이어가 정한 스케쥴을 확인할 수 있게 해주는 화면 스탯창 일단 스탯창은 쉽게 만들 수 있습니다. 스크린 언어를 이용해서 만들어보도록 합시다. init: screen stat: # 스탯창 frame: align (0.0 , 0.7) # 스탯창의 위치 grid 4 2: # text 정렬용 박스. 4열 2행짜리 정렬용 박스를 만든다. text '정신력' text '판단력' text '민첩성' text '스트레스' text str(mental) # 해당 변.. 더보기
렌파이로 육성 시뮬레이션 게임 만들기 (1) 기초 스크립트 작성 준비물 - 렌파이 - DSE (여기서 다운로드 가능) (혹시라도 자료를 구할 수 없을 경우를 대비해 이곳에도 업로드합니다.) 필요한 파일은 event_dispatcher.rpy / events.rpy 뿐입니다. 그것만 프로젝트/game 폴더 안에 넣으세요. events.rpy 파일은 예제가 들어있는 파일이니 확인 한 번 하면 나중에 지워도 됩니다. - 게임에 쓸 그림 원하시는 분에 한해서. 전 귀찮아서 글로만 작성하렵니다 - 지식 블로그 우측의 비주얼노벨-텍스트어드벤처 카테고리 글 전부 / 모양내기 - Character의 이용, 대사꾸미기 / 고급 기능 카테고리의 스크린 언어 글 전부에 관해서는 반드시 알아야 합니다. 예제 게임 기초 설정 제목: 프로게이머 키우기 게임 목적: 1주일 동안 빡세게 연습해서.. 더보기
대사 다시보기 스크립트 delta라는 유저가 만든 스크립트를 수정했습니다. 대사 다시보기 스크립트 파일 위 파일을 다운 받고 프로젝트 폴더/game 경로 안에 넣어두면 됩니다. 그 뒤부터는 say 화면에서 마우스 휠을 위로 올리면 텍스트 다시보기 화면이 나타납니다. 스크린 언어와 has 문을 이용해 만든 스크립트라 6.14 버전 이상에서만 사용할 수 있을 것입니다. 그러나 6.99 이전 버전에 대한 호환성은 확인되지 않았습니다. 15.9.30 파이톰이 viewport 부분을 수정한 덕분에 6.99.6에서도 동작합니다.narrator 와 name_only 캐릭터의 대사가 기록되지 않는 문제를 수정했습니다. 140511window show voice '''대사'처럼 스크립트를 작성했을 때 다시보기 화면에서 텍스트를 클릭해도 대사가.. 더보기
렌파이로 인앱결제 시스템 만들기 이 글은 렌파이의 인앱 구매 매뉴얼을 번역한 것입니다.2015년 9월 24일 기준으로 렌파이는 구글 플레이, 아마존 앱스토어와 함께 애플 앱스토어 구매를 지원하고 있습니다. (2014년 10월 25일 이 항목을 처음 번역한 이후에 추가된 내용이 애플 앱스토어 관련 내용 몇 줄 뿐이라 15년 9월 24일 추가로 갱신했습니다. 참고로 총 매뉴얼은 번역 중이고 10월 중에 한번에 업데이트할 예정입니다.) 인앱 구매 렌파이에는 고급 인앱 구매 시스템 제작틀이 있습니다. 이 틀은 현재 애플 앱 스토어, 구글 플레이와 아마존 앱스토어용 잠금 해제 스타일의 구매 형태만 지원합니다. 이 틀을 사용하는 방법은 꽤 간단하며 다음과 같은 기능으로 이루어져있습니다. - 게임 초기화 단계에서 iap.register() 함수를 .. 더보기
한국어 조사 자동으로 바꾸기 init python: finalConso = None name = '' #받침유무판별기 def finalChecker(name): import re name = name expr = re.compile(r'([a-zA-Z0-9\s~!@#$%^&*()_+|}{:"?`\-=\\\[\];\',./])') temp = expr.sub('', name) if temp == '': return False last_alphabet = repr(temp[-1]) dec = int(str(last_alphabet[4:-1]), 16) while dec < 0x3164: temp = temp[:-1] if not temp: return False last_alphabet=repr(temp[-1]) dec = int(st.. 더보기
렌파이 업데이트 내역 요약 _ 6.16 ~6.99.4 동안 밀린 업데이트 내용 파악을 위해 업데이트 내역을 간략하게 번역했습니다. 급하게 한다고 생략한 내용이 많고 기능 파악이 안 된 내용도 있어 참고만 하시면 좋을 거 같습니다. 내용을 요약하자면 다음과 같습니다. 안드로이드 포팅 기능 개선 iOS 포팅 지원스팀 API 지원 (사용법은 개발자에게 문의)스타일 스크립트 작성 방식 개선 non-ascii 문자 입력 지원 대체로 내부에는 자잘하지만 유용한 기능들이 추가, 개선되었고 외부적인 기능들이 많이 추가 되었네요. 6.16 안드로이드안드로이드 서포트가 렌파이 런처에 통합. rapt는 여전히 별도로 다운로드하지만 렌파이 경로에 rapt가 설치되면 안드로이드sdk 설치, 안드로이드 앱 환경 설정, 안드로이드용 빌드 만들기 및 설치를 런처에서 해결할 수 있습니다.. 더보기
렌파이 6.99 이전 버전용 한글 입력기 130331 2015.5.10 렌파이 엔진이 6.99로 업데이트되면서 기본 input 함수로 한글을 입력할 수 있게 되었습니다. 6.99 버전 이전의 엔진을 사용해 게임을 제작하실 때에 한글 입력기를 쓰고 싶으시다면 이 한글입력기를 사용해주세요 130331 입력받을 글자 수 length 가 지정된 상태에서 마지막 글자가 완성되지 않았을 때 숫자 및 특수 기호를 입력했을 경우 마지막 한글 글자가 완성됨과 동시에 특수기호가 입력되어 글자 수 제한을 초과하던 현상을 수정했습니다. 110712 근 1년만의 개량품입니다. ui.keymap을 왕창 이용했던 이전 버전과는 급(?)이 달라 만족스럽네여. 코드는 여전히 더러워보이지만... 렌파이 위키에 있는 쿡북 내용도 함께 수정해놓았습니다. 사용법 1. 위 코드를 다운로드하시고 .. 더보기
던전 크롤 스타일의 프레임 2.0 예제 다운로드및 스크립트 전문 전투 시스템과 지도(갔던 길이 밝혀지는 기능) 등이 갖춰진 게임틀입니다. Pseudo 3D with ray casting 이라는 글을 통해서 이것과 비슷한 그림을 본 적이 있었기 때문에 그냥 넘어갔었는데, 그것보다는 실제로 그럴 듯한 게임을 만들기에 좀 더 유용해보입니다. 퍼블릭 도메인, 즉 저작권은 없다고 하니 이것저것 시도해보시는 것도 재미있을 듯..각 스크립트에 적힌 내용을 간략하게 해석해보면 다음과 같습니다. dungeon.rpy미니맵과 던전을 그리는 방식이 적혀있습니다. battle.rpy스킬, 액터, 전투 방식을 구현한 스크립트가 적혀있습니다. script.rpybattle.rpy 와 dungeon.rpy 에 정의된 기능들을 끌어와, 액터(고블린, 플레이어)와 스.. 더보기
옷갈아입히기 시스템 만들기 Long Live The Queen 을 설명하다가 이런 시스템을 블로그에서 다뤄본적이 없는 듯하여 작성해봅니다.ConditionSwitch와 im.Composite 함수를 활용해 간단히 만들어본 시스템입니다. init python: cloth = None # 현재 입고 있는 옷 변수 init -1: # 하트옷 이미지 image zola heart = im.Composite( (198, 388), # 합성할 결과물 이미지 크기 (0, 0), "person.png", # 합성할 이미지를 배치할 위치. 왼쪽위 꼭지점의 x, y 좌표, 합성할 이미지 파일 이름 (0, 0), "heart.png") # 하트 옷 # 별옷 이미지 image zola star = im.Composite( (198, 388), # 합성.. 더보기
6.17.7 업뎃 로그 번역 * 안드로이드 관련 업데이트 내역입니다: - RAPT가 최신 SDK를 사용하도록 업데이트되었습니다. 안드로이드 배포판 작성에 문제가 있다면 SDK를 다시 설치하세요 - RAPT에 렌파이 복사본이 포함되지 않습니다. 대신 RAPT 가 사용하는 렌파이 복사본이 게임 배포판에 포함됩니다. 렌파이를 수정했을 때 수정한 부분이 안드로이드 패키지에 반영될 것입니다. - Emmanuel Marty 와 Winter Wolves 덕분에 저수준 인앱 구매 시스템을 구현했습니다. 저수준 인앱구매 코드는 구글 플레이와 아마존 앱스토어를 지원합니다. 이 코드는 고수준 인앱 구매 시스템에 포함될 예정이기 때문에 현재 문서 작성이 되어있지 않습니다. * 윈도우, 맥, 리눅스 플랫폼에서 발생하는 오디오-비디오 싱크 이슈를 수정했습니.. 더보기
렌파이에서 구현된 인벤토리와 상점 기능 140609 안녕하세요. 백안시입니다. 다행히도 마지막으로 블로그를 관리한 지 한달이 넘기 직전에 (.. 와서 간신히 얼굴 한 번 비추네요. 오늘은 포럼을 잠깐 둘러보다가 유용한 기능을 발견해서 강의 예고 삼아 글을 하나 적습니다. saguaro라는 유저가 (저 개인적으로도 굉장히 갈망했던..) 인벤토리와 상점 시스템을 구현했네요. 이번 주말에 한번 파보고, 강의글도 함께 작성해보도록 하겠습니다. (강의글을 작성할 땐 이 글을 수정해 업로드할 예정입니다)그럼 다들 즐거운 창작생활 하시길 바라며.. 140614 금요일에 출근해서 토요일에 퇴근한 관계로 강의글 작성은 다음주로 미룹니다..ㅇ 더보기