Reebyte: движок, пробивший дно
Уже два года на полках Steam красуется движок Reebyte. Манит крутым трейлером, описанием и приятной ценой. А высокие системные требования (DirectX 11 и 8 GB оперативной памяти) намекают на широкие возможности в работе с графикой. Но стоит познакомиться с ним поближе, — увидеть, какая же нищета скрывается за красивым фасадом, — и вы пожалеете о покупке. Да так сильно, что захотите вернуть деньги, но будет поздно: двухчасовой рубеж пройден. Сто двадцать минут боли, кринжа и хриплого истерического смеха — вот что ожидает каждого покупателя Reebyte. Как такое вообще возможно в современном-то программном продукте? Что же, усаживайтесь поудобнее. Полёт будет жёсткий.

______________
Что обещают

Итак, для пущего контраста, начнём с рассмотрения фасада. С того, как разработчики описывают собственное детище на странице в Steam. Читайте описание внимательно, мы ещё не раз к нему вернёмся...


REEBYTE ИДЕАЛЬНО ПОДХОДИТ ДЛЯ:

  • - Создателей визуальных новелл
  • - Художников / Дизайнеров
  • - (…)
  • - Разработчиков видеоигр



REEBYTEARE PERFECT FOR

  • - Visual Novel Maker
  • - Artist / Designer
  • - (…)
  • - Game Developers



Складывается впечатление что движок способен удовлетворить запросы опытного «винодела», воплотить смелые идеи дизайнера, и даже добавить в новеллу механики из мира видеоигр. Навроде инвентаря или point-and-click элементов. И зачем только авторы «Короны из листьев» покупали дорогущий Game Maker Studio 2, когда есть такое чудо за меньшие деньги? Зага-а-адка. Читаем дальше:

ОСОБЕННОСТИ:

  • - Мощнейшие инструменты для создания визуальных новелл и интерактивных проектов
  • - Лёгкий в использовании благодаря системе Drag and Drop
  • - Позволяет монетизировать игру благодаря подключению рекламы Admob для сборок на Android и iOS
  • - Позволяет подключить достижения Steam для ПК сборки
  • - (…)
  • - Ветвление сюжета
  • - Полная документация
  • - Онлайн туториалы
  • - Релиз на множество платформ: iOS, Android, HTML5, Facebook Instant Game, Windows, Mac иLinux



REEBYTE FEATURES

  • - The most powerful tools to build a Visual Novel Game and Creative Interactive Projects.
  • - Easy to use because its only Drag and Drop Features
  • - Monetize your game using Admob for Android, and iOS projects
  • - Support Steam Achievement for Desktop projects
  • - (…)
  • - branching system for choice
  • - Complete Documentation
  • - Online Tutorial
  • - Multiplatform : iOS, Android, HTML5, Facebook Instant Game, Windows, Mac, and Linux.


Ох, да перед нами же убийца TyranoBuilder, позволяющий сделать настолько крутую новеллу, что и зарабатывать на ней не грех. (Спойлер: нет)
Ну а дальше разработчики не раз употребляют эпитеты professional и powerful по отношению к своему продукту. И не раз скажут что на их движке можно ваять не только новеллы, но также видеоигры и приложения. Хорошо, разрабы, убедили. Давайте же попробуем сделать хотя бы простенькую новеллу.

______________
Общие принципы


Принцип работы в среде Reebyte точно такой же как в TyranoBuilder:

    • Есть набор компонентов (1) — каждый выполняет свою функцию. Один меняет фоновое изображение, другой — включает звуковой эффект и так далее.

    • Пользователь перетаскивает компоненты на сцену (2), составляя цепочку действий. Набирать код руками не нужно.

    • В окне предпросмотра (3) можно увидеть результаты работы компонентов, а кроме того: позиционировать и масштабировать изображения. Согласитесь, в Ren'Py этого не хватает.

    • Каждый компонент можно настроить индивидуально. Все настройки отображаются на боковой панели (4).

Вместе с очевидными плюсами «тирановской» системы в Reebyte перекочевали и минусы: никаких отступов по левому краю, вложенности или группирования. Из-за чего компоненты выстраиваются в сплошную линию. Ориентироваться в ней тяжело (особенно если проект крупный), а от скопища ярких цветов начинает рябить в глазах. Вы, наверное, задаётесь вопросом: «А как ты вообще хотел?». А хотел я как в GDevelop, где используется более продвинутый подход программирования без ручного набора команд:

Так, с принципами ознакомились, пора бы преступить к работе и сваять хотя бы простенькую визуальную новеллу.

______________
Работа с фоном


Первым делом поставим фоновое изображение. Делается это с помощью компонента Background Image. Перетаскиваем его на сцену и выбираем нужную картинку в проводнике. Можно загрузить в проект сразу все фоны одним махом, и даже разбить их на папки что весьма удобно. И вот вроде бы всё хорошо, но что-то не так. Будто забыл нечто очень важное... Ах да, нас же не просили установить разрешение экрана будущей новеллы. И не спросят, и не дадут изменить в процессе работы. Право выбора будет только у конечного пользователя и то ограниченное: при каждом запуске новелла будет надоедливо просить выбрать разрешение из списка доступных и режим (оконный/полноэкранный).

Соотношение сторон доступно только одно — 16:9. Так что о создании новеллы в стиле ретро можете забыть.
Кстати, ничего это окошко не напоминает? Да-да, вы всё правильно поняли: наш движок для создания игр (Reebyte) написан на движке для создания игр (Unity). Во славу рекурсии!

Ладно, чёрт с ним. Давайте запустим сцену в которой один только фон. И тут нас прямо с порога ожидает сюрприз: эдакий эффект параллакса. И первые пару секунд такая фича вызывает восторг: ох, чудно, прямо как в новеллах от Красавицы Икуку или Angela He. Но потом накатывает злость: эффект нельзя ни настроить, ни даже выключить. А очень хочется, поскольку нет разбивки на планы: фон, изображения и спрайты перебывают на одном слое. Так, вместо ощущения объёма мы чувствуем сцену ещё более плоской, чем если бы эффекта параллакса не было совсем. Для наглядности приведу видео со сравнением эффекта в The Knight of the Crimson Tower (Ren'Py), YOU LEFT ME (Unity) и Example (Reebyte):

Теперь пробуем сменить фоновое изображение и видим что авторские переходы не сделаешь, а встроенные выглядят весьма убого. Ну кроме Crossfade (аналог Dissolve из Ren'Py), уж его-то запороть нельзя при всём желании .

______________
Работа с текстом


Добавим в нашу новеллу текст. Для этого сначала перетаскиваем на сцену компонент Show Text (чтобы появился текстбокс) и, собственно, Text (в котором прописываем имя говорящего и реплику). Казалось бы, тут никаких подводных камней быть не должно. Это же просто вывод символов на экран. Хоть с этим-то движок должен справиться. Но не тут-то было:

    • Нету возможности сменить шрифт. Вот какой выбрали разработчики, тем и довольствуйтесь.

    • Форматировать текст не получится. Жирный, подчёркнутый, цветной — забудьте. Хотя… может быть сей дивный движок использует специальные тэги, но — барабанная дробь! — справка сдохла.
    Вот вам и полная документация! Ну да ладно, не беда: у нас же есть онлайн туториалы. Да-да-да, целых три на весь интернет и те бесполезны. Чудненько.

    • Нельзя настроить скорость вывода текста и авточтения. Никому нельзя: ни вам, ни пользователю. И не смейте спорить — авторам виднее.

    • Ну и самое вкусное: если в набранном тексте присутствует хоть одна заглавная кириллическая буква, — бам! —движок вылетает. Исключение составляют буквы К, Р, А, Н, Х, В, О, С, Т (видимо, ввиду их визуальной схожести с латинскими). Чёрт возьми, да это не пользователи должны платить разработчикам, а наоборот – сами авторы должны давать деньги за тестирование их сырого детища и поиски багов.
    И ещё... будьте осторожны со спец.символами — возможны вылеты движка в космос.


______________
Работа с аудио


Здесь также не обошлось без неприятных сюрпризов:

    • Добавлять аудиофайлы позволено только в формате *.wav и *.ogg. Приготовьтесь к увлекательному процессу переформатирования каждого трека, звука и голоса.

    • Пускай есть Fade In и Fade Out (плавное появление и затухание мелодии), но нельзя начать воспроизведение с определённой секунды. Готовьте аудиоредактор.

    • На музыку и звук выдаётся по одному аудиоканалу. А это значит что проигрывать две и более аудиодорожки одновременно не выйдет. Разве что использовать технику волшебного костыля: одну дорожку воспроизводить компонентом Play Music, а другую – Play Sound Effect. Но тогда придётся отказаться от звуков и озвучки персонажей.


______________
Работа со спрайтами


Если после всего написанного вы думаете что хуже уже быть не может, то — о-хо-хо! — вы недооцениваете гений разработчиков. Сейчас расскажу официальный способ работы со спрайтами.
Итак, представьте что в вашей новелле 5 персонажей по 10 спрайтов на каждого. Итого 50 спрайтов, которые нужно по одному загружать в движок следующим образом:

    • В разделе Characters ввести локальное название спрайта (оно нужно движку и никак не связано с названием файла)

    • Нажать Add чтобы это название добавилось в список

    • Выбрать из списка только что добавленное локальное название.

    • Нажать Browse и наконец-то загрузить спрайт. Ура, товарищи.


Почему разработчики не дают загрузить в проект сразу все спрайты, а в качестве локального названия принять имя файла — загадка.

Но это ещё не всё. Вышеуказанную цепочку действий мы проделывали для компонентов Join Scene и Exit Scene. Они отвечают за появление и исчезание персонажа на экране. А если вы хотите чтобы он ещё и менялся в лице, будьте добры, загрузите спрайты ещё раз, только уже в индивидуальные подпапки имеющихся в проекте спрайтов (это нужно для компонента Change Expression). Например, у нас есть персонаж Волшебница с тремя эмоциями. Нужно сначала загрузить в движок каждый спрайт по отдельности, назначив локальные имена (пускай будет «В1», «В2» и «В3»), а потом в подпапку спрайта «В1» залить «В2» и «В3», в подпапку спрайта «В2» — «В1» и «В3», а в подпапку «В-3» — «В1» и «В2».
Легко, быстро, интуитивно понятно, ага...

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

Потому что смена эмоции персонажа выглядит просто ужасно: сначала движок терпеливо дожидается пока один спрайт полностью исчезнет и только потом начинает плавно показывать другой. В итоге на долю секунды персонаж полностью пропадает со сцены. Прямо незваный человек-невидимка. Назовём этот эффект «вспышкой пустоты». Класс.

______________
Работа с анимацией


Что-что, а вот анимация в современном движке должна быть на высоте. Но в случае Reebyte — на высоте плинтуса. Давайте по пунктам:

    • Возможности процедурной анимации сводятся к перемещению из точки А в точку Б и масштабированию. Всё. Никакого вращения, движения по дуге или по траектории. Плюс ко всему: скорость движения строго линейная. Ни тебе перемещения с ускорением/замедлением/по экспоненте. Действительно, а зачем?

    • А как насчёт Live 2D? Вот TyranoBuilder поддерживает, хоть и с трудом; Visual Novel Maker тоже, но будь добр заплати за аддон; даже старина Ren'Py с недавних пор умеет справляться с псевдо 3D-шными девочками. А что насчёт Reebyte? А он вообще о такой технологии не знает. Точка. Приплыли. Вся надежда на покадровую анимацию.

    • А покадровую анимацию движок воспринимает только через файлы формата GIF. И те со скрипом: отдельные кадры могут смещаться и частично пропадать. Особенно если имеют прозрачность.

    • А теперь самое интересное: система частиц… И-и-и да, детка, вот оно! Вот для чего нужен был DirectX11 и 8GB RAM — частицы. И я не шучу. Это единственное, за что можно на полном серьёзе похвалить Reebyte. Двигаются частички гладко, настраивать их поведение легко и удобно. Правда, такой свободы как в Ren'Py можно не ждать, но тем не менее.

    • Ну и вдогонку: вставить видео в игру не выйдет. Разве что запустить gif-анимацию, а параллельно с ней — звуковую дорожку. Но это лютый костыль.


______________
Работа с интерфейсом

Приготовьтесь, сейчас будет жарко. Хотя нет, к такому невозможно подготовиться, так что скажу сразу.
Интерфейс. Невозможно. Кастомизировать. БУ-У-УМ.

Что там говорили разрабы: идеально подходит для дизайнеров? Боюсь спросить, а дизайнеров чего? UX, UI, игровых механик?
Ладно-ладно, чуть-чуть слукавил: вы можете поменять текстбокс. Но не весь, разумеется — только картинку. А расположение неймбокса, текста и кнопок остаётся высеченным в камне. Но, хэй, может быть родной интерфейс Ребайта до того красивый и функциональный, что не нужно его менять вовсе? Как бы не так:

    Кнопки. Они все «мертвы». То есть никак не отзываются на курсор (забудьте о hover, selected и прочих состояниях), а курсор не отзывается на них (то бишь не меняется при наведении). Так что даже не думайте о внедрении point-and-click элементов — игрок будет целую вечность водить по экрану в поисках активных предметов и не найдёт ни одного. Разве что будет щёлкать по каждому пикселю, ведь только на щелчок эти проклятые кнопи и реагируют. Браво, авторы, браво.

    Текстбокс. На нём всего лишь две кнопки: Auto (авточтение) и Skip (промотка). Их нельзя ни убрать, ни изменить. Добавить каких-то других кнопочек на текстбокс тоже не получится. Я уже молчу о добавлении ctc-анимации (Click to continue) или миниатюры персонажа (Side Image).


    Меню сохранения/загрузки. Просто есть. И чтобы выйти в него нужно нажать Esc.


    Меню настроек. Знаете, вот не могу сказать о нём ничего плохого. Потому что его нет. Вот нету и всё. И если у читателя хотя бы спрашивают разрешение и режим экрана, то у автора движок не спрашивает вообще ничего по части настроек. А как, спрашивается, сделать новеллу мультиязычной? А что если пользователь захочет отключить озвучку, изменить громкость, увеличить скорость текста? Мы же целимся в Steam, во всяческие платные платформы. Готовы вкладывать деньги в разработку, ведь игра будет настолько крутой, что в конце концов принесёт прибыль. Да-да-да, конечно.

    История. Её тоже нет. И вернуться назад, крутнув вверх колёсико мыши не получится.

    Стартовый экран. Его вы делаете сами. Ах, какая щедрость, какой простор для дизайна. О да, дизайна экрана с одной кнопкой «Начать». А больше на стартовый экран вы и не навесите.


______________
Прочее

Ну и кратко пробежимся по мелочам:

    • Ветвление сюжета доступно только по системе Label/Jump: конкретный вариант ответа "переносит" читателя к конкретному месту в сюжете. Организована она точь-в-точь как в TyranoBuilder, по сему визуально громоздкая и в ней крайне сложно ориентироваться. Особенно если выборов много.

    А как насчёт системы лавпоинтов? Когда за каждый ответ начисляются очки, а потом в какой-то момент игра подсчитывает их количество и выводит игрока на нужную ветку. О-о-о, вот тут весело: в движке есть компонент создания и изменения переменных, но нет компонента их проверки… Ну и где ваша branching system for choice?

    • Мультиплатформенность — есть. Хотя бы здесь разработчики не соврали.

    • Ачивки для Стима — есть. Прекрасно. Только ради них движок и покупал, ага.


______________
Итог

Reebyte – образцовый движок. Образцовый в плане того как не нужно создавать среду разработки. Он не стоит своих денег. Он вообще никаких денег не стоит и годится разве что для создания презентаций. Хотя... Даже Power Point конца 90-х обладает большим функционалом и стабильностью, чем эта поделка. Не покупай движок, не совершай ошибку.

P.S. Если хотите обзор на другие движки (Rabico, Unity, Godot, etc) или туториалы по созданию визуальных новелл (в особенности на GDevelop) — пишите в комментариях.


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

Статьи 06.06.2021 1883 Lisper Engine, движок, Reebyte 4.7/24

Комментарии (24):
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
3
1 animukonata2019  
227888
Лиспер, огромное спасибо за статью! Не знаю, ржать или плакать, настолько убийственной выглядит ситуация. Степень кривизны Reebyte можно сопоставить разве что с SEEVN, но тот а) бесплатный и б) даже не пытается притвориться внятным движком для геймдева. Надеюсь, застану на своем веку идеальный зерокодерский энжин, что станет настоящей альтернативой Ren'Py.

3
2 Katruna  
29312
Хочу все nshy

5
3 Mawrak  
234
А вот мне интересно, если движок на Юнити, то ведь и билды из него, выходит, на Юнити, даже окошко есть. А ничего, что Юнити при определенном числе продаж в год требует покупки Plus/Pro версий? А авторы этого чудо-движка утверждают, что игры на нем можно свободно продавать без последствий? Не является ли это диким нарушением TOS-а Юнити?

Автор, можете скинуть тестовый билд новеллы, мне даже интересно посмотреть, что это за чудо-юдо такое.

8
4 Lisper  
87222
А ведь... Действительно.
И самое смешное что билды Ребайта запускаются без заставки "Made by Unity".
А структура файлов там точь-в-точь Юнитовская, только вместо "Unity Player" пишут "Game Player". Типа вы не поняли, это другое.
Вот и сам билд под Windows: GoogleDrive.

3
11 Mawrak  
234
Ну да, это билд Unity 2017.4.20f2. Декомпилировать не удалось, но это точно Юнити. И мне кажется, что это очень нелегально, и разрабы (а также и пользователи их движка) могут попасть в большие неприятности.

2
15 Хемуль  
87473
Видимо, уже попали. Не зря же официальный сайт мертвый, как и руководство на нем. https://www.reebyte.com/

3
5 Ultra_Scream  
341873
Прочитал статью целиком, аж у самого чутка задымилось от осознания степени "свободы" в этом движке smile_85

2
6 Хемуль  
87473
Неудивительно, что на этом движке до сих пор ни одной новеллы не сделано. По крайней мере, на ВНДБ я их не нашёл.

А в статье не очень удобно, что для того, чтобы посмотреть видео, приходится на Ютуб переходить: Видео недоступно
По требованию владельца это видео не воспроизводится на других сайтах. Посмотреть на YouTube

3
7 Lisper  
87222
My bad, пофикшено
nwhat

4
8 Katruna  
29312
Не знаю, сколько бы разработчики движков не делали удобный движки с визуальным программированием, имхо, никто так и не переплюнул пока тот же RenPy.

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

Да, Renpy вот вообще не идеален, он имеет свои проблемы и косяки с теме же анимацией и прочими вещами, но черт, при имении двух прямых рук из него можно сделать почти все что угодно и все что ты захочешь. Наверное, я еще не скоро предам его как основной движок, для создания вн.

4
9 Ultra_Scream  
341873
Раз ты спрашиваешь, Лиспер, то я думал, разбор какого движка я бы хотел увидеть в ближайшие статьи... Пожалуй, первым буду рад увидеть GDevelop - создалось впечатление, что на нем имеются некоторые наработки и соответственно твое базовое представление о нём. После него вторым пощупать Godot. А потом будет видно)

5
10 MRSEEO  
155809
Про Godot поддерживаю

1
13 Хемуль  
87473
А я бы предложил Тирано Скрипт - бесплатный вариант Тирано Билдера, где самому надо кодить. Или вот у того же Ренпи есть много всяких  малоизвестных модификаций типа РенРПГ. Или мне вот была бы полезна стье о порте новелл с Андроида на ПК. С какими-то двидоками (Ренпи и  Тирано) это очень легко, с какими-то сложнее (РПГ Мейкер), а с иными мне так и не удалось осилить эту задачу (Юнити и Нвлист).

2
12 Valorin  
392239
Ну конечно, что вообще можно ожидать от движка с таким названием? https://knowyourmeme.com/memes/reeeeeee

0
14 Хемуль  
87473
Кстати, он как я понял по комментариям, уже вообще заброшен. Может, тоже из-за названия...

3
16 liara  
184649
Я прям самый новичок из новичков, но про GDevelop мне было бы интересно почитать.
Благодарю за полезную статью.

1
17 Lisper  
87222
ntsok

5
18 ATrotskiy  
462313
Хочется верить, что люди, которым представилась несчастливая участь купить это седьмое чудо света, знали о функции возвращения денег в Стим за купленный товар.

0
19 Valorin  
392239
>Седьмое чудо света
Правильно будет "восьмое", потому что чудес семь, а не шесть.

4
21 makazaki_tohoya  
88228
Правильно будет "дерьмо", потому что это не чудо.

3
22 Ultra_Scream  
341873
Аж всхрюкнул. Тонко подмечено
nlol  nlol  nlol

4
20 glebchicc  
84895
Помню, как-то писал для личных целей движок для ВН на косарик строк кода в Unity. Без учета того, что Drag and Drop там и не пахло (все равно распространять я его не планировал), даже он был лучше, чем это вот исчадие криворукости и пофигизма. Хотя бы анимаций переходов было больше, чем просто Fade. И кстати шрифт менять можно было по желанию. И курсив, и жирный шрифт поддерживал... Чудеса техники в общем. Оказывается, мне было, чем гордиться  smile_34

4
23 Katruna  
29312
хм.. совпадение? не думаю  nlol 

0
24 DevilGuy  
504810
Этот движок специально создавали, чтобы показать всем каким же большим злом является визуальное программирование.