Сценарий для 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": 4, "is_advertisement": false, "subsite_label": "flood", "id": 14163, "is_wide": false, "is_ugc": true, "date": "Fri, 29 Dec 2017 13:12:20 +0300" }
{ "id": 14163, "author_id": 39163, "diff_limit": 1000, "urls": {"diff":"\/comments\/14163\/get","add":"\/comments\/14163\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/14163"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64955 }

16 комментариев 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 - но оно того стоит)

Ответить

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

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

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

0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
В Steam появилась функция продажи
подержанных цифровых копий игр
Подписаться на push-уведомления