В этой статье я хочу поделиться своим опытом создания визуальных новелл за ограниченное время, а также полезными ресурсами. Что у нас имеется: соло-разработчик, 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 незавершенных.Визуал
Используйте готовые/сгенерированные ассеты для прототипа.Почему?
Можно быстро собрать каркас игры
Позже легко заменить временные файлы на свои (без правки кода)
Этапность работы
Сначала код и базовая логика
В конце: тестирование, звук, полировка интерфейса
Важно: Звуки и оформление добавляйте, только если останется время — функционал приоритетнее.
Главный секрет: Джемы — не гонка за призами, а уникальный тренажер для:
Быстрого принятия решений
Расстановки приоритетов
Понимания своих сильных сторон (у меня это оказалась атмосфера, а не сложный код).