В этой статье я хочу поделиться своим опытом создания визуальных новелл за ограниченное время, а также полезными ресурсами. Что у нас имеется: соло-разработчик, 48 часа, движок ren’py и сомнительные знания питона. Что вы узнаете: как это было, полезные плагины для ren’py, полезные ресурсы, как распределять время и другое.
Я дважды участвовала в гейм-джемах от своего факультета, больше ради интереса и для вызова самой себе, чем для чего-то еще. Так что выбор пал именно на локальный мини джемы.
Первый гейм-джем: «Под другим углом»
Первый джем был в 2023 году. Я влетела в него сразу после группового хакатона, и моя единственная цель на тот момент — создать законченный продукт.
Что я под этим подразумевала:
-
Законченный сюжет
-
Полностью отрисованная графика
-
Рабочая игра (почти) без багов
-
Возможность пройти игру без нервного срыва
Тема джема — «Под другим углом». У меня было несколько идей для игр, не только в жанре визуальной новеллы. Но кроме Ren’Py, я худо-бедно знала только Unity и Godot (и гораздо хуже, чем Ren’Py). В Ren’Py я хотя бы уже делала как минимум одну полноценную игру, так что выбор остановился именно на этом движке.
Почему именно визуальная новелла?
-
Это мой любимый вид игр.
-
Сочетание интересного сюжета с красивой графикой без напряженного геймплея покорило мое сердце.
-
В этом жанре я могла реализовать свои амбиции как писателя и художника, а не только программиста.
После решения о жанре идея пришла довольно быстро. Одна из особенностей визуальных новелл — множество концовок, которые игрок получает в зависимости от своих выборов. Раскрытие темы джема происходило за счет того, что для получения хорошей концовки нужно было сначала получить все плохие, где были спрятаны подсказки. Также я добавила мини-игру с картами, чтобы разнообразить геймплей (если чтение текста вообще можно назвать геймплеем).
В итоге мой рабочий процесс выглядел так (начало джема в 20:00 пятницы и конец в 20:00 воскресения):
-
С 20:00 до 23:00 — придумала сюжет и написала сценарий (около 5 страниц), составила мудборд в фигме для дальнейшей отрисовки персонажа и игровых элементов. Стоит отметить, что сценарий видоизменялся в ходе перенесения непосредственно в ren’py, а в текстовом редакторе был черновой набросок.
-
Суббота была потрачена на: написания всего костяка игры (то есть весь текст, выбор, концовки), вся отрисовка внутриигровых элементов. Начаты поиски туториалов для мини-игр.
-
Меня постигло фиаско — почти до 17:00 я пыталась имплементить мини-игры из разных туториолов в свою игру. В итоге у меня получилось реализовать только одну. Было очень обидно и грустно, но времени уже не оставалось. За оставшиеся несколько часов мне надо было: добавить музыку, оформить главный экран игры, страничку на itch.io и загрузить туда игру. Поверьте, загрузка игры это не 10-минутное дело, лучше выделить на это 1-2 часа.
В результате, я сделала все что, хотела (кроме мини-игр). Несмотря на это, игра была полностью закончена и могла быть пройдена. Она имеет цельный сюжет и посыл, а также выдержана в едином стиле — детективный нуар. Единственной реализованной мини-игрой была по запоминанию пар игровых карт. Хочу отметить еще одну особенность — я отрисовала 9 иллюстраций в стиле комикса, которые появляются в ходе игры. Я была довольна проделанной работой, а также значительно повысила навыки работы в ren’py. Если кому интересно, то игра заняло 2-ое место (из 9 возможных).
Основные отмеченные недостатки — очень надоедливая мини-игра, которую я добавляла через каждые несколько строк текста. Во время тестирования я даже не обращала внимание на частоту ее появления, но во время оценки игр мне сильно прилетело от других игроков) Сыграв в игру спустя несколько дней, я тоже заметила эту проблему. После релиза я заменила одну из очередных “найди пару” на открывание кодового замка. Хочу дать совет: если время позволяет или у вас есть в близком доступе человек с незамыленным глазом, то попросите его оценить текущий геймплей. Может, найдете то, что можно исправить.
Вызовы и решения
-
Проблема: Нехватка времени на сложные мини-игры →
Решение: Упростила механику (оставила только «найди пару»), а после джема заменила одну из игр на открывание замка.
Рефлексия
-
Что бы изменила сейчас:
Заранее продумала бы баланс между текстом и геймплеем — мини-игры должны дополнять историю, а не прерывать её. -
Как повлиял опыт:
Научилась быстрее принимать решения о сокращении функционала. Поняла, что даже простая игра с хорошей атмосферой может быть сильнее «нагруженного» проекта.
Полезные ресурсы из первого джема
-
Сэмплы звуков (например, оружия) — freesound.org
-
Нелицензированная музыка — mixkit.co
-
Туториалы по Ren’Py (настройка внешнего вида, UI) — zeillearnings.itch.io
-
Фото-фоны — https://unsplash.com/
Второй гейм-джем: «Время на исходе»
Во второй гейм-джем я врывалась с еще большими амбициями: не просто сделать законченный продукт, но еще и как можно более интерактивный. Тут я уже четко знала, что хочу сделать визуальную новеллу. И у меня появилась новая миссия — постараться сделать не “простую читалку”, а что-то более захватывающее. Тема — “Время на исходе”.
Пайплайн работы практически такой же, как и в прошлый раз:
-
Вечер пятницы ушел на придумывание сценария (всего 2 страницы, так как в этот раз я хотела меньше текста), составление мудборда и уже были отрисованы первые кадры.
-
Все утро опять ушло на попытку создать мини-игру… Опять не срослось) Этот день ушел на отрисовку всех игровых элементов и реализацию другой мини-игры, карты и статов. Мини-игра из разряда три в ряд, а навигация по карте и статы придавали игре вид стратегии.
-
Воскресенье я потратила на доделывание карты, а также создала систему ачивок и экран, где они отображаются. “Причесала” главное меню, дорисовала некоторые вещи. Добавила музыку и загрузила на itch.io.
Если в прошлой игре я придерживалась атмосферы нуара, детектива и старых комиксов, то в этой игре решила попробовать стилистику y2k и рассказать о боли любого студента. Самое интересное, лично для меня, это стратегический элемент игры. Я полностью довольна тем, что сделала и как это работает. Эта игра тоже заняло 2-ое место (тоже из 9 возможных). Отмеченные недостатки: доступ к текущим статам невозможен из экрана с картой, однообразие мини-игр.
Вызовы и решения
-
Проблема: Сложность в реализации механик →
Решение: Потратила время, чтобы найти хороший туториал и доп. материалы, чтобы найти ошибку.
Рефлексия
-
Ключевое достижение: Удалось создать работающую стратегическую систему с нуля за 48 часов, хотя раньше боялась таких механизмов.
-
Что поняла:
Интерактивность важнее масштаба — даже 2-3 хорошо проработанных механики дают лучший опыт, чем 5 сырых.
Полезные ресурсы из второго джема
-
Туториалы по мини-играм — YouTube: EssRenPyTutorials
-
Обзоры плагинов — YouTube: Vimi
-
Русскоязычные туториалы (таймер, ачивки, карта) — YouTube: RenPyRabic
-
Реализация систем (магазин, инвентарь) — YouTube: Harmelody
-
Мини-игры и системы — YouTube: MiaCodeExpedition
-
Фреймворк для RPG в Ren’Py — nomnomnami.itch.io
-
Утилиты для кастомизации — feniksdev.itch.io
-
Плагин мини-карты — kigyo.itch.io
-
Набор фреймворков для симулятора свиданий — psykhae.itch.io
Выводы и советы
-
Альтернативы важны. Если что-то не получается, придумайте простую замену. Позже можно доработать. В конце концов, никто не запрещает вам вернуться к проекту позже и довести его до ума)
-
Делайте перерывы. Не «полезные», а настоящие — сериалы, отдых. Это помогает заметить ошибки.
-
Готовьтесь заранее. Если вы заранее знаете, на каком движке хотите работать или хотите сделать что-то конкретное, то найдите туториалы/утилиты/etc и разберитесь в них. Будет очень неприятно, если код в видео окажется не рабочем и это выясниться в самом разгаре.
-
Не бойтесь работать в одиночку. ИИ может помочь с кодом, сценарием или артом — главное, подготовить инструменты.
-
Ставьте цели. Это мотивирует и помогает структурировать работу.
-
Отбрасывайте неработающее. Лучше сделать меньше, но качественно, чем увязнуть в одной проблеме.
Совет для соло-разработчиков
-
Сценарий
Начните с примерного наброска сюжета — даже краткий план поможет сохранить логику повествования. -
Механики
Четко определите игровые системы до начала программирования. Лучше 1-2 простых, но рабочих механики, чем 3 незавершенных. -
Визуал
Используйте готовые/сгенерированные ассеты для прототипа.Почему?
-
Можно быстро собрать каркас игры
-
Позже легко заменить временные файлы на свои (без правки кода)
-
-
Этапность работы
-
Сначала код и базовая логика
-
В конце: тестирование, звук, полировка интерфейса
Важно: Звуки и оформление добавляйте, только если останется время — функционал приоритетнее.
-
Главный секрет: Джемы — не гонка за призами, а уникальный тренажер для:
-
Быстрого принятия решений
-
Расстановки приоритетов
-
Понимания своих сильных сторон (у меня это оказалась атмосфера, а не сложный код).
ссылка на оригинал статьи https://habr.com/ru/articles/899162/
Добавить комментарий