Як зробити візуальну новелу поодинці
Привіт, печенькофіли, це знову я, малювач анімешних дівчаток, який бажає робити ігри.
Раніше я вже писала пост, про те, як одного прекрасного дня я вирішила зробити поодинці візуальну новелу і навіть написала для неї сценарій. Якщо ви не бачили той пост, то раджу прочитати його, оскільки цей пост – його продовження.
Також хочеться подякувати за ту купку голосів, які допомогли з просуванням гри у грінлайт.

Зупинилися ми на тому, що ми маємо текст нашої новели. Але ж ми розуміємо, що текст (навіть написаний в особливому стилі) не є грою. Не хвилюйтесь! Найважливіша частина вже зроблена. Ви скажете мені:"Оріка, а як же графон?! Адже новела візуальна!". Правильно. І не так. Якщо ми не тупитимемо і все-таки хоча б трохи ознайомимося зі світом візуальних новел, то напевно знайдемо сотні прикладів, які нам скажуть: графіка у ВН не така важлива. Ми до неї обов'язково повернемось, але не зараз.

Я знову збиваюся з думки, адже дана частина моєї розповіді повинна була бути про [раптово] програмну складову. Готовий сценарій ВН нам вже дозволяє зібрати сиру версію нашої гри та скласти список того, що ми маємо зробити, для того, щоб її висушити.
Багато хто на цьому моменті такий: "Ой, все, треба шукати програміста!" тільки в останні пару років всі почали робити ВН, а до цього ніхто не робив.
Навіть якщо не брати японський інструментарій для створення подібних ігор, то звернемося до класики - англомовного інді-движка Renpy, перша версія якогоз'явилася аж 2004 року! Понад 10 років тому! Так що, якщо ви все ще не знаєте, який двигун використовувати для створення ВН, то ви просто не намагалися шукати :)
Але я вас зовсім не засуджую, в той час, коли я почала своє знайомство з вн (так вже збіглося, що і з їхньою розробкою -привіт, розробники БЛ!) я теж не намагалася їх шукати."Ось дивися, все роблять на Renpy, і ти так роби!" Як втім і сьогодні, напевно, Renpy справді майже ідеальний двигун для створення своєї новели. Але він має і мінуси. В загальному.

Renpy. Написаний на пітоні насправді майже необмежений движок, що постійно розвивається.
- Можна створювати комерційні проекти;
- готові ігри майже під усі платформи;
- Простий синтаксис. Навіть якщо ви ніколи нічого не програмували, то з ним за бажання можна розібратися за день. А величезна вікі та форум допоможуть у важких ситуаціях - майже за всіма необхідними рішеннями можна знайти приклади та зробити подібне;
- функціонал, що формально розширюється до нескінченності, за рахунок PyGame. У цьому випадку, звичайно, треба вміти кодувати :)
- малі витрати оперативної пам'яті в класичних ВН (тобто без наворотів типу покадрової анімації, тисячі партиклів на квадратний сантиметр тощо)
- не милий. Чи не вилітає, якщо ви все правильно написали. Не тупить-гальмує. Чудовий :)
- треба розуміти як взагалі кодити, але мені здається, що якщо ви не розумієте принципів, то вам взагалі не варто лізти в програмну частину та найняти кодера;
- Досить непривітний інтерфейс - по суті, весь скрипт пишеться в блокноті (що насправдіє плюсом – можна писати гру навіть на калькуляторі);
- викликає залежність :) Один раз попрацювавши зі скриптами ренпаю, ви ні за що не станете збирати свою гру на якомусь Тирано (але це ви зрозумієте тільки тоді, коли зберете ВН на ньому. Так, все складно :D)
- Не підтримує анімацію. Ну як. Формально, можна завантажити тисячі пнг-шек для анімації покадрової і а) вбити оптимізацію, б) померти від безвиході в спробі прописати це в коді. Не раджу навіть намагатись. Модні live2d і подібні не дружать з пітоном, так що підключити їх теж не вийде.
Якщо ви це прочитали, то можливо задаєтеся питанням, а нафіг взагалі інші двигуни, якщо ренпай насправді ідеальний?
Не знаю. Якщо ви не плануєте впроваджувати анімацію і вас не лякають скрипти, то я щиро раджу цей двигун. Він позбавить вас головного болю.

Другим за популярністю в інди-вн комьюніті єTyrano Builder, що є по суті огризком відомої японської скриптої мови kirikiri загорнутим у яскравий фантик. Попередній рядок вас уже насторожити!
- приємний інтерфейс і простота створення ігрового скрипта(АЛЕ на ділі виходить, що більшу частину скрипта конструктором не збереш, половину блоків при перегонці він захоче і швидше за все буде працювати не так, як хочеться, або не працювати взагалі. В кінцевому підсумку результаті доведеться "готовий" скрипт дописувати в блокноті, лаючись на себе, що взагалі вирішив з цим двигуном зв'язатися);
- можливість складання гри під велику кількість платформ(АЛЕ насправді двигун видає плюс-мінус однакові складання під усі платформи та їх потрібно портувати в окремих програмах за допомогою танців з бубном);
- Досить широкі можливості роботи з медіа зкоробки;
- Підтримка моднявих SDK, типу live2d.
Якщо вам все ще потрібні окремі мінуси, то я віднесу до них забагованість фінального білда в 99% випадків, проблеми з масштабуванням, зі збереженнями, перемотуванням. Додамо жахливу підтримку, яка не розуміє, як працювати зі своїм же двигуном.
В інших випадках -не раджу!
Повірте моєму досвіду - я на цій шайтан-машині зробила 2 новели, але в обох випадках мені довелося звертатися до програміста (див. пункт 3 у дужках) і щоразу після цього збочення я даю собі установку: не зв'язуватися з цим сміттям ніколи більше.

Unity3d. Звичайно, можна писати 2д-ігри на 3д-движках з нуля, але this is madness! Тому розглянемо асети до Юніті, а не чистий двигун.
- Fungus.По суті - діалоговий асет. Не довелося особисто потикатися в це безкоштовне диво, але, судячи з того, що я читала про нього, робити в ньому буде проблематично.
- Visual Novel Engine -з коробки підійде тільки для простеньких новел.
- Vinoma -дуже нагадує Тирано зовні і з механіків. Це непоганий варіант. Але мені взагалі не сподобалось. Є проблеми з виведенням спрайтів (ресайз).
- Utage.Ось тут я нічого не можу сказати. Задум дуже цікавий і близький до того, що ми зараз пишемо в нашій Студії. На жаль, висока ціна (80 доларів!) не дала мені можливості оцінити цей ассет, а хотілося б.
Узагальнюючи всі ассети для юніті виокремлю плюси: можливість допилювання засобами Юніті всього чого можна через SDK і ассети, мультиплатформенність.
Жирне мінус: швидше за все вам доведеться вивчити юніті. Ну, не найгірше заняття, стане в нагоді :)

Novelty. Мені не довелося попрацювати з цієюстудії. Але функціонал у неї дуже непоганий, та й судячи з відгуків, річ це дуже придатна. Залишу демо-прев'ю.
OnScripterтаKiriKiri- дуже популярні інструменти в японському вн-комьюніті у тому числі і комерційному. На жаль, мовний бар'єр не дозволяє мені ознайомитись з ними.
Підсумуємо. Як ви зрозуміли, я вважаю лідером Ренпай. Напевно, саме тому зараз фінальна версія Lifemare, тієї новели, про сценарій якої ми говорили в першій частині, переписана на цьому движку, а технологія Little Green Girl, великого проекту, який ми робимо з друзями, ведеться спочатку на Renpy.
Ну і саме тому, третя частина мого епосу піде про режисуру і сиру збірку на цьому двигуні.
До наступного посту ^__^

PS. До речі, якщо у вас є гроші або ви програміст, завжди можна написати свій ассет під той же Юніті (чим ми займаємося в Студії. Але ми б і далі писали ігри на Renpy, якби він підтримував live2d. Тільки тому.)