|
| |
AP | | |
|
|
| Genshin Impact |
| Stories of Your Life and Others |
|
| |
Интерактивное Вступление
Интерактивное вступление очень рекомендуется к прочтению, потому что я это всё-таки зачем-то писал, не пропадать же творению она довольно быстро введёт в курс дела и, что самое главное, покажет примерный результат стараний того, кто за написание интерактивного рассказа возьмётся. Итак, с чего же нам, собственно, начать? С установки соответствующего редактора, конечно же. Его можно найти, пройдя по этой ссылке. Там мы берём свеженькую версию редактора Inky для той операционной системы, что у вас есть. А можно не заморачиваться и пока что зайти на сделанный добрыми людьми сайт, где всё точно так же можно создавать, тестить и выдавать даже готовый результат.
Дальше надо всё-таки разобраться, как что-то написать, не так ли? Ну тогда идите сюда и освободите меня от лишней писанины! Сработало? Нет? В общем, точного ответа я сейчас вряд ли получу, так что всё же начну объяснить начальные принципы всего этого дела. И, разумеется, отвечу на любые возникающие вопросы)
Как я уже говорил, Ink это скриптовый язык, главное преимущество которого невероятная простота написания интерактивного рассказа на уровне написания обыкновенного. Всё это потому что скрипт и есть сам по себе текст, размеченный определённым образом, чтобы на выходе получалась интерактивная история. Конечно, я юлю, и что-то сложнее обычной Choose Your Own Adventure книжки без всяких условий и переменных не получится, но и это не так сложно, как может показаться. А пока что давайте посмотрим, как получается самый банальный CYOA (всё представленное в цитатах спокойно запихивается в браузерную версию, но по началу результаты я продублирую и здесь)
Текст и выборы
Первое, что должно появиться в интерактивном рассказе, это выборы. Не так ли? * Ты соглашаешься. |
| Первое, что должно появиться в интерактивном рассказе, это выборы. Не так ли? Ты соглашаешься. |
|
Как можно догадаться, маркировка со «звёздочкой» в начале строки отвечает за создание выбора. Количество выборов зависит лишь от того, как много последует строчек со звёздочкой в дальнейшем. При этом текст выбора необязательно должен показываться именно так, как в выборе он обозначен. Ведь можно сделать так:
Первое, что должно появиться в интерактивном рассказе, это выборы. Не так ли? * [Ты соглашаешься.]Разумеется, это так. |
| Первое, что должно появиться в интерактивном рассказе, это выборы. Не так ли? 1. Ты соглашаешься |
|
| Первое, что должно появиться в интерактивном рассказе, это выборы. Не так ли? Разумеется, это так. |
|
Всё, что в «выборе» спрятано под квадратными скобками, будет действительно спрятано в финальном тексте и комбинируется разными способами. Например, так:
Первое, что должно появиться в интерактивном рассказе, это выборы. Не так ли? * — Разумеется, это так[.], — отвечаешь ты. |
| Первое, что должно появиться в интерактивном рассказе, это выборы. Не так ли? 1. — Разумеется, это так. |
|
| Первое, что должно появиться в интерактивном рассказе, это выборы. Не так ли? — Разумеется, это так, — отвечаешь ты. |
|
И вот вам вдогонку пример с несколькими выборами.
— Что такое? — спросил мой мастер. * — Я немного устал[.], — повторил я. — Вот оно что, — ответил он. — Какая неприятность. * — Ничего, Месье[.], — ответил я. — Очень хорошо. * — Я говорю, что наше путешествие ужасное[.], и я уже хочу с ним покончить. — Вот оно что, — недобро ответил он. — Я вижу, что вы расстроены. Ничего, завтра всё будет лучше. |
| — Что такое? — спросил мой мастер. 1. — Я немного устал. 2. — Ничего, Месье. 3. — Я говорю, что наше путешествие ужасное. |
|
| — Что такое? — спросил мой господин. — Я говорю, что наше путешествие ужасное, и я уже хочу с ним покончить. — Вот оно что, — недобро ответил он. — Я вижу, что вы расстроены. Ничего, завтра всё будет лучше. |
|
Узлы/Knots Конечно, выборы и последующие реакции это хорошо, но на этом интерактивный рассказ не сделаешь — а как же ветви в приключении? Разумеется, такая структура, которая как раз из себя может представлять стандартную книгу-игру, есть. В Ink они называются узлами и являются точками, на которые можно переходить. Узел это вот это (и обратите внимание, что содержимое пишется на английском, а так же запомните, что любые программы вообще редко любят отличные от английского языки):
А вот переход к нему:
Если всё соединить, то получится как-то так:
Куда мы сегодня пойдём? * Я бы сказал, но пускай это останется тайной. -> nowhere
=== nowhere === Никуда. Мог бы так и сказать. -> END |
| Куда мы сегодня пойдём? Я бы сказал, но пускай это останется тайной. Никуда. Мог бы так и сказать. |
|
Вы ещё могли заметить -> END в конце, и я подтвержу ваши догадки: этот переход используется для обозначения конца рассказа. Редактор будет на это ругаться, так что имейте ввиду.
Переход к узлу необязательно привязывается к выборам, он может использоваться и прямо в тексте:
Куда мы сегодня пойдём? Хотя постой, я уже знаю ответ. -> nowhere |
Только стоит учитывать, что если вы напишите переход в строку, то и текст выведется в строку. И наоборот, если переход окажется на другой строке, то в рассказе будет перенос. А в ситуациях, когда кровь из носа переход должен оказаться на другой строке, но хочется, чтобы текст был в одну, используется оператор glue:
С ним следующий пример будет идентичен предыдущему.
Куда мы сегодня пойдём? Хотя постой, я уже знаю ответ. <> -> nowhere |
Собственно, применив все полученные «знания», можно написать маленький отрывок, который будет типичным представителем CYOA.
Я читаю книгу, но эта страница мне абсолютно не нравится. * [Перелистнуть на страницу 28.] -> page_28 * [Ужаснуться повороту сюжета на странице 13.] -> page_13 * [Посмеяться над страницой 69.] -> page_69
=== page_28 === А вот эта страница уже ничего такая. ->END === page_13 === Бу! Не ожидал, правда? ->END === page_69 === Здесь ты прочитал пошлый и несмешной анекдот. Но тем не менее посмеялся. ->END |
Результат этого взгляните уж сами, попробуйте.
Подведя небольшой итог: да, уже этого достаточно, чтобы написать небольшой интерактивный рассказ и позволить читателю следовать не этому вашему банальному линейному ходу сюжета, а совершать невероятные выборы и влиять на историю. И, конечно, это самые примитивные штуки, которые можно сделать. Главное сейчас понять, насколько интересно делать что-то дальше, а то может уже на этом моменте у всех до этого заинтересованных скука или абсолютное непонимание, что вообще происходит. Поэтому я пока что оставляю здесь пост, ожидаю ваших комментариев, чтобы понять, стоит ли что-то ещё писать на эту тему дальше. Ну или вы действительно скажете, что выложенного туториала от самих inkle более чем достаточно, что как минимум упростит жизнь мне)
P.S. А ещё настало время узнать, что такое тире. Тире выглядит так: — Не путать с дефисом: - Почему это важно, кроме банального правильного написания знаков препинания? В Ink это ещё один символ маркировки, который в начале строки будет восприниматься совершенно иначе. Если вас всегда останавливало от правильного написания то, что обычная раскладка клавиатуры не позволяет это сделать без дополнительной боли, то всегда есть Типографская Раскладка Ильи Бирмана. Полезная штука в хозяйстве, правда. |
|