Если Вы работаете\работали в среде Ren'Py, то вполне возможно задавались вопросом: «Неужели нельзя сделать весь этот процесс визуальным? Операции-то одни и те же». Оказывается, можно. И ребята из StrikeWorks реализовали такую идею. Что же получилось в итоге? Представляю Вашему вниманию среду разработки, которая позволяет полностью отказаться от наборки кода — TyranoBuilder. Давайте же отметим плюсы и минусы этого амбициозного новичка по сравнению с ветераном Ren'Py.
Примечание: сравниваются версии TyranoBuilder 1.6.0 и Ren'Py 7.0.0.196 Взаимодействие и интерфейс
Принцип работы в среде прост:
—есть набор компонентов для каждой функции (отображение текста, смена фонового изображения и т.д.);
—из них собираем цепочку действий новеллы;
—каждое такое звено настраиваем по желанию. Например, для компонента смены заднего фона нужно указать файл изображения, а также вид перехода и его скорость.
Исходя из этой схемы рабочее пространство поделено на три части: компоненты, сцена и свойства её элементов.
Все действия осуществляются через кнопки, формы и остальные визуальные объекты интерфейса. Имена файлов и путь к ним прописывать не нужно — достаточно загрузить их в библиотеку TyranoBuilder один раз, а дальше просто выбирать из списка. Причём для каждого типа файлов библиотека своя. Выделяем музыкальный компонент — за кнопкой «Обзор» прячется музыкальная папка; выделяем компонент спрайта — там только изображения персонажа.
[+] Интерфейс приятный глазу. Интуитивно понятный.
[+] Не нужно держать в памяти необходимые операторы и функции.
[-] Все собранные компоненты выстраиваются последовательно в сплошной ряд. Никаких отступов от левого края, никаких разрывов между строками. Просматривать такой список все равно, что читать книгу без пробелов. Для небольших проектов это не столь критично, но чем больше компонентов набрано, тем сложнее разобраться. Есть вариант: дробить большую сцену на множество маленьких.
Работа с изображениями
[+] Для изображений, что устанавливаются поверх фоновых, есть режимы наложения, сходные с Photoshop´овскими (перекрытие, умножение, цветность и прочее). Такие изображения хранятся в отдельной библиотеке, а посему не будут путаться с бекграундами при работе.
[-] Если перед персонажем (или за ним) больше одного слоя, работать становится очень неудобно. Разработчики TyranoBuilder были явно не готовы к такому повороту событий.
Добавление персонажей
[+] С помощью PositionTool можно быстро размещать спрайты в нужном месте экрана, масштабировать и отражать.
[+] Удобно делать фокусировку (когда из всех персонажей выделяется говорящий). Достаточно перейти по Game Settings->Character->Focus и выбрать, как будут смотреться неактивные персонажи (темнее, прозрачнее, мутнее). Больше ничего делать не нужно поскольку спрайты, имя персонажа и его реплики связанны. Если же захочется реализовать такое в Ren'Py, нужно будет прописывать функции обработки спрайтов и колдовать с их запуском.
Пример использования фокусировки:
The House in Fata Morgana.
[-] Нередко персонажи стоят совсем не так, как было выставлено в PositionTool.
Музыка и звук
[+] В настройках звуковых компонентов есть знакомые fadein\fadeout и зацикливание.
[-] Весь звук нужно переводить в формат OGG, что не особо приятно.
Анимация
[+] Используя компоненты 3D Camera можно быстро и удобно настраивать движение камеры по сцене (перемещение, масштабирование, поворот). Ren’Py может работать с камерой, но разобраться в этом не так уж легко, а реализовывать приходится дольше.
Пример использования камеры: пролог
AngelBeats! [+] TyranoBuilder поддерживает технологию Live2D. Для этого достаточно активировать соответствующие компоненты через Project->Add In Components->Live2D.
Пример использования Live2D:
NekoPara.
Для Ren'Py все полученные из Live2D движения нужно компилировать, превращая из легкого набора инструкций в полновесную покадровую анимацию.
[+] Быстрая и легкая настройка движения персонажа по сцене.
[-] Если Вы хотите заставить двух персонажей двигаться по-разному, придется плясать с бубном над «тирановскими» скриптами. Та же история, если нужно анимировать несколько слоев. Например, хотим создать реалистичный эффект падающей пыли. Берем три слоя с пылинками разного размера, накладываем друг на друга и задаем разную скорость движения. Для Ren'Py такое — не проблема, а вот с Tirano придется либо копать скрипты, либо рендерить анимацию во Flash.
Функциональная часть
Эх, побомбим немножко…
[-] Отсутствует функция автотекста.
[-] Подлагивает прокрутка текста.
[-] Мало слотов для сохранения\загрузки.
[-] Низкая настраиваемость (даже регулятора громкости нет).
[-] Финальный релиз может местами отличаться от тестового.
[-] Небольшая забагованность в целом. Возможны совершенно случайные вылеты и ошибки.
[-] [-] [-] Создать уникальный интерфейс визуальными средствами не получится. Для всех желающих пойти на такой шаг — бессонные ночи и танцы с бубном над CSS и java. Отсюда вопрос: зачем платить за визуальный движок и в итоге все равно лезть в скрипты? Те же вопросы к анимации объектов\слоев.
Итог
TiranoBuilder, конечно, удобный. Работать с ним быстро и приятно. Он прекрасно подходит для создания небольших визуальных новелл с простым функционалом. Однако сделать в нем, по большей части, можно только то, что Вам позволено.
В Ren'Py же все целиком зависит от прямоты Ваших рук и затраченного времени. Это стабильно работающая среда, ограниченная разве что фантазией использующего… ну и поддержкой чего-то эдакого, типа технологии Live2D, Flash, и 3D. (Впрочем, для особых
извращенцев экспериментаторов есть Unity и Fungus). Так что если надумали создавать действительно уникальный и качественный проект, а выбор стоит между TiranoBuilder и Ren'Py, лучше выбрать последний.
Комментарии к записи: 14
Помню на конкурсе одна из новелл была на таком движке, многого функционала с ренпая не хватало, потому я бы воздержался от этого движка.
Другой вопрос: для кого?
Есть те, кого пугает программирование как таковое или те, кому просто лень возиться со скриптами.
А в англоязычном сегменте вообще нередко можно встретить сообщения из серии "а вот я работаю с Тирано <столько-то> месяцев и меня все устраивает". Хотя, может эти законопослушные граждане просто пытаются оправдать покупку сего костыля?
Кстати, сейчас он стоит 229 долларов...
Поэтому разбить спрайт на части и работать с ними отдельно не получиться.
Это очень хорошо так экономит размер финального проекта.
Вместо 100500 вариантов спрайтов, у тебя в папке всего 5-10 кусков спрайта, из которого в движке уже собираются любые вариации.
LiveComposite - устаревшая функция ренпая,
Live2d и RenPy - обе версии, один русский программист портировал, что они теперь вместе могут работатьLive2d and Renpy
Изредко хотя бы смотрите новости группы ренпая...
Но рассматривались возможности движков. То, что "один русский программист портировал"--это самопальная надстройка поверх движка, склеенная из Cubism Native Framework (а это уже инородное тело для Ren'Py). Именно Cubism обрабатывает инструкции, а Ren'Py просто показывает приходящие оттуда картинки.