В недалеком 2017 году компания
Degica (подарившая нам
RPG Maker MV) выпустила в
Steam движок, обещавший стать прорывом в сфере создания визуальных новелл и заткнуть за пояс остальных конкурентов типа
Ren'Py,
TyranoBuilder и
KiriKiri. Имя ему
Visual Novel Maker (далее просто
VNM). Стоил он на тот момент как игра уровня трипл-эй—целых 60 долларов. Но так ли он хорош на самом деле? Давайте рассмотрим поближе и выясним.
Примечание: обозревается версия 1.0.1074. Проект время от времени обновляется, и некоторые недостатки могут быть исправлены. Интерфейс и принцип работы
Здесь
VNM взял все лучшее из
Ren'Py и
TyranoBuilder. Вы последовательно собираете сцену из готовых строительных блоков, каждый из которых можно всячески настроить. Все эти «кирпичики» сложены на одной панели (1), разбиты по категориям и имеют интуитивно понятные названия. Так, например, чтобы сменился фон и появился персонаж, Вы переходите на вкладку
Background (Фон), и перетаскиваете на сцену (2) блок
Change Background (Сменить фон), а затем то же самое проворачиваете с
Join Scene (Появиться) из вкладки
Character (Персонаж). Как видите, можно собирать новеллу и без навыков программирования. Если же Вы матерый кодер и названия блоков Вам давно знакомы, можете не тратить время на поиски нужного кирпичика, а вводить название с клавиатуры. Не успеете прописать, как
VNM уже поймет, что Вы имели в виду.
Стоит отметить жирным плюсом, что каждое сделанное изменение сразу отображается в окошке превью (3). Мало того—оно интерактивно. То есть можно выделить блок прямо посреди сцены, увидеть, что он делает и, щелкая мышкой по превью, буквально играть в нем с выбранного момента.
Все сцены сложены в небольшой панели (4) и поделены на главы, что тоже удобно.
[+] Интерфейс интуитивно понятен.
[+] Блоки занимают мало места на рабочей области (2) и показывают самые часто используемые параметры, но его можно развернуть и провести более тонкую настройку.
[+]
VNM позволяет делать сборку для целого ряда платформ, а именно:
Windows, Mac, Linux, Android, IOS, Steam OS, HTML5. [+] Есть встроенная библиотека с медиафайлами на любой вкус и сеттинг: фоны, спрайты, музыка и т.д. Можно с лету начать делать хоть школьную драму, хоть фэнтези. Ну или просто попрактиковаться в освоении движка.
[-] Долгое открытие и запуск проекта.
[-] Собранные блоки выстраиваются в один сплошной ряд. Никаких разрывов между строками, никаких отступов по левому краю (по большей части). Сложно найти в такой «стопке» нужное место и отредактировать, особенно если много циклов, условий и прыгания по меткам (
Labels).
[-] Интерфейс целиком на английском. Есть, конечно, фанатский перевод, но, во-первых, он для демоверсии, а во-вторых… читай следующий минус.
[-] Крайне мало уроков, гайдов и документации. А те крохи, что есть, в основном на английском. Возможно оттого, что движок молод и дорог.
[-] Все файлы загружаются в проект через
Resource Manager. Нельзя вот так просто взять, и переместить папку со спрайтами в директорию проекта. При запуске они отображаться не будут.
Персонажи
[+] Представьте, сколько строк и функций в
Ren'Py нужно, чтобы в один миг на экране появилась реплика, сменился спрайт персонажа и включилась его озвучка. При этом герой должен еще и шевелить губами, а между репликами— исправно мигать. Представили? Так вот, в
VNM за это отвечает один оператор—
Show Message. Когда нужно артикулировать—движок понимает сам, а частота моргания выставляется один раз в настройках персонажа (если, конечно, в обоих случаях загружены кадры анимации).
[+] Появиться и уйти с экрана персонаж может максимально красиво. Хотите—резко, хотите—плавно, или даже с каким-то переходом. Выпрыгнуть, залететь, уйти с ускорением\замедлением и даже с инерцией—все эти варианты анимации уже встроены в операторы
Join Scene\Exit Scene.
[+] Персонажа удобно позиционировать на экране.
[+] Также есть поддержка
Live2D. Организована она удобно, с функцией мигания, дыхания, липсинком и прочее. Некоторые только для этого и покупают
VNM, но…
[-] …Если хотите поработать с этой технологией—придется выложить еще пару зеленых за
DLC.
[-] Загружать персонажа в проект довольно хлопотно. Есть, конечно, упрощенный метод, но без руководства до него вряд ли доберетесь (Спойлер:
Tools > Script Agents > Default > Expression Importer).
[-] Нет функции
LiveComposite. А это значит, что для того же моргания нельзя просто нарисовать анимацию одних только глаз и накладывать ее на все остальные спрайты. Придется делать раскадровку персонажа в полный рост (причем для каждого спрайта).
[-] Спрайт нельзя отразить по горизонтали или вертикали средствами VNM. Придется делать это в сторонней программе и загружать отзеркаленный дубликат.
Музыка и звук
[+]
VNM поддерживает множество аудиоформатов (не только
ogg как
TyranoBuilder).
[+] В свойствах оператора добавления музыки есть уже знакомые
fadein\fadeout, а также регулировка громкости и даже скорости воспроизведения. Можно установить номер звукового потока (так два или больше аудиофайла смогут играть одновременно).
[-] Музыка запускается строго с начала. По сему если хотите, чтобы композиция проигрывалась с выбранной секунды—вооружитесь аудиоредактором.
Видео и анимация
[+]
VNM прекрасно поддерживает многослойность. Это дает большой простор для творчества. Например, можно спокойно делать фон с эффектом параллакса (когда ближние объекты движутся быстро, дальние—медленно, а солнце вообще стоит на месте). Еще пример: делаем статичную комнату, облака за окном плывут (движется картинка), а в самой комнате мирно летает пыль (наложенное видео).
[+] Работать с камерой гораздо легче, чем в
Ren'Py.
[+] С фоном, спрайтами, картинками и текстом можно делать почти что угодно: двигать по экрану (в том числе по заданному Вами маршруту), крутить, масштабировать и все такое.
[-] Преобразования выполняются поочередно. Нельзя чтобы объект одновременно, скажем, вращался и уменьшался. В этом плане рэнпишные
ATL-преобразования выигрывают.
[-] Если нужно загрузить покадровую анимацию—забудьте о
gif и
swf. Все кадры придется уложить в одно длинное или квадратное изображение. Так анимация размером 50X50 пикселей из 10 кадров превращается в картинку размером 50Х500 пикселей.
[-] Видео загружается только в формате webm и webmhd. Конвертеры в помощь.
Текст
[+] Есть все необходимые функции и настройки.
[-] Поддерживается только формат woff. Так что вооружитесь конвертером.
Игровое меню
[+] Есть встроенные менюшки, включающие в себя весь стандартный набор (галерея, настройки и т.д.), плюс виртуальная клавиатура и числовой ввод (на случай если для прохождения нужно вводить имя игрока или найденный пароль).
[+] Редактировать их быстро и удобно. Хотел бы объяснить принцип, но, боюсь, на словах будет совсем непонятно.
[-] А вот создавать меню с нуля крайне сложно. Тем более что информации на этот счет—кот наплакал.
[-] Если Вы крутой дизайнер и хотите, чтобы кнопки были анимированы и «оживали» при наведении—забудьте. Проиграть анимацию по щелчку еще можно, но не по наведению курсором. Конечно, есть один вариант: с головой уйти в
CoffeeScript и
JavaScript, в итоге «прикрутив» недостающую функцию, но это уже слишком.
[-] Для галереи нужно отдельно загружать не только сами картинки, но и их миниатюры. Почему движок не может уменьшить изображение сам—загадка.
Функционал
[+] В отличии от
TyranoBuilder здесь можно запросто выйти за рамки. Например, создать полноценную point-and-click адвенчуру с загадками, инвентарем и крафтом.
[+] Еще один гвоздь в крышку гроба Тирано—возможность создавать собственные процедуры. Сейчас объясню. Допустим, в начале каждой главы проигрывается один и тот же набор анимаций и звуков. Чтобы каждый раз не искать его( и не загромождать скрипт такими повторяющимися кусками кода) Вы можете прописать эти команды в специально отведенном месте и обозвать на свое усмотрение (припустим
NewChapter). Так, перед началом главы достаточно будет просто набрать
NewChapter и да здравствует оптимизация.
[+] Также есть логические операторы, циклы, счетчики. Да и с переменными работать удобно.
[+] Можно расширять функционал за счет
CoffeeScript и
JavaScript.
[+] Есть удобный механизм для создания локализации. Так в начале игры пользователь сможет выбрать язык или наличие\отсутствие крепких выражений.
[-] Возможны мелкие глюки. Как-никак
VNM, по большей части, создан одним человеком.
Подытожим
Итак, что мы имеем в итоге? Движок в целом получился весьма крут и полон инновационных решений. В частном же—есть ряд мелочей, требующих доработки. Проект поддерживается, и, надеюсь, с последующими обновлениями их исправят. Читайте хорошие новеллы, открывайте новые горизонты, и не тратьте деньги зря.
Комментарии к записи: 12
Воды достаточно мало(это не в обиду, нормальный текст должен содержать 30% воды), поэтому прочтение занимает малое время, а информации, которой можно изъять из данного текста, предостаточно.
Итого: спасибо за обзор)
в движке используется javasctip и coffescript
Тем более, не знаю как для остальных, но для меня это стимул изучать программирование)
Кучеряво живете.