Как сделать мини игру в ренпай

Добавил пользователь Алексей Ф.
Обновлено: 19.09.2024

В этой теме можно задать свои вопросы по игровому движку RenPy (на котором написаны "Тренер ведьмы", "Дурное воспитание" и много других игр).

Что знаем, подскажем.

Как распаковывать архив *.rpa (перенесено)

Как распаковывать архив *.rpa
Картинки и код ивентов игр упакованы в файлы *.rpa, которые находятся в папке game . Процесс распаковки не очень сложен, но нередко вызывает вопросы.

Чтобы распаковать архив необходимо выполнить следующие действия:

C:\Путь_к_Пайтон\python.exe unrpa -m -p C:\Путь_Куда_Распаковать_Без_Слеша C:\Путь_к_Файлу_Архиву_Игры\archive.rpa

ПРИМЕР:
Пусть в игре архив имеет название archive.rpa.
Если поместить archive.rpa в папку, где находится само UnRPA, а python в c:\Programs\Python279 , то командная строку можно написать такую:
c:\Programs\Python279\python.exe unrpa -m -p c:\unrpa archive.rpa
в этом случае результат можно найти в папке: c:\unrpa.

Все распакованное содержимое необходимо поместить в папку game игры.
Программный код игры содержится в файлах *.rpy
После распаковки файлы *.rpa, *.rpyb и *.rpyc можно удалить.

Пример: RPAExtractor -x foo.rpa -o Sn34kyMofoIsAwesome

Как открыть проект RenPy (перенесено)

zilot93 писал(а): Я всё это сделал, я закинул разпакованый архив в папку с игрой, и всё равно когда я открываю через ренпи то открывается только моя игра, которую я хочу создать) или я не правильно что-то делаю?)

В Ren'py SDK открыть что ли?
Тут все просто:
1) Допустим мы создали новый проект в папке D:\Games_RENPY\
2) В эту же папку закидываем папку с WitchTrainer (распакованную конечно)
3) Открываем SDK видим этот проект в списке проектов

Изображение


А если не помните куда сохраняли свои проекты, то вся инфа есть в Preferences (Настройках). Там же можно и настроить текстовый редактор, с помощью которого вам удобнее редактировать .rpy файлы

Отступы в коде RenPy (перенесено)

The Felix писал(а): Поясните в чем ошибка:

File "game/script.rpy", line 31: choice menuitem expects a non-empty block.
"Текст.":

File "game/script.rpy", line 66: choice menuitem expects a non-empty block.
"Текст.":

P.s. У меня с Ren'Py еще много конфликтов по поводу отступов(старые привычки с С++). Как их правильно ставить?

Отредактировано The Felix (Вчера 23:39:42)

Если я правильно понял задачу, должно быть так:
menu:
. "Текст1":
. . pass

Блок не может быть пустым. Если его необходимо оставить пустым, нужно поставить оператор pass.

то в RenPy:
if a==0:
. s="тест"
. if b==0:
. . s1="тест2"

call и jump (перенесено)

Ignes писал(а): Вопрос следующий:
Чем в теории отличается Call от Jump. Тем, что call можно вызывать функции из всех файлов, а jump только в пределах одного скрипта переход?

Это неверно. Оба оператора могут обращаться к меткам в любом файле. RenPy вообще не делает различий в каком файле находится код. Есть несколько файлов с зарезервированными именами, которые обрабатываются особым образом, все остальные, по сути - одна большая простыня кода, разбитая на файлы только для удобства программиста.

Если вкратце о различиях:
jump alabel прерывает исполнение цепочки операторов и начинает исполнять код, следующий за меткой alabel
call alabel временно прерывает исполнение цепочки операторов, начинает исполняться код, следующий за меткой alabel, затем по ключевому слову return происходит возвращение и продолжение исполнения прерванной цепочки

Также call позволяет передавать параметры.

Например:
call alabel(1)

Выручайте братцы! Больше ни кого не знаю кто работает на таком же движке. Проблем много, но не графические или идейные, а именно с скриптом. Начну с того, если какие либо подробные инструкции по работе? Перечитал русский перевод, вроде мало по малу понял, сидел кропел над оригинальными переводами, тяжело, но тоже мало по малу выхватил сути. Но когда начинаю реализовывать в проекте, начинаются проблемы. Сейчас застрял на моменте в диалогах с выбором вариантов действий (menu). Простое стандартное прописываю легко, но вот как сделать, что бы при выборе одного варианта, получить ответ и вернутся снова к выбору других вариантов?

Аааа, вот оно что. Спасибо, такой вопрос еще, если у меня какие-то стопора начнутся, как вариант, не сильно отвлекать буду если тут буду задавать много вопросов? По сути и вам FAQ и мне польза)

AleksU_K писал(а): Аааа, вот оно что. Спасибо, такой вопрос еще, если у меня какие-то стопора начнутся, как вариант, не сильно отвлекать буду если тут буду задавать много вопросов? По сути и вам FAQ и мне польза)

Такой FAQ нам неинтересен.
А вопросы задавайте. Просто из-за недостатка времени ответ на половину вопросов придется ждать несколько дней, а на другую половину его может не быть вообще.

Иногда проще спросить у Гугла.

Такой вопрос. Например я использую в меню переменные, за ответы персонаж должен получать очки. В самом старте и объявляю эти переменные, например:
$ dei1 = 0
$ dei2 = 0
$ dei3 = 0
В блоке menu, я расписал какой вариант ответа прибавляет бал к определенной переменой. В следующий диалогах, так же добавляю по балу за выбор. (Движок, он сам суммирует выборы или же их сумму как-то приписывают? ) В итоге как прописать условие, если игрок выбирал больше раз 1 вариант,(Например если таких выборов было 50, а выбрал 40, 10 на другие соответственно) то получит 1 концовку.

Ох, немного не правильно написал суть проблемы, но отредактировать не могу почему-то. Я хотел спросить, как сделать, что бы очки просто суммировались, просто у меня получается что я добавил к ответу по балу, а следующем диалоге при выборе другого ответа, условие пропускается.

AleksU_K писал(а): Ох, немного не правильно написал суть проблемы, но отредактировать не могу почему-то. Я хотел спросить, как сделать, что бы очки просто суммировались, просто у меня получается что я добавил к ответу по балу, а следующем диалоге при выборе другого ответа, условие пропускается.

Добрый день! Помогите, пожалуйста, разобраться с системой отступов. Правильно ли я понимаю, что все, принадлежащие к блоку init( изображения, персонажи, диалоги) будет иметь 4 пробела, если появляется другой блок (кстати, сколько их всего?) мы делаем еще 4 или больше отступов?

Ally писал(а): Добрый день! Помогите, пожалуйста, разобраться с системой отступов. Правильно ли я понимаю, что все, принадлежащие к блоку init( изображения, персонажи, диалоги) будет иметь 4 пробела, если появляется другой блок (кстати, сколько их всего?) мы делаем еще 4 или больше отступов?

А есть какой-нить редактор аналог Visual Studio для Перла, где можно без проблем перейти на функцию, чтобы понять, что она делает (да-да, я обленился, привык к прелестям Visual Studio с его авто подсказками и д.р вкусностями)? Если честно, чёрт ногу сломает пока кое как разберёшься, в структуре данных в Ведьме.
Пока удалось выдернуть и заставить работать мелкую часть данных, в основном конструктор облика персонажей (крутая штука, правда пока не разбирался, как свои добавлять образы) ну всё это с хвостом пока не нужных функций (введи предметов/подарков).

tukreb писал(а): А есть какой-нить редактор аналог Visual Studio для Перла, где можно без проблем перейти на функцию, чтобы понять, что она делает (да-да, я обленился, привык к прелестям Visual Studio с его авто подсказками и д.р вкусностями)? Если честно, чёрт ногу сломает пока кое как разберёшься, в структуре данных в Ведьме.
Пока удалось выдернуть и заставить работать мелкую часть данных, в основном конструктор облика персонажей (крутая штука, правда пока не разбирался, как свои добавлять образы) ну всё это с хвостом пока не нужных функций (введи предметов/подарков).


Я тоже привык к VS , для разработки RenPy использую Sublime . Никаких возможностей перейти на функцию и тем более пошаговой отладки в нем нет. Хороший текстовый редактор с мелкими приятными фишками для программистов, но не более того.
Структура кода Ведьмы действительно запутана, поскольку писалась разными людьми. Изначально создавалось Акабуром, затем модифицировалась eskelsama (модули в папках, начинающихся с 00), затем мной (модули в папках, начинающихся с 07) и потом Дроном (модули в папках, начинающихся с 08).
Если вы хотите что-то делать для Ведьмы, вам лучше обратиться к ребятам.
Общие вопросы по коду можно задать здесь.

tukreb писал(а): А есть какой-нить редактор аналог Visual Studio для Перла, где можно без проблем перейти на функцию, чтобы понять, что она делает (да-да, я обленился, привык к прелестям Visual Studio с его авто подсказками и д.р вкусностями)? Если честно, чёрт ногу сломает пока кое как разберёшься, в структуре данных в Ведьме.
Пока удалось выдернуть и заставить работать мелкую часть данных, в основном конструктор облика персонажей (крутая штука, правда пока не разбирался, как свои добавлять образы) ну всё это с хвостом пока не нужных функций (введи предметов/подарков).


Я тоже привык к VS , для разработки RenPy использую Sublime . Никаких возможностей перейти на функцию и тем более пошаговой отладки в нем нет. Хороший текстовый редактор с мелкими приятными фишками для программистов, но не более того.
Структура кода Ведьмы действительно запутана, поскольку писалась разными людьми. Изначально создавалось Акабуром, затем модифицировалась eskelsama (модули в папках, начинающихся с 00), затем мной (модули в папках, начинающихся с 07) и потом Дроном (модули в папках, начинающихся с 08).
Если вы хотите что-то делать для Ведьмы, вам лучше обратиться к ребятам.
Общие вопросы по коду можно задать здесь.


Спасибо, за редактор, с ним гораздо приятно работать.
А с Ведьмой, я пока просто балуюсь, смотрю как работает Ren Py. Ну, а при свободном времени есть идея попробовать почистить код полностью (хотя это уже сделано, в функции лезть особого желания пока нету) и с 0 написать, что-то похожее на Тренера Ведьм, но со своей историей В Оригинале, слишком мало тонкостей и мелочей, без которых эротическая игра, не такая уж эротическая. Плохо дозирована возбуждающая сторона, т.к мало интриги и не стыковки, которые портят всё (но о них разработчики знают, да и про всё остальное). Я конечно тоже не мастер, но мало ли если хватить запала.

Кстати, если не перейти на функцию, то в Sublime есть очень удобная комбинация ctrl+shift+f, которая позволяет искать слова в каталогах. Через неё очень быстро можно перейти на функцию.
Жаль, не поддерживаются только некоторые плагины для языка RenPy Например даже в том же Notepad++ (хоть и очень криво), но есть карта функций, правда от неё толку почти никакого, т.к не может отобразить карту для всего каталога файлов

Здравствуйте, очень уважаю ваш труд, и с нетерпением жду новой версии, возник вопрос и просьба, вопрос: как убрать замочек в скрипте который не позволяет нечего изменять в коде, и просьба: я начинающий пользователь в ренпи, можете ли вы скинуть мне не запакованную версию ТВ а то я распаковать что то не могу, я хочу попробовать кое что реализовать, не для распространения я обещаю)))Чисто для себя, заранее благодарен очень жду 1.6.0

GameMaker174 писал(а): Здравствуйте, очень уважаю ваш труд, и с нетерпением жду новой версии, возник вопрос и просьба, вопрос: как убрать замочек в скрипте который не позволяет нечего изменять в коде, и просьба: я начинающий пользователь в ренпи, можете ли вы скинуть мне не запакованную версию ТВ а то я распаковать что то не могу, я хочу попробовать кое что реализовать, не для распространения я обещаю)))Чисто для себя, заранее благодарен очень жду 1.6.0

GameMaker174 писал(а): Здравствуйте, очень уважаю ваш труд, и с нетерпением жду новой версии, возник вопрос и просьба, вопрос: как убрать замочек в скрипте который не позволяет нечего изменять в коде, и просьба: я начинающий пользователь в ренпи, можете ли вы скинуть мне не запакованную версию ТВ а то я распаковать что то не могу, я хочу попробовать кое что реализовать, не для распространения я обещаю)))Чисто для себя, заранее благодарен очень жду 1.6.0

Ren'Py – это многоплатформенный бесплатный движок для создания визуальных новелл (хентайные квесты) в 2D-графике. По-другому можно назвать данный жанр графическими квестами с диалоговой системой. Использует технологии Python, Pygame, SDL и др.

Ren'Py распространяется бесплатно. Авторы движка лишь просят связаться с ними по указанным контактам, если вы создали при помощи данного конструктора свою игру, чтобы внести вашу игру в общий каталог на сайте разработчика. Также обязательным условием бесплатного использования этого движка является упоминание имён авторов в титрах вашей игры. Ren'Py является программой с открытым исходным кодом и может быть свободно использован как для некоммерческих, так и коммерческих целей. Созданным на нём играм быть с открытыми исходниками не обязательно. За дополнительной информацией стоит обратиться к лицензионному соглашению Ren'py.

Создание простых игр в данном конструкторе по сложности доступно для любого желающего, но для более сложных игр необходимо изучить и применять скриптовый язык Python. Есть широкие возможности для создания оригинальных манг, в том числе: подключение видео и использование различных спецэффектов на движке. Даже можно подключать мини-игры, системы подсчёта параметров для усложнения геймплея игры. Вот для этого и требуется знание языка Python.

А если же вам необходимо создать типичную игру данного жанра, то Ren'Py по умолчанию уже настроен на создание типичной игры жанра визуальных новелл: уже с меню, возможностью сохранения, простыми функциями анимации, разветвлениями сюжета, музыкой - остаётся только вставить картинки и вписать текст.

Графика и качество игры, созданной в этом конструкторе, зависит в большей степени от ваших умений рисовать. Ну а сюжет зависит от ваших писательских способностей. Типичный геймплей достигается без знания программирования, а со знанием скриптования Python возможно даже создание RPG.

Поддерживаются такие форматы графики: JPEG/JPG, PNG, BMP, GIF. Форматы звука: OGG Vorbis, OGG Speex, MOD, WAV (только PCM), MP3.

Поддерживает Windows, Linux и Mac OS. Движок поддерживает много языков. Для русскоязычных пользователей движка волноваться тоже не приходится – он полностью переведён на русский язык и поддерживает русские шрифты (юникод).

На официальном сайте имеется русскоязычная поддержка, на нём вы можете найти краткое описание и тестовый пример на русском языке.










Ren'Py is a free and cross-platform engine that helps you use words, pictures, and sounds to tell stories with the computer. Its easy and efficient script language makes it possible for non-programmers to make visual novels, while its Python support allows for complicated simulation games.

Ren'Py is a free and cross-platform engine that helps you make story-based games. These include:

Visual Novels, computer-based stories presented using words, pictures, sounds and music. Ren'Py's script language makes writing visual novels easy and efficient, allowing visual novels to be made without needing a dedicated programmer.

0

Движок отличный
Если знаешь puthon то не составит труда создать симулятор чего либо или новеллу с элементами РПГ
Небольшой минус в том что мало литература о renpy_e на русском
Если хочешь создать новеллку но не знаешь с чего начать то вот руководство для начинающих и группа в ВК где тебе помогут

-5

3

2

Хороший движок. Собственно, благодаря ему я и начал осваиваться в игрострое. Даже Питон благодаря именно этому движку начал изучать, а потом узнал, что на Блендере тоже Питон используется. И понеслось х)
На ренпи я даже что-то вроде РПГ-боевки уже успел сделать, но. Но это так несерьёзно получилось.

5

2

2

1

1

1

Очень понравился энджайн, на нем можно делать обучалки какие нибудь для программ, презентации хорошие и все это на пайтоне, замечательно! Спасибо GcUP я про Ren'Py вообще не знал.

-6

Поставил. Работат только демка. Прога требует Яву. После установки Явы выдаёт "Main class not found".

Курс посвящен не столько Ren'Py вообще, сколько моддингу everlasting_summer-1.2. Однако данные знания будут полезны и при создании игр на данном движке.

Целевая аудитория: желающие попробовать себя на роль сценариста и/или редактора.

Требуемые навыки: уметь редактировать текстовые файлы, обладать зачатками разума.

Что нам понадобится? Текстовый редактор, поддерживающий:
- Unicode, в частности UTF-8

UTF-8 - многобайтная кодировка, стандарт юникода de facto. Русские символы кодируются 2 байтами, что хорошо видно ниже.

utf8.jpg

Если поддержки нет, вы скорее всего увидите что-то такое:

- Как CR/LF, так и Unix end of line

В разных ОС разные традиции кодирования переноса строк. В DOS и Windows используются 2 байта - CR и LF, в Linux - 1 байт LF.

crlf.jpg

Если поддержки нет, вы скорее всего увидите что-то такое:

- (желательно) замену табуляции на 4 пробела
Под Windows я использую AkelPad , под Linux - Kate


Как грузится Ren'Py? 1. Компилирует все файлы *.rpy в папке /game/. Результат = *.rpyc-файлы
2. Загружает все *.rpyc-файлы из папки /game/
Вывод: если подложить .rpy-файл в любое место в папке /game/, то он подгрузится
Кстати, имя файла ни на что не влияет.


Структура rpy-файла - Текстовый, человекочитаемый файл
- 1 команда = 1 непустая строка файла
- Исключение - блоки
-- Блок имеет команду-шапку на первой строке.
-- А также команды-строки, входящие в него
--- Которые тоже могут быть блоками
-- Вложенные команды - на 4 пробела правее


Базовые команды label, jump и return label - единственный в этом уроке блок
Команды внутри него выполняются сверху вниз
jump - переход к 1-й команде соответствующего блока
return - возврат к главному меню игры.


Базовые команды: описания и реплики "Вот так оформляется текст от имени автора"
th "Вот так оформляются мысли Семёна, те самые, которые с ~ по краям"
me "Реплика вслух от имени Семёна"

ОСТОРОЖНО: длинная строка не поместится в отведенную в игре рамочку.

Формат имя "Текст"

un - Лена (Уныл-тян)
dv - Алиса (Двач-тян)
us - Ульяна (CCCР-тян)
sl - Славя
mi - Мику
uv - Юля (ЮВАО-тян)
el - Электроник
sh - Шурик
mz - Женя (Мицгёл)
mt - Ольга Дмитриевна (Мод-тян)
cs - Виола (Коллайдер-сама)
pi - Пионер


play music - начать играть музыку.
Список музыки
stop music - прекратить играть музыку.

Возможные ошибки
Tab characters are not allowed in Ren'Py scripts. - где-то табуляция вместо пробелов.
is not terminated with a newline. (Check strings and parenthesis.) - не закрыта кавычка
intendation mismatch - проверьте, всегда ли отступаете по 4 пробела
expexted statement - неправильная команда
При передаче show / scene необъяленного изображения предупреждение возникнет лишь во время игры. Сверху появится надпись "Undefined images" и имя изображения.

При попытке передать play неправильную музыку, ошибка возникнет во время игры. Игра упадет с ошибкой KeyError: ' '


$регистрация модификации
Для того, чтобы появилась возможность запуска модификаций, нужно зарегистрировать ваш мод. Вставляем следующий код в начало rpy-файла:
init:
$ mods [" __ "] = u" "

Для запуска нужно перейти в меню "Моды и сценарии" и выбрать , после чего произойдет переход к метке .
Например:
init:
$ mods ["student1__lesson2_task1"] = u"Сцена 1"
label student1__lesson2_task1:
.

Обратите внимание, ник нужно отсекать ДВУМЯ подчеркиваниями __

.rpy с заданиями сохраняем в %gamedir%\game

Вы - Азунян. Напишите что-нибудь интересное!
Примерная тема: одна из девочек решила пригласить Семёна посмотреть на свою комнату.
Задача: результатом должен быть гру-файл, начинающийся с метки lesson1_task3
Минимальный размер файла: 50 строк.


Гайды

Как обманывать

На данный момент есть только несколько читов.

Я начал это, играя во 2 сезоне, так как хотел превратить на мини-играх, но я не большой поклонник починки особняка, поэтому я просто хотел сжульничать. Других руководств или руководств не было, так что вот!

Несколько заметок

Несколько заметок, прежде чем я начну

Чтобы увидеть эти команды, мне нужно было декомпилировать файлы скриптов (сейчас я знаю об этой игре гораздо больше, чем следовало бы).

Они не будут публиковаться, распространяться или публиковаться каким-либо образом.

Я также не буду объяснять, как декомпилировать игры RenPy в этом руководстве или любых других будущих руководствах, которые я выпущу.

Перейдем к руководству!

Включить консоль RenPy

Включить консоль в играх RenPy довольно просто.

Перейдите в общую папку steamapps. Пример:


  • В папке с игрой нажмите “renpy” затем “common”.
  • Найдите файл 00console.rpy и откройте его с помощью Блокнота.
  • Используйте поиск (CTRL + F) и найдите config.console
  • Ищите строку config.console = False & измените его на True.
  • Чтобы убедиться, что он работает, откройте игру, затем нажмите CTRL + O. Если он откроется, мы можем читерить!

Если все сделано правильно, при нажатии CTRL + O это будет выглядеть в игре так:


Читы по персонажам/отношениям

Давайте начнем с некоторых отношений, персонажей и amp; коды очков dk!

Изменение вашего статуса Dk.

Это может изменить ваш уровень ♥♥♥.

Я бы’в этом случае нельзя подняться выше 10. У меня были некоторые сбои после перехода на более высокий уровень.

Отношения персонажей

Это изменяет очки отношений, которые у вас есть с любым персонажем.

Я не уверен, каков максимальный уровень отношений между персонажами, но Я бы не стал больше 30.

Игровые читы

Эти читы можно использовать в сезоне 1 & 2!

Таким образом, они не относятся к первому сезону, но могут быть использованы в сезоне 1 & сезон 2. Некоторые читы сезона 2 можно использовать только во втором сезоне (следующая часть этого руководства).

Взаимоотношения персонажей

Это персонажи, очки отношений которых можно редактировать с помощью команды

Деньги

Это легко! Когда у вас закончатся деньги, вам нужно снова использовать команду.

Читы второго сезона

Читы, характерные для 2-го сезона!

Эти читы можно использовать только во 2-м сезоне.

Отношения персонажей

Это персонажи, очки отношений которых можно изменить с помощью команды

  • Все персонажи сезона 1 список
  • Подготовка

Деньги особняка

Этот чит изменит количество денег, которое у вас есть в мини-игре особняка

Статистика мини-игры особняка

Этот чит изменит статистику на 100 для членов братства в мини-игре особняка.

Читайте также: