В течение 17 лет своей карьеры в геймдеве я занимался в основном большими играми. Даже моими пет-проектами были браузерная MMORPG, риалтайм и 4х стратегии. И вот я решил сделать что-то небольшое и быстрое. Я начал анализировать свои сильные стороны и выбирать жанр, который мог бы потянуть в одиночку или небольшой командой. Никогда ещё я не ошибался так сильно.

Промо-арт к игре Азраил, вестник смерти
Промо-арт к игре Азраил, вестник смерти

И так почему же я взялся за визуальную новеллу?

В январе 2024-го я поставил перед собой цель - выпустить в Steam небольшую игру, чтобы научиться технической работе со Стимом, юридическому оформлению игрового бизнеса в условиях санкций и маркетингу инди-игр. Это должно было помочь мне в будущем, когда наша команда закончит разработку большой PC 4x стратегии. Лучше словить все косяки на небольшом проекте, чем похоронить игру, которую мы делали 3 года.

В тот момент я сформулировал критерии для выбора жанра:

  • Основу смогу сделать сам за 3-4 месяца (экономим деньги)

  • Команда разработки будет минимальной (да, снова экономим деньги)

  • Сеттинг большой игры (космическое фэнтези) подходит для новой игры

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

Изначальный план был - сделать игру за 3 месяца за бесплатно и выпустить её в Steam без бюджета.

И вот идёт 6-й месяц разработки... Помимо меня (программирование, сценарий, геймдизайн) над проектом уже работают:

  • 2D художник

  • Spine аниматор (х2)

  • Маркетинговое агентство

  • Армия тестировщиков

  • Локализаторы

В планах ещё саунддизайн... скоро буду искать людей.

Скриншот диалога визуальной новеллы Азраил, вестник смерти
Скриншот диалога визуальной новеллы Азраил, вестник смерти

Анализ рынка

Разработку любой игры, даже игры-хобби, которую я хочу реализовать из творческих порывов, я начинаю с анализа ниши. Это позволяет ответить на вопрос, а есть ли вообще ниша таких игр, есть ли аудитория, которой был бы интересен мой продукт. И ответ на него не всегда положительный. Часто я понимаю, что игра, которую я хочу сделать, будет интересна только моему котику и, возможно, бабушке, которая из жалости скажет, что я большой молодец. В этом случае необходимо принять взвешенное решение: готовы ли мы пойти на то, что игра не окупит вложенные в неё средства и время. Какими бюджетами тогда мы готовы рискнуть? Это важно, чтобы потом, когда разработка уже будет идти полным ходом, вдруг не поймать себя на мысли, что оказывается я хочу не только творческой реализации, продукта в портфолио или обучения, но и ещё коммерческого успеха и выручки. Важно, чтобы после релиза не почувствовать разочарование от завышенных ожиданий.

Посмотрев, какие продукты сейчас популярны на рынке, я выделил несколько направлений:

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

Арт из VK сообщества игры Tenebrae
Арт из VK сообщества игры Tenebrae
  • Психологические. Это игры, зачастую поднимающие важные вопросы о взрослении, страхи, переживания и проблемы. Также я отношу сюда новеллы с детективными элементами. Таких игр в Steam гораздо меньше, чем романтических, но всё же они также пользуются популярностью. Тут также стоит отметить, что это деление довольно условное, и часто мы встречаем игры, в которых одновременно есть лёгкий романтический подтекст и раскрытие психологических проблем персонажей. Я основываю свою сегментацию на том, какая идея является сюжетообразующей. Самый яркий для меня пример - игра Зайчик. В целом туда же можно отнести и Slay the princess.

Скриншот игры Зайчик
Скриншот игры Зайчик
  • Геймифицированные. Отдельным видом новелл я выделяю продукты, делающие упор на мини-игры, квестовую и гейм-механическую составляющую. Именно этот сегмент я решил выбрать для своей игры. Причину такого решения опишу чуть ниже. Один из наиболее известных кейсов новеллы, основанной в первую очередь на геймплее, его влиянии на историю и реиграбельности, я считаю Сира Бранта. В большинстве новелл сюжет диктует геймплей. Здесь же геймплей выстраивает сюжет.

Скриншот игры The Life and Suffering of Sir Brante
Скриншот игры The Life and Suffering of Sir Brante
  • Другие новеллы. В 2024-м в русскоязычном сегменте геймдева стало популярно выпускать мем-игры. Это и Владик Брутал, и Русы против ящеров (к слову по этой игре есть порно визуальная новелла), и такой проект, как Альтушка для скуфа. Последний я как раз отношу к категории "других" (в данному случае мемных) новелл. Особенность мемных игр не только во взрывном росте. Как и сами мемы, они быстро взлетают и зачастую быстро становятся неактуальны.

Арт со страницы игра Альтушка для Скуфа
Арт со страницы игра Альтушка для Скуфа

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

Также оставлю ссылки на понравившиеся мне материалы по аналитике визуальных новелл:

  1. Круглый стол — что собой представляет рынок визуальных новелл (2024)

  2. Infographic: Steam video game market report (2023)

  3. Сколько зарабатывает РуВН-индустрия? (2020)

  4. VK сообщество "Visual Novel • НВН: Новости визуальных новелл"

Делая новеллу, помните, что это одни из самых перенасыщенных продуктами сегмент в Steam. За последние несколько лет в каждой категории вышло более 4000 игр. Однако их медианная выручка составляет $1-2 тыс. Это самый низкий показатель для Steam игр. Для сравнения у 4х стратегий медианная выручка составила $8000 тыс.


В итоге я выбрал не самый популярный сегмент - новелл с гейммеханиками. Такой выбор был обусловлен вводными: я делаю игры по сеттингу космического фэнтези, в котором будет мой следующий продукт, и он плохо соотносится с романтикой. Написать реально крутую детективную историю или психологическую драму я пока не готов, а делать посредственность не хочу. Зато последние 17 лет я проектировал геймплей десятков игр в качестве геймдизайнера. Именно поэтому выбор в пользу новеллы с мини-играми стал для меня очевидным.

Занятный факт. Многие мои студенты и выпускники, прошедшие обучение на МИПе в ВШБ НИУ ВШЭ, также выбирали в качестве дипломного проекта визуальные новеллы. Но более популярными являются гипер-казуалки, платформеры и ролевые игры.

Визуальный стиль

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

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

Скриншот из игры Беги, котик!
Скриншот из игры Беги, котик!

Среди психологических игр очень популярна карандашная рисовка или чёрно-белая графика. К примеру, мои выпускники нарисовали потрясающую игру Paper Bum.

Скриншот из игры Peper Bum
Скриншот из игры Peper Bum

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

  1. Гипер-стилизация (формы и цвета нереалистичны, но по ним можно угадать объект)

  2. Стилизация (пропорции гипертрофированы, но форма объектов реалистична)

  3. Реализм (цветовая гамма, пропорции и формы стремятся к реалистичности)

Сравнение арт стилей
Сравнение арт стилей

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

В итоге я выбрал стилизацию с уклоном в стилистику популярных игр типа League of Legends. Арт в точности как в LoL был бы слишком дорогим для меня. Поэтому графика в моей игре имела более простую рисовку.

Богиня смерти Мортариэль из игры Азраил, вестник смерти
Богиня смерти Мортариэль из игры Азраил, вестник смерти

Выбор движка

Следующей задачей стал выбор технического средства для создания игры. Почитав обзоры, я выбрал для себя следующий шорт лист:

  1. Unity

    1. Плюсы:

      1. полноценный игровой движок с широкими возможностями;

      2. обилие ассетов для визуальных новелл в Unity Asset Store;

      3. можно писать любые гейм-механики от match-3 и puzzle до батлера, т.к. это полноценный движок;

      4. визуальное средство Unity Bolt, удобное для создания логики игры.

    2. Минусы:

      1. необходимость работы в большой среде на C#;

      2. нет идеального ассета для новел - каждый нужно тюнить под себя;

      3. медленный запуск и сборка при работе на ноуте из кафе.

    3. Язык: C#.

    4. Цена: условно бесплатно.

  2. Unreal Engine

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

    2. Язык: C++.

    3. Цена: условно бесплатно.

  3. Ren'Py.

    1. Плюсы:

      1. очень простой интерфейс;

      2. быстрый запуск игры и сборки;

      3. небольшой вес билдов;

      4. заточенность конкретно на визуальные новеллы;

      5. компилирует под Window, MacOS, Linux, iOS, Android, Web (для узко специализированного движка это удобно);

      6. запускается и на Windows, и на Mac, и на Linux;

      7. поддержка локализации;

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

    2. Минусы:

      1. недостаточная гибкость: пока делаешь простую новеллу - всё супер, только хочешь сделать журнал заданий или мини-игру, сразу нужны костыли;

      2. трудности с вёрсткой: делать гибкие интерфейсы удобно на HTML/CSS, но здесь вам придётся освоить внутреннюю логику Ren'Py и питон;

      3. отсутствие ассет стора, где можно было бы набрать готовых решений;

      4. отсутствие интеграции spine, аудио миксеров и других популярных решений.

    3. Язык: Pyton 2/3.

    4. Цена: бесплатно.

  4. Twine

    1. Плюсы:

      1. удобный интерфейс для интерактивного создания истории;

      2. простой в освоении (как с точки зрения процесса создания игры, так и из-за простого языка разметки HTML, лежащего в основе движка);

      3. наличие браузерной версии.

    2. Минусы:

      1. недостаточно встроенных возможностей для интерактива;

      2. хорошо подходит для визуализации логики, но делать полноценный геймплей трудно.

    3. Язык: HTML / CSS / JavaScript.

    4. Цена: бесплатно.

Также я смотрел на Godot, Visual Novel Maker и TyranoBuilder.

В итоге я выбрал Ren'Py. Основные причины для этого:

  • Идеально заточен под новеллы;

  • Легко научиться питону (для простых игр можно не учиться вообще);

  • Летает на ноутбуке.

Минималистичный интерфейс Ren'Py
Минималистичный интерфейс Ren'Py

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

Я обычно использую простой клиент Github Desktop.

В качестве редактора кода я выбрал Visual Studio Code по трём причинам:

  1. Бесплатный (не только он, есть много других бесплатных редакторов);

  2. Очень простой в работе (хотя я привык к JetBrains);

  3. Ren'Py ставит на него аддон для распознавания своего синтаксиса.

Проект игры Азраил, вестник смерти в Visual Studio Code
Проект игры Азраил, вестник смерти в Visual Studio Code

В самом Ren'Py можно выбрать редактор кода по умолчанию, но выбор не велик. Удобно, что движок может сам установить Visual Studio Code.


Кстати, 10 октября у нас в Москве пройдёт очередной фестиваль "Хочу в геймдев", где можно показать свою игру, чтобы собрать фидбэк с экспертов индустрии и потенциальных игроков. Я буду выставлять там свою новеллу, поэтому приглашаю к участию как оффлайн в здании Вышки на Шабаловке, так и онлайн на нашем Youtube канале =)

Также буду рад вашей подписке на группу игры в VK. Там мы публикуем интересные материалы и новости по игре! Также подписывайтесь на нас в Telegram, там мы также рассказываем всё самое интересное об игре.

В следующем материале я расскажу о планировании и разработке. А в финале - о маркетинге и выходе в Steam.

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

Комментарии (17)


  1. Daniel217D
    21.08.2024 06:32
    +3

    Жанр визуальных новелл перенасыщен низкокачественными поделками максимально, хуже только у (гипер)казуалок. Чем ваша новелла будет выделяться?


    1. Kallist Автор
      21.08.2024 06:32
      +2

      Моё преимущество в том, что моей новелле не нужно сильно выделяться =)

      Как я писал выше, моя цель - протестировать как сейчас работает инди маркетинг, выход в Steam и юридическое сопровождение бизнеса в условии санкций. Поэтому у меня нет цели заработать, я могу просто делать игру для души: то, что вдохновляет меня.

      Конечно, раз есть цель проверить маркетинг, то нужно продумывать и позиционирование продукта. Сейчас я отвечаю на этот вопрос так:

      • Попробуй себя в роли древнего бога - создателя всего живого

      • Азраил - бог для смертных и офисный клерк для своих собратьев

      • Множество мини-игр сделают игровой процесс увлекательней

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


  1. moriyuko
    21.08.2024 06:32
    +3

    Делаю любительскую визуальную новеллу в команде из двух человек (художник и сценарист/программист). Несложно догадаться, что техническая часть именно на мне. В общем, по поводу выбора движка и редактора кода могу полностью согласиться с автором. Ren’Py запускается на любом батоне напоминающем ноутбук, что для такого бедного студента как я просто подарок судьбы, ну VS Code в представлении не нуждается, отличный редактор.

    И вообще аффтор молодец пиши исчо, интересно следить за разработкой. Спасибо за статью.


    1. Kallist Автор
      21.08.2024 06:32
      +2

      Спасибо! На следующей неделе будет следующий материал - про разработку, сюжет и геймдизайн =)


  1. eonlive
    21.08.2024 06:32
    +1

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


    1. Kallist Автор
      21.08.2024 06:32

      Спасибо! Скоро будет продолжение =)


  1. FireLynx
    21.08.2024 06:32
    +1

    Вот бы посмотреть бы исходники реального большого проекта на renpy.


    1. Kallist Автор
      21.08.2024 06:32

      Выглядит это как-то так =)

      # Работа с инвентарём
      
      init python:
          class Item:
              def __init__(self, name, image = "", cost = 1):
                  self.name = name
                  self.cost = cost
                  self.image = image
                  self.stackable = True
      
              def get_image(self):
                  return self.image
      
          class Inventory:
              def __init__(self, money=0):
                  self.money = money
                  self.items = {}
      
              def buy(self, item, amount=1):
                  if self.money >= item.cost * amount:
                      self.money -= item.cost * amount
                      self.add(item, amount)
                      return True
                  else:
                      return False
              
              def add (self, item, amount=1):
                  if self.items.get(item) == None:
                      self.items.update({item: amount})
                  else:
                      self.items[item] += amount
      
              def earn(self, amount):
                  self.money += amount
      
              def has_item(self, item):
                  if item in self.items:
                      return True
                  else:
                      return False
              
              def give_away(self, item, amount=1):
                  if not self.has_item(item):
                      return False
                  elif self.items[item] == amount:
                      del self.items[item]
                  else:
                      self.items[item] -= amount
      
      
          inventory = Inventory()
          # Глава 2
          ch2_strange_relic = Item("Необычная реликвия")
          # Глава 3
          ch3_shadow_shard_contract = Item("Контракт на поставку осколков тьмы")
          ch3_gravity_control = Item("Усмиритель гравитации")
          # Глава 4
          ch4_1_broken_relic = Item("Дефектная реликвия")
          ch4_2_dust_vial = Item("Фиал с пылью времён")
      
          # Планета 2 - Саффар
          pl2_magnetism_potion = Item("Зелье защиты от магнетизма")
          # Планета 3 - Смертриос
          pl3_fish_bucket = Item("Ведро задохликов")

      И вот таких файликов несколько десятков )


  1. evetaell
    21.08.2024 06:32
    +1

    А подскажите, как вы настроили интеграцию spine - renpy?

    Вы пишите, что выбрали Ренпи и что с вами работают spine аниматоры. Не совсем поняла этот момент?


    1. Kallist Автор
      21.08.2024 06:32

      Вот прям как в Unity подключить Spine нельзя, но можно выгрузить анимашки из спайна в виде мувиков. Лучше всего работает, когда есть webm файл с сайд маской. Чуть хуже, когда просто прозрачный мувик и совсем плохо, когда выгружаешь анимацию в виде сиквенции. Тогда большие анимашки начинают тормозить. В коде при создании персонажа пишем:

      image ... = Movie(play="...", side_mask=True)

      Пример:

      define az = Character('Азраил', color="#94d4ff")
      image az idle = Movie(play="images/characters/Azrail_idle_SideMask.webm", side_mask=True)
      image az bow = Movie(play="images/characters/Azrail_bow_SideMask.webm", side_mask=True)
      image az anger = Movie(play="images/characters/Azrail_anger_SideMask.webm", side_mask=True)


  1. Fancryer
    21.08.2024 06:32
    +1

    Есть ещё отечественный проект INSTEAD, заточенный в основном под текстовые квесты, но всё же достаточно гибкий, чтобы на него можно было портировать даже игры с ZX Spectrum. Вы пробовали с ним познакомиться?


    1. Kallist Автор
      21.08.2024 06:32

      Не слышал раньше, спасибо за наводку! Поизучаю. На вид напомнило создание текстовых квестов для Космических рейнджеров)


  1. Vsevo10d
    21.08.2024 06:32

    Немного не в тему, а есть ли такая же доступная новичку платформа по типу RenPy, чтобы сделать игру в жанре beat'em up?


    1. Kallist Автор
      21.08.2024 06:32

      К сожалению, не встречал. Сам бы хотел такой) Все знакомые, кто делает beat'em up, обычно выбирают Unity. Если не хочется программировать и есть готовность закрыть глаза на ограничения, то можно попробовать Buildbox. Но он не очень гибкий.


  1. papa_inura
    21.08.2024 06:32

    Будет всем проще, если не называть визуальные новеллы играми. Разветвленность сюжета реализованная через интерактив с читателем ещё не делает произведение игрой. Всё это сильно на грани.

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

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


    1. Kallist Автор
      21.08.2024 06:32

      Так как же не нужного? =)

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


      1. papa_inura
        21.08.2024 06:32
        +1

        Это другое дело! Вопрос снят )))