Как создать визуальную новеллу с нуля программы

Привет! Поискал по сайту, не нашел гайдов или вопросов на интересующую тему, поэтому решил спросить здесь, заодно будет простор для вопросов и обсуждений. Вопрос же (довольно банальный) заключается вот в чем: что мне нужно, чтобы создать визуальную новеллу?

Немного бэкграунда. Сидел я, учил JQuery, как мне отписал друг (художник) с занятным предложением: «чувак, давай создадим свою ВНку?». Еще немного обсуждений и вот я здесь, спрашиваю у вас о том, чем же мне нужно обзавестись для создание оной. Сразу же возникла мысль, а «какой же движок нам нужен?», а «стоит ли писать свой движок?» и вообще, «с чего же начать?».

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

Я погуглил, нашел немного информации, но все это не то. Всякие AXMA не интересуют. Хотелось бы что-нибудь, чтобы это пригодилось в будущем. Появилась идея делать новеллку на Unity, но не знаю, есть ли в этом смысл?

  • Желание учиться. Дикое. Серьезно.
  • 100%-ая заинтересованность.
  • Вполне неплохой художник.
  • Профиль на XGM, что важнее всего.

Почему визуалка? Потому что это интересно для нас. И, как мне кажется, не так сложно, как какие-нибудь шутаны или симуляторы камня .

Создание визуальной новеллы на RenPy

Источник: xgm.guru

Визуальная новелла своими руками. А я смогу?

В городе стремительно набирает популярность новый культ, который обещает своим последователям помощь и спасение. Перед обычный студентом встаёт задача раскрыть тайные замыслы культа и спасти своих друзей.

К разработке игр я в своей жизни не имел никакого отношения. Но в декабре всё как-то быстро поменялось. Ещё со школы я увлекаюсь всем, что связано с аниме. В том числе, мне нравится читать интересные визуальные новеллы. И вот, в один день мне в предложку Ютуба залетает туториал по RenPy (популярный движок создания визуальных новелл).

Не знаю почему, но я решил посмотреть его. А потом ещё один. И ещё один.

Ко мне быстро пришло осознание, что техническая часть визуальной новеллы крайне примитивна. Изучение основного функционала RenPy сводится к 2-3 дням, а дальше спокойно выходишь в свободное плавание. В тот день, непонятно почему, я получил заряд мотивации, которого никогда раньше у меня не было.

День-два я поигрался с RenPy, попробовал разные возможности и всё, меня было уже не остановить. Я принял волевое решение — через пару месяцев я выпущу свою новеллу в стим. Решение это, было, конечно, слишком импульсивным. Я ведь даже не умею рисовать! Какая визуальная новелла?!

Тогда меня это не волновало.

Повезло, что у меня есть хорошие знакомые по одной ММОРПГ, в которую мы раньше играли. До сих пор не могу в это поверить, но именно благодаря этой игре сейчас у меня есть команда, в которую входит 4 человека.

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

Остальную часть работы, которая включает написание сценария и кода, а также продвижение, я делаю сам. Хотя, на самом деле, это, дай бог, половина всей работы. Всё же, не зря новелла является именно ВИЗУАЛЬНОЙ. Спрайты, фоны и CG-арты играют ключевую роль как в продвижении, так и в создании атмосферы в самой игре.

Многие инди-разработчики работают в одиночку. Конечно, есть в этом и свои плюсы. Но я сейчас могу сказать, что ментально мне работать в команде приятнее.

Итак, команда есть, идея есть. Что дальше? Работать. И работать много. Без мотивации здесь никуда. Даже если что-то не умеешь — учишься на ходу.

Так, мне пришлось постигать азы фотошопа ускоренными темпами, а сюжет я ежедневно переписываю, набивая руку. В русском комьюнити визуальных новелл есть комичное замечание, что разработка визуальных новелл в нашем регионе буквально обязана растягиваться до бесконечности, а дата релиза должна быть абсолютно не определённой. Хоть нас, в какой-то степени, это тоже постигло, но сейчас мы настроены закончить игру быстро. Надеюсь, летом.

Читайте также:
Сколько программ на Триколор

Помимо разработки, нужно заниматься продвижением. С этим всё не так просто. Сильно помогают посты на Reddit. r/visualnovels и r/StableDiffusion сейчас мои главные друзья. Кстати, я буду рад если кто-то подскажет какие ещё сабреддиты подходят для продвижения визуальных новелл.

На ВК я сильно не надеюсь, но посты в пабликах об инди-играх дают какие-то вишлисты. Отдельное спасибо паблику «ЛД | Новости визуальных новелл». Они сами отслеживают новости в моей группе и пишут об этом у себя. Твиттер стараюсь вести, но пользы от него, пока что, даже меньше, чем от ВК.

Сейчас у нас чуть больше 400 вишлистов. Мне сложно сказать много это или мало, но если учесть, что игру, фактически, мы разрабатываем всего месяц (т.к. старые наработки мы полностью выкинули), то такая цифра даёт какие-то надежды.

Неприятная для многих тема: хейт. Не скажу, что меня это сильно напрягает, но, поскольку мы используем нейросети, то, естественно, находятся люди, которым это не по душе. Сейчас это для многих больная тема. Возможно, я бы даже расстраивался из-за пары негативных комментариев, если бы посты на Reddit не набирали по 300+ апвоутов.

Ещё одна наша головная боль — добавление эротических сцен. Нужны ли они нам? В целом, сюжет не мешает их добавить, а внимания такие новеллы привлекают больше. Но распространять игру с 18+ сложнее. В самом начале у нас не было даже мысли об этом, но, по совету художника, мы решили сделать парочку горячих артов с нашими героинями в нижнем белье.

И знаете, отзывы людей были крайне положительными.
В общем говоря, пока что мы думаем про добавление 18+ в виде хентай-патча. Интересно будет услышать ваше мнение об этом.

Подводя итог, скажу, что мне очень нравится заниматься разработкой визуальной новеллы. Хотя есть и знакомые многим проблемы: постепенно накатывающее ощущение выгорания, мысли «а что если я занимаюсь чем-то бессмысленным?» и «а если игру никто не купит?». К тому же дедлайны в университете не дают спокойно сконцентрироваться на разработке. Но, как я уже говорил, мы не планируем затягивать разработку и пока идём очень быстрыми и уверенными шагами в сторону релиза.
Сейчас подумываю о том, что стоит сделать также страницу игры на itch.io. Меня уже несколько человек спрашивали про VK Play, но я не уверен в необходимости выходить ещё и туда. Слышал отзывы других разработчиков, говорят, там игры покупают довольно неохотно. В целом, это всё, о чём я хотел здесь рассказать. Если у вас остались вопросы, то вы можете задавать их в комментариях.

Я постараюсь ответить.

Источник: stopgame.ru

# Начало работы

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

Указанные ниже главы руководства являются важнейшими:

В случае, если вы не собираетесь создавать какой-либо пользовательский геймплей за пределами Naninovel, можете не углубляться в изучение информации о сценах, так как Naninovel позаботится об этом.

# Основные концепты

Прежде чем использовать Naninovel, давайте пробежимся по некоторым основным концептам.

Важнейшим из них, с которым вы постоянно будете сталкиваться в остальной части руководства, является актор. Актор – это объект, описываемый идентификатором (ID), внешностью, положением в пространстве (в сцене) и некоторыми другими параметрами.

Актор – абстрактный объект, который не может существовать непосредственно; вместо этого используются его специализированные типы с различными дополнительными параметрами:

Тип актора Дополнительные параметры Описание
Персонаж Направление взгляда Представляет персонажа в сцене.
Фон Отсутствуют Представляет фоновое изображение сцены; по умолчанию размещается за акторами персонажей.
Текстовый принтер Текст, ID персонажа, Процесс отображения Постепенно проявляет (печатает) текстовое сообщение в течение некоторого времени.
Обработчик выбора Варианты выбора Позволяет игроку выбрать один из доступных вариантов.

Рассмотрим типичную сцену визуальной новеллы – с персонажем, изображенным поверх фона. В Naninovel она будет представлена следующим образом:

Теперь, предположим, вы хотите, чтобы персонаж «Kohaku» выглядел счастливым. У вас есть несколько текстур (изображений) этого персонажа, изображающих различные эмоции. В Naninovel такие текстуры называются «внешностью» актора. Чтобы получить желаемый результат, нужно изменить внешность актора персонажа. Точно так же для того, чтобы «MainBackground» отображал другой фон, необходимо изменить внешность актора фона.

Акторы и их параметры управляются (направляются) с помощью команд, указанных в скриптах Naninovel.

Читайте также:
Установка программ centos linux

Ещё одним широко используемым концептом является пользовательский интерфейс (UI). UI используется игроком для взаимодействия с акторами и остальной игрой. Сюда входят различные меню (главное меню, сохранение-загрузка, настройки и т. д.) и панели управления (режим авточтения, пропуск текста и т. д.). Элементы пользовательского интерфейса по умолчанию располагаются поверх акторов.

Текстовые принтеры и обработчики выбора рассматриваются и как акторы, и как элементы пользовательского интерфейса, то есть они имеют качества акторов и могут управляться с помощью скриптов Naninovel, и в то же время используются игроками для взаимодействия с игрой.

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

# Создание нового проекта Unity

Итак, держа основные концепты в уме, начнем первоначальную настройку. Первое, что вам понадобится – проект Unity. Обратитесь к руководству Unity

, описывающему создание проекта.

При создании проекта вы, вероятно, захотите использовать шаблон 2D Template , чтобы установить редактор в режим 2D проекта, благодаря чему изображения будут импортироваться по умолчанию как спрайты, и вам не придется вручную изменять настройки импорта. Вы можете изменить режим работы редактора позже, используя настройки проекта

Когда вы создадите новый проект, Unity автоматически добавит пример сцены с двумя игровыми объектами в ней: «Main Camera» и «Directional Light». Naninovel полностью независим от сцены, поэтому вы можете удалить эти объекты из сцены, чтобы они не создавали ненужной производительной нагрузки. Вы также можете удалить саму сцену, хотя для корректной работы некоторых функций редактора рекомендуется иметь в проекте хотя бы одну сцену.

# Установка Naninovel

Загрузите пакет Naninovel с помощью окна Asset Store

и дождитесь начальной компиляции скриптов и импорта ассетов. Вы можете свободно перемещать папку ‘Naninovel’ в любое место в директории ассетов вашего проекта, если хотите.

В процессе использования Naninovel в папке ‘Assets/NaninovelData’ будет автоматически сгенерирован ряд ассетов (конфигурация, настройки, сохранения и т.д.). В отличие от папки пакета Naninovel, не стоит вручную перемещать папку данных (она будет автоматически перегенерирована). Если вы хотите изменить её расположение, измените свойство Generated Data Path в меню конфигурации движка.

# Добавление скрипта Naninovel

Воспользуйтесь контекстным меню ассетов Create -> Naninovel -> Naninovel Script для создания ассета скрипта Naninovel.

Создание скрипта Naninovel

Вы можете создавать и хранить скрипты Naninovel (а также все другие ресурсы Naninovel) в любой папке проекта и организовывать их по своему усмотрению, как и задавать им имена. Приведенная выше иллюстрация является лишь примером.

Скрипты Naninovel – это текстовые документы (с расширением .nani ), где вы контролируете происходящее в сцене. Вы можете открывать их и редактировать с помощью любого текстового редактора на ваш выбор, например Notepad, TextEdit или VS Code

Открытие скрипта Naninovel

Вы также можете использовать визуальный редактор скриптов для редактирования скриптов Naninovel. Выберите созданный скрипт, и вы увидите, что визуальный редактор автоматически откроется в окне инспектора.

Чтобы добавить новую строку в скрипт, щелкните правой кнопкой мыши в месте, куда вы хотите вставить строку, либо нажмите Ctrl+Space (вы можете изменить стандартные комбинации клавиш в меню конфигурации ввода) и выберите нужную строку или тип команды. Чтобы изменить порядок строк, перетащите их, используя их номерные метки. Чтобы удалить строку, нажмите на неё правой кнопкой мыши и выберите «Удалить».

После изменения скрипта с помощью визуального редактора вы увидите звездочку ( * ) над именем сценария в шапке инспектора. Это означает, что ассет изменён и должен быть сохранен; нажмите Ctrl+S , чтобы сохранить внесённые изменения. Если вы попытаетесь выбрать другой ассет, не сохранив изменения в скрипте, появится диалоговое окно, позволяющее либо сохранить, либо отменить изменения.

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

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

Для того, чтобы ассет Naninovel (например, созданный вами скрипт) стал «видимым» для движка, он должен быть назначен ресурсом проекта. При создании с помощью меню создания ассетов скрипты назначаются автоматически. Чтобы назначить (или отредактировать/удалить) файл скрипта вручную, используйте окно скриптовых ресурсов, доступное в меню редактора Naninovel -> Resources -> Scripts . Чтобы добавить скрипт, нажмите кнопку + (знак плюс) в списке, чтобы добавить новую строку, и перетащите файл скрипта в неё. Кроме того, можно перетащить несколько выделенных ассетов или даже целые папки в список, чтобы добавить их группой.

Читайте также:
Программы для полиграфии список

Добавление скрипта Naninovel

Откройте созданный скрипт в текстовом редакторе и добавьте следующий текст:

Первая строка выведет текст «Hello World!» при запуске игры, а вторая требуется для корректной остановки выполнения скрипта.

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

Все доступные встроенные команды скрипта, поддерживаемые параметры и примеры использования приведены в справочнике по API. Кроме того, можно добавить пользовательские команды; дополнительную информацию смотрите в руководстве.

Если кнопка «НОВАЯ ИГРА» в главном меню неактивна, убедитесь, что свойство Start Game Script в настройках скриптов ( Naninovel -> Configuration -> Scripts ) равно имени созданного скрипта. Свойство заполняется автоматически при создании первого скрипта через меню создания ассетов, но может не сработать, если вы скопируете в проект уже существующий скрипт.

# Добавление персонажа

Персонажи в Naninovel могут быть основаны на обычных и нарезанных спрайтах, анимированных моделях Live2D и 3D-моделях; вы также можете добавить свои собственные варианты реализации. В этом туториале мы будем использовать спрайты.

Каждый персонаж представлен ID и набором вариантов внешности. Чтобы добавить персонажа, используйте графический интерфейс менеджера персонажей, доступный через меню Naninovel -> Resources -> Characters , добавьте новую строку актора персонажа, указав ее ID, затем дважды щелкните по ней (или нажмите кнопку в конце строки) и добавьте все варианты спрайта в список Resources . Как и в случае со скриптами Naninovel, вы можете перетащить в список сразу несколько ассетов и папок.

Создание персонажа

Предположим, что ID созданного персонажа – «Kohaku». Отредактируйте скрипт Naninovel, чтобы показать добавленного персонажа:

Запустите игру, и вы увидите спрайт персонажа в центре экрана. Если вы не укажете внешность, то по умолчанию будет выбрана либо та, имя которой равно ID персонажа, либо внешность с названием «Default». Чтобы выбрать определенную внешность, добавьте её название после ID персонажа, разделив их точкой, как здесь:

Так как персонажу «Kohaku» была выбрана внешность под названием «Happy», соответствующий спрайт будет отображен вместо стандартного.

Теперь вы можете связать выводимый текст с именем персонажа, добавив его ID, а затем двоеточие перед текстом:

Кроме того, можно объединить объявление внешности персонажа с выводом текста, чтобы сократить код:

# Добавление фона

Подобно персонажам, фон в Naninovel может быть представлен несколькими способами: спрайт, простой объект, видео и сцена; также возможны пользовательские реализации.

Вы можете создать несколько независимых акторов фона, хотя в типичной визуальной новелле обычно используется только один, меняется лишь его внешность. Чтобы упростить процедуру, актор MainBackground по умолчанию добавляется в список акторов фона, и вам не нужно указывать его ID каждый раз, чтобы изменить его внешность в скриптах Naninovel.

Добавьте фоновые спрайты через меню Naninovel -> Resources -> Backgrounds . Строка MainBackground откроется автоматически, но вы все равно можете вернуться в список акторов и создать другие, если потребуется.

Добавление фона

При переключении между фонами по умолчанию будет использоваться кроссфейд (эффект перехода). Чтобы сменить эффект, укажите тип перехода после внешности:

Это позволит перейти от фона «City» к фону «School», используя эффект перехода «RadialBlur».

Чтобы обратиться к фону, отличному от основного (например, если вы хотите создать несколько фонов поверх друг друга), укажите ID актора. Например, если фоновый актор с ID «Flower» существует отдельно от основного, следующие команды изменят его внешность на «Bloomed», а затем на «Withered»:

# Добавление музыки и звуковых эффектов

Чтобы добавить ассет BGM (фоновая музыка) или SFX (звуковой эффект), используйте меню редактора Naninovel -> Resources -> Audio . Вы можете использовать любые аудиоформаты, поддерживаемые Unity

Управление аудио

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

# Видеогайд

Если вы предпочитаете видеогайды, то здесь вы можете найти таковой, иллюстрирующий вышеприведенные инструкции.

# Демо-проект

Полные исходники демо-проекта (того же, что демонстрировался в магазине) доступны на GitHub здесь: github.com/Naninovel/Demo

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

Пакет Naninovel не распространяется вместе с проектом, а значит, при первом его открытии могут появиться ошибки компиляции; импортируйте Naninovel из Asset Store, чтобы решить эту проблему.

Источник: naninovel.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru