Генератор скриптов Ren'Py (.txt -> .rpy)
Думаю, многим программистам знакома рутина по переводу сценария из текстового формата в .rpy скрипт, расставлять метки персонажей, вставлять кавычки, писать бесконечные show / hide, play music и т.д.
В один прекрасный вечер меня эта рутина доконала и я решил написать простенькую программу, которая бы делала это все автоматически в один клик.
Представляю вашему вниманию мой генератор скриптов (вполне вероятно, такие программы уже существуют, но лично я не натыкался).

Пример работы программы - перевод из .txt в .rpy:


А теперь подробней о том, как это работает.
Вам нужно выполнить лишь 3 шага:
1. Заполнить скрипт со списком всех персонажей, спрайтов, фонов, CG, музыки и звуков.
2. Соблюдать правила разметки и тегов в .txt файле.
3. Зайти в программу и сгенерировать .rpy файл.


1. Заполнение списка тегов

2. Правила разметки тегов

3. Генерация файлов в программе


Заключение
Особенно это удобно, если программист в начале разработки настраивает списки и показывает их сценаристу, а тот, в свою очередь, начинает использовать теги ресурсов, вставляя их сразу в сценарий. В таком случае сценарист способен и сам генерировать скрипт и проверять его на работоспособность, без участия программиста.
Можно поступить противоположным образом, сценарист изначально пишет свои теги, а по завершении работы программист вбивает эти теги в список ресурсов и генерирует скрипт.
Так или иначе, программа должна облегчить ввод огромного количества текста и вывода ресурсов.

Скачать
Скачать готовый билд с Яндекс Диска. (Win, Linux, Mac)
Скачать готовый билд с Google Drive. (Win, Linux, Mac)
Скачать исходники на GitHub.


Автор материала: sDextra
Материал от пользователя сайта.

Ren'Py 26.07.2021 2601 sDextra упрощение работы, генератор скриптов, RenPy, txt to rpy 4.5/17

Комментарии (12):
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
4
1 Katruna  
29312
Вау! Я как раз очень много времени потратила на этом джеме, тупо перегоняя текст в код о.о
Обязательно опробую на днях это чудо автоматизирования. 
Спасибо большое!

3
2 Lisper  
87222
Крутая прога. Одобряем :3

3
3 Хемуль  
87473
Полезная программа!

3
4 conceptualist  
156625
Спасибо, надо будет испытать.

-3
5 Ziczin  
88117
Костыль ради костыля. С тем же успехом можно сразу писать текст в скрипт. Тем более в ренпае не так уж и много разных команд.
nomnom
*Имеется ввиду ренпай без дополнений

6
6 sDextra  
132
Сужу по личному опыту: никто из знакомых сценаристов не пишет сценарии сразу в .rpy формате, особенно, если синтаксис не знаком.
А когда присылают огромный объем тысяч на 50 слов, это сокращение просто тонны времени.

4
8 Katruna  
29312
Да даже когда текст всего 4 тысячи слов - это весьма муторная и долгая работа.
Надо же не запутаться во всех персонажах, прописать их правильно и разбить текст на фразы, которые помещаются красиво в диалоговое окно.
Так что- большое спасибо за такой костыль. Буду обязательно пользоваться им)

4
7 SludgeAcolyte  
27750
>  С тем же успехом можно сразу писать текст в скрипт.

Ни в коем случае! Вы хоть представляете, как муторно вычитывать и редактировать текст прямо в RenPy? Или же захотели вы переделать что-то, вырезать диалог, добавить в другом месте - куча сделанной впустую работы. Или вы пишете разветвленную историю или диалог... вбивать такое сразу в RenPy - сущая пытка. Я уже не говорю о том, что в редакторе RenPy нету автоматической проверки правописания из-за чего можно наделать массу тупых опечаток просто по невнимательности. Возможно какие-нибудь простенькие работы в духе: "-Привет, давай дружить! -Ого, давай дружить!" и можно сразу в код вбивать, но если делается что-то более серьезное, то сначала писать и вычитывать в ворде - единственный правильный путь.

1
9 stttt  
453531
Отлично! В этом месяце планирую попробовать и напишу что вышло (надеюсь не забуду)  nhehe

3
10 СОНЦЕ  
93
Задумка приятно удивила. Казалось бы чем можно облегчить перевод скрипта в код далее чем добавить кавычки и 4 пробела в каждую строку? но разметка дигалогов отступами это гениально! Теперь тоже так буду писать :3. А в куче со всеми остальными командами это уже похоже не на программку помошник, а на зайчаток нового супер синтаксически сладенького языка. Эдакое "1С:Новеллостроение" К нему бы не конвертор прикрепить, а интерпретатор в реальном времени чтоб подсовывал движку его комманды, и после этого сам код ренпи забыть как страшный сон.

чего бы хотелось добавить/поправить.
 - стандартную процедуру транслита вместо словаря подмены. чтобы ничего не расписывать и вообще не менять русскую раскладку
 - табуляция особенно физическая не всегда удобна. возможно можно сделать чтоб и 4 пробела узнавало.
 - вообще поработать над ограничениями, и допустить кавычки, пробелы в названиях, и мб даже раскладку. чтоб не нужно было держать ограничений в голове а просто садиться и творить :3

крч круто, спасибо!

2
11 sDextra  
132
Спасибо за предложения, я их реализовал (версия 1.1).

1. Теперь, если по метке ничего не находится в словаре, то название ресурса будет подвержено транслитерации (ГОСТ Р 52535.1-2006). Можно заменить на свои правила транслитерации, все находится в файле scripts/generator_translit.rpy

2. 4 пробела будут определяться так же, как и табуляция.

3. Теперь можно писать кавычки в тексте, пробелы и русские символы в названиях файлов, меток и персонажей.
Пробелы заменяются на нижний прочерк, а русские буквы будут подвержены той же транслитерации.

P.S.: После генерации .rpy скрипты доступны сразу же, к примеру, можно в консоли вызвать через call *название метки* и это сработает. Но лишь в том случае, если все ресурсы инициализированы и физически добавлены в игру.

1
12 Mikuyo  
133818
Спасибо за статейку nlove Думаю поможет в разработке игры) и написано вполне понятным языком!