Сценарий для Visual Novel

Наряжаем новогоднюю елку!

В закладки

Всех с наступающим! Скоро праздники, потому не буду утомлять сложными статьями или анализом принципов построения сюжета. Вместо этого, мы нарядим особую, сюжетную ёлку для игры Spiritual Cavern!

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

Время шло, и фантазию было всё сложнее удерживать - в финальной версии у истории есть целых 10 концовок, две из которых доступны в разных сюжетных ветках.

Немного условных обозначений:

Довольно просто, не так ли?

Финальный сценарий в виде дерева сцен выглядит примерно так:

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

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

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

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

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

Красный крест не гарантирует смерть, но обозначает её вероятность..)

Чего-то еще не хватает... давайте добавим зеленого? Уж слишком темная она получилась. Кстати, на дереве как раз не отмечены моменты "отложенного выбора" - когда действия игрока влияют на развитие сюжета не сразу, а спустя какое-то время. Уверен, это предаст истории долю реализма)

Всё просто: принял решение (?), спустя время увидел результат (!)

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

Остановимся на этом, и насладимся новогодними праздниками вместе!

Красота-то какая!

А в качестве новогоднего подарка - короткая подборка ссылок, которые будут полезны для инди-разработчиков и не только:

  • Reverso Context - когда в голове есть слово, а подходящего перевода никак не найти
  • FreeSound - огромная библиотека звуков, часть из которых можно использовать и в коммерческих целях
  • RPG Wikia - обширная ролевая энциклопедия, полезна для общего развития
  • статья на Хабре - как источник для вдохновения (черт, они вправду сам сделал игру!)
  • Unravel - прекрасная игра для отдыха во время праздников
{ "author_name": "Богдан Бортаков", "author_type": "self", "tags": ["\u0444\u0430\u043d"], "comments": 16, "likes": 14, "favorites": 8, "is_advertisement": false, "subsite_label": "flood", "id": 14163, "is_wide": false, "is_ugc": true, "date": "Fri, 29 Dec 2017 13:12:20 +0300", "is_special": false }
Объявление на DTF
0
16 комментариев
Популярные
По порядку
Написать комментарий...
1

Удачи с проектом! ВН - это круто!)

Ответить
1

Удачи вам! Все таки десять концовок - это немалая такая работа

Ответить
0

А нафиг дерево, если еще нет текста?

Ответить
1

Может быть у автора уже есть скелет сценария с действиями, сценами и сюжетными поворотами?

Ответить
0

Уже готов сценарий и все пути развития сюжета - осталось из текста превратить это в код. Дерево из статьи - просто порядок следования сцен с некоторыми условиями перехода между ними.

Ответить
0

Т.е. сейфового рута без вероятности смерти нет вообще? Дарк соулс от мира визуальных новелл.

Ответить
0

Почему же? В статье прямо сказано: "К счастью, движок RenPy позволяет делать сохранения - что значительно упрощает прохождение игры."
Таким образом, в случае смерти игрок просто загружает сохранение и играет дальше.
Кстати, количество сохранений ограничено только памятью устройства - сама система спокойно хранит мои 108 сэйвов во время теста.
Если под "Сейфовым рутом" Вы имели в виду другое - уточните, а?

Ответить
0

Он имел ввиду, что в этом "древе" нет линии, в которой нет риска умереть.

Ответить
0

Спасибо за пояснение!
Всё просто: красные кресты - это смерть вне битвы, и она крайне маловероятна. Ну, разве что игрок стоя перед артефактом решит бросить в него фаербол - например)

Ответить
1

А разрешите поинтересоваться, пара вопросов накопилась с прошлых статей:
1. Как собираетесь реализовать битвы? Сторонние программы, как карточная игра в БЛ? Или в Ren'Ry есть инструментарий какой-то для этого? Или это будет текстовая боёвка? В общем интересно узнать.
2. Можно ли на Ren'Py создать коммерческую игру? Никаких проблем не последует?
Заранее спасибо!

Ответить
1

С радостью отвечу!
1. Механика битвы довольно проста: присутствует текстовое описание происходящих событий, в ключевые моменты игроку предстоит выбор действий персонажа.
Разработка битв в таком ключе занимает довольно много времени, но в условиях ограниченного ресурса (делаю в одиночку) - это наиболее простой вариант, не контрастирующий с остальными механиками новеллы.
2. Создатель RenPy прямо сообщает: движок можно использовать в коммерческих целях без каких-либо ограничений.
Пруф с оф. сайта:

Ответить
1

Спасибо за оперативный ответ! Буду продолжать следить за вашим блогом.
А есть ли возможность прикрутить вероятность в RenPy? Ну, то есть добавить элемент случайности. Ведь такой простор для творчества откроется! Текстовая РПГ с прокачкой, ух!

Ответить
1

О, Вы будете рады: так как сам движок реализован на Python, вы спокойно можете применять многие функции - от выбора if-else до генерации случайного числа и полного изменения механики игры.
Кстати, есть возможность изменять интерфейс - создавая полноценную текстовую РПГ с инвентарем, репутацией и характеристиками. Правда, требуется сесть и основательно разобраться в языке программирования и сложных методах RenPy - но оно того стоит)

Ответить

Комментарий удален

Комментарий удален

Комментарий удален

Прямой эфир

{ "jsPath": "/static/build/dtf.ru/specials/DeliveryCheats/js/all.min.js?v=05.02.2020", "cssPath": "/static/build/dtf.ru/specials/DeliveryCheats/styles/all.min.css?v=05.02.2020", "fontsPath": "https://fonts.googleapis.com/css?family=Roboto+Mono:400,700,700i&subset=cyrillic" }