[ Вход :: Регистрация ]
Логин:   Пароль: 
Страницы: (3) « [1] 2 3 »  ответить новая тема новое голосование
Тема: Интерактивные рассказы, И с чем их готовить
Fahrengeit 
HP
MP
 LVL. MASTER
 EXP. 2064/1000
 Модератор
 Рег.: 30.03.2009
 Постов: 8718
 
  Fahrengeit23
  Fahrengeit
Играет в:
Hellbalde
Смотрит:
Rick and Morty
Профиль PM Сайт 
Интерактивное Вступление

Интерактивное вступление очень рекомендуется к прочтению, потому что я это всё-таки зачем-то писал, не пропадать же творению она довольно быстро введёт в курс дела и, что самое главное, покажет примерный результат стараний того, кто за написание интерактивного рассказа возьмётся.
Итак, с чего же нам, собственно, начать? С установки соответствующего редактора, конечно же. Его можно найти, пройдя по этой ссылке. Там мы берём свеженькую версию редактора Inky для той операционной системы, что у вас есть.
А можно не заморачиваться и пока что зайти на сделанный добрыми людьми сайт, где всё точно так же можно создавать, тестить и выдавать даже готовый результат.

Дальше надо всё-таки разобраться, как что-то написать, не так ли? Ну тогда идите сюда и освободите меня от лишней писанины! Сработало? Нет? В общем, точного ответа я сейчас вряд ли получу, так что всё же начну объяснить начальные принципы всего этого дела. И, разумеется, отвечу на любые возникающие вопросы)

Как я уже говорил, Ink это скриптовый язык, главное преимущество которого невероятная простота написания интерактивного рассказа на уровне написания обыкновенного. Всё это потому что скрипт и есть сам по себе текст, размеченный определённым образом, чтобы на выходе получалась интерактивная история. Конечно, я юлю, и что-то сложнее обычной Choose Your Own Adventure книжки без всяких условий и переменных не получится, но и это не так сложно, как может показаться. А пока что давайте посмотрим, как получается самый банальный CYOA (всё представленное в цитатах спокойно запихивается в браузерную версию, но по началу результаты я продублирую и здесь)

Текст и выборы

Цитата
Первое, что должно появиться в интерактивном рассказе, это выборы. Не так ли?
* Ты соглашаешься.

  Результат выбора


Как можно догадаться, маркировка со «звёздочкой» в начале строки отвечает за создание выбора. Количество выборов зависит лишь от того, как много последует строчек со звёздочкой в дальнейшем.
При этом текст выбора необязательно должен показываться именно так, как в выборе он обозначен. Ведь можно сделать так:

Цитата
Первое, что должно появиться в интерактивном рассказе, это выборы. Не так ли?
* [Ты соглашаешься.]Разумеется, это так.

  До выбора

  Результат выбора


Всё, что в «выборе» спрятано под квадратными скобками, будет действительно спрятано в финальном тексте и комбинируется разными способами. Например, так:

Цитата
Первое, что должно появиться в интерактивном рассказе, это выборы. Не так ли?
* — Разумеется, это так[.], — отвечаешь ты.

  До нажатия

  Результат выбора


И вот вам вдогонку пример с несколькими выборами.

Цитата
— Что такое? — спросил мой мастер.
* — Я немного устал[.], — повторил я.
— Вот оно что, — ответил он. — Какая неприятность.
* — Ничего, Месье[.], — ответил я.
— Очень хорошо.
* — Я говорю, что наше путешествие ужасное[.], и я уже хочу с ним покончить.
— Вот оно что, — недобро ответил он. — Я вижу, что вы расстроены. Ничего, завтра всё будет лучше.

  До выбора

  После выбора 3го варианта ответа


Узлы/Knots
Конечно, выборы и последующие реакции это хорошо, но на этом интерактивный рассказ не сделаешь — а как же ветви в приключении? Разумеется, такая структура, которая как раз из себя может представлять стандартную книгу-игру, есть. В Ink они называются узлами и являются точками, на которые можно переходить.
Узел это вот это (и обратите внимание, что содержимое пишется на английском, а так же запомните, что любые программы вообще редко любят отличные от английского языки):

Цитата
=== top_knot ===


А вот переход к нему:

Цитата
-> top_knot.


Если всё соединить, то получится как-то так:

Цитата
Куда мы сегодня пойдём?
* Я бы сказал, но пускай это останется тайной.
-> 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 это ещё один символ маркировки, который в начале строки будет восприниматься совершенно иначе.
Если вас всегда останавливало от правильного написания то, что обычная раскладка клавиатуры не позволяет это сделать без дополнительной боли, то всегда есть Типографская Раскладка Ильи Бирмана. Полезная штука в хозяйстве, правда.
Дата сообщения: 24 марта 2017, 02:05 [ # ]
obsidian 
светотьма
HP
MP
 LVL. 8
 EXP. 551/700
 Рег.: 12.11.2009
 Постов: 913
 
Играет в:
Phoenix Wright: Ace Attorney
Работает над:
изменением мира
Профиль PM   
Я хочу в этом квесте участвовать. Достаточно скопипастнуть содержимое из ката Фари прямо в сайт-редактор для более наглядного понимания как это работает. Привыкнуть бы)

Исправил(а): obsidian, 24 марта 2017, 13:05
Дата сообщения: 24 марта 2017, 13:02 [ # ]
Rem 
Mog
HP
MP
 LVL. 9
 EXP. 976/1000
 Рег.: 06.01.2011
 Постов: 6316
  zmaxachz
Работает над:
Изучением нового танца
Профиль PM Сайт   
Цитата (Fahrengeit @ 24 марта 2017, 02:05)
Главное сейчас понять, насколько интересно делать что-то дальше, а то может уже на этом моменте у всех до этого заинтересованных скука или абсолютное непонимание, что вообще происходит. Поэтому я пока что оставляю здесь пост, ожидаю ваших комментариев, чтобы понять, стоит ли что-то ещё писать на эту тему дальше.
Ну или вы действительно скажете, что выложенного туториала от самих inkle более чем достаточно, что как минимум упростит жизнь мне)
Я бы предложил не затягивать и сразу массово замутить какое-нибудь литзадание для пробы. Скажем сделать небольшой пролог за неделю. И в этой теме разбираться, если что непонятно и обмениваться опытом.
Я пока выборочно почитал полный мануал, переменные очень сильно порадовали. А вот как нормальный процентный рандом замутить пока не понятно, нашёл только шафл, но через него какой-то топорный рандом выходит.

--------------
~
Дата сообщения: 24 марта 2017, 18:15 [ # ]
Fahrengeit 
HP
MP
 LVL. MASTER
 EXP. 2064/1000
 Модератор
 Рег.: 30.03.2009
 Постов: 8718
 
  Fahrengeit23
  Fahrengeit
Играет в:
Hellbalde
Смотрит:
Rick and Morty
Профиль PM Сайт 
Цитата (Rem @ 24 марта 2017, 18:15)
Я бы предложил не затягивать и сразу массово замутить какое-нибудь литзадание для пробы. Скажем сделать небольшой пролог за неделю. И в этой теме разбираться, если что непонятно и обмениваться опытом.

Тоже хороший вариант, потому что без практики далеко не уйдёшь.
Цитата (Rem @ 24 марта 2017, 18:15)
А вот как нормальный процентный рандом замутить пока не понятно, нашёл только шафл, но через него какой-то топорный рандом выходит.

Ну на самом деле просто, два раза по d10, первый шаффл выберет десятки, второй шаффл выберет единицы. И вот тебе процент.
Но да, это довольно топорно. Потому что всё же в первую очередь он рассчитан на текст и всё с ним связанное, хоть и спокойно позволяет работать с числами. Для чего-то нетопорного существует привязка к Unity) Можно даже создавать функции в Unity, а вызывать их через инковый скрипт, тот же самый рандом.
Цитата (obsidian @ 24 марта 2017, 13:02)
Я хочу в этом квесте участвовать. Достаточно скопипастнуть содержимое из ката Фари прямо в сайт-редактор для более наглядного понимания как это работает. Привыкнуть бы)

Ну тут стоит потренироваться как раз-таки, и по поводу любых мыслей задавать вопросы. Так что можно попробовать действительно тестовое литзадание запустить в ближайшие дни, чтобы банально все могли поэкспериментировать.
Дата сообщения: 24 марта 2017, 18:23 [ # ]
Esper 
HP
MP
 LVL. 9
 EXP. 971/1000
 Рег.: 21.08.2009
 Постов: 4535
Профиль PM 
А можно не изучать новый движок а юзать юнити если что то будете делать? >_>

--------------
Я играю в игры в которые никто не играет. Я смотрю аниме которое никто не смотрит. Я делаю сабы которые никто не читает. Я разговариваю с людьми которых не существует. ~
Дата сообщения: 24 марта 2017, 18:32 [ # ]
Rem 
Mog
HP
MP
 LVL. 9
 EXP. 976/1000
 Рег.: 06.01.2011
 Постов: 6316
  zmaxachz
Работает над:
Изучением нового танца
Профиль PM Сайт   
Цитата (Fahrengeit @ 24 марта 2017, 18:23)
Ну на самом деле просто, два раза по d10, первый шаффл выберет десятки, второй шаффл выберет единицы. И вот тебе процент.

Стоп, если там есть d10, то почему бы не быть сразу d100? о_О

--------------
~
Дата сообщения: 24 марта 2017, 18:32 [ # ]
Fahrengeit 
HP
MP
 LVL. MASTER
 EXP. 2064/1000
 Модератор
 Рег.: 30.03.2009
 Постов: 8718
 
  Fahrengeit23
  Fahrengeit
Играет в:
Hellbalde
Смотрит:
Rick and Morty
Профиль PM Сайт 
Цитата (Rem @ 24 марта 2017, 18:32)
Стоп, если там есть d10, то почему бы не быть сразу d100? о_О

Ну это я упростил для понимания. d10 ты там делаешь ручками, функцией. Где у тебя функция будет выбирать от 1 до 10. Я для вступления сделал топорный d20, выглядит дико, но задачу свою выполняет всё же.
  Топорный d20

Цитата (Esper @ 24 марта 2017, 18:32)
А можно не изучать новый движок а юзать юнити если что то будете делать? >_>

Да пожалуйста)
Хотя я бы всё равно предложил на досуге поизучать, потому что возможностей по работе с историей там куча (отслеживание всех параметров и удобное введение вариативности), и всё прекрасно встраивается в Unity.
Но как бы понятно, что я предложил Ink для тех, кто осваивает это с нуля. Литзадания будут в принципе на написание интерактивного рассказа, а платформа значения не имеет.

Исправил(а): Fahrengeit, 24 марта 2017, 18:50
Дата сообщения: 24 марта 2017, 18:49 [ # ]
Esper 
HP
MP
 LVL. 9
 EXP. 971/1000
 Рег.: 21.08.2009
 Постов: 4535
Профиль PM 
Fahrengeit
Когда начинаем?

--------------
Я играю в игры в которые никто не играет. Я смотрю аниме которое никто не смотрит. Я делаю сабы которые никто не читает. Я разговариваю с людьми которых не существует. ~
Дата сообщения: 25 марта 2017, 11:04 [ # ]
Dangaard Онлайн
HP
MP
 LVL. MASTER
 EXP. 2355/1000
 Модератор
 Рег.: 21.06.2006
 Постов: 7699
 
  xanvier-xanbie
  dangaard
Читает:
Александр Марков - Обезьяны, нейроны и душа
Профиль PM Сайт  
Цитата (Fahrengeit @ 24 марта 2017, 04:05)
Главное сейчас понять, насколько интересно делать что-то дальше, а то может уже на этом моменте у всех до этого заинтересованных скука или абсолютное непонимание, что вообще происходит. Поэтому я пока что оставляю здесь пост, ожидаю ваших комментариев, чтобы понять, стоит ли что-то ещё писать на эту тему дальше.

Чтобы ты не думал, что мне неинтересно: мне очень даже интересно. Я давно питаю интерес к IF, и у меня есть старые задумки, которую я давно хочу воплотить именно в этом формате. Об Ink я раньше не слышал, но он действительно выглядит проще и доступнее, чем все, что я до сих пор смотрел на эту тему.
Дата сообщения: 25 марта 2017, 19:09 [ # ]
Rem 
Mog
HP
MP
 LVL. 9
 EXP. 976/1000
 Рег.: 06.01.2011
 Постов: 6316
  zmaxachz
Работает над:
Изучением нового танца
Профиль PM Сайт   
Клиент гораздо удобнее сайта, там все изменения происходят в реальном времени, не нужно каждый раз тыкать на кнопку аплода. А ещё там реально крутая документация с понятными примерами. Но вашу ж мать, этот редактор жутко мелкий на моём разрешении и никаких настроек для масштабирования. ><

--------------
~
Дата сообщения: 26 марта 2017, 02:46 [ # ]
Fahrengeit 
HP
MP
 LVL. MASTER
 EXP. 2064/1000
 Модератор
 Рег.: 30.03.2009
 Постов: 8718
 
  Fahrengeit23
  Fahrengeit
Играет в:
Hellbalde
Смотрит:
Rick and Morty
Профиль PM Сайт 
Цитата (Dangaard @ 25 марта 2017, 19:09)
Чтобы ты не думал, что мне неинтересно: мне очень даже интересно. Я давно питаю интерес к IF, и у меня есть старые задумки, которую я давно хочу воплотить именно в этом формате. Об Ink я раньше не слышал, но он действительно выглядит проще и доступнее, чем все, что я до сих пор смотрел на эту тему.

Ну я рад, что он действительно выглядит доступным для всех, а не только для меня. Я-то лично поражаюсь и простотой использования, и гибкости —с текстом можно играться как угодно, менять предложения на ходу, делать генераторы предложений для разнообразия — море всего. Ну и не может не радовать встраиваемость в Unity.
Цитата (Rem @ 26 марта 2017, 02:46)
Клиент гораздо удобнее сайта, там все изменения происходят в реальном времени, не нужно каждый раз тыкать на кнопку аплода

Ну клиент делали сами разработчики, сайт — творение народа, причём я даже не уверен, что оно до сих пор поддерживается. Для потестить и поиграться хороший вариант, но, конечно, с клиентом будет удобнее — он и html генерирует (который, правда, придется заливать куда-нибудь на сервер)
Цитата (Rem @ 26 марта 2017, 02:46)
А ещё там реально крутая документация с понятными примерами.

Это абсолютно та же документация, что я скидывал по ссылке) К тому же неполная — там нет последней добавленной функции Lists, которая там с этими листами что только не творит.

Цитата (Esper @ 25 марта 2017, 11:04)
Когда начинаем?

Да когда угодно, сроки я думаю надо сделать не очень маленькие, чтобы все смогли время отыскать, может, 2-3 недели.
Я вот только думаю, в каком формате лучше давать задание — банально тему, или ещё приправить всё деталями, типа "у игрока должна быть возможность убить одного из персонажей", или "в одной из концовок обязательно должны появиться инопланетяне" и т.д.?
Ну и как тему выбирать будем - рандомом, кому-то одному доверим или решим совместными усилиями, мм?
P.S. Долго будем думать, организую по своему желанию, так что взываю к тем, у кого есть предложения :)
Дата сообщения: 26 марта 2017, 14:42 [ # ]
Esper 
HP
MP
 LVL. 9
 EXP. 971/1000
 Рег.: 21.08.2009
 Постов: 4535
Профиль PM 
Раз уж формат другой, то может и задания давать соответствующие формату - например наличие того или иного интерактивного элемента, а то тема и правда банально звучит.

--------------
Я играю в игры в которые никто не играет. Я смотрю аниме которое никто не смотрит. Я делаю сабы которые никто не читает. Я разговариваю с людьми которых не существует. ~
Дата сообщения: 26 марта 2017, 14:46 [ # ]
warm summer rain 
HP
MP
 LVL. 8
 EXP. 475/700
 Рег.: 12.07.2011
 Постов: 171
 
Играет в:
Prophecy of Pendor
Слушает:
Шаова ^_^
Профиль PM 
Добавлю свои пять пенсов: что, если собрать со всех участников варианты развития сюжета, обязательные элементы, темы et cetera, а дальше распределить рандомом?

Исправил(а): warm summer rain, 26 марта 2017, 18:26
Дата сообщения: 26 марта 2017, 18:25 [ # ]
Head Hunter 
The Reeeal Head Hunter
HP
MP
 LVL. 9
 EXP. 946/1000
 Рег.: 31.10.2005
 Постов: 4154
Играет в:
http://s25.mlgame.ru/
Работает над:
Сердце Вербарии\Закат Ра\Сны землян
Профиль PM 
Мне не нравится. Я пас =\

--------------
Снявши голову, по волосам не плачут-с.
Ф. М. Достоевский
Дата сообщения: 27 марта 2017, 08:01 [ # ]
Fahrengeit 
HP
MP
 LVL. MASTER
 EXP. 2064/1000
 Модератор
 Рег.: 30.03.2009
 Постов: 8718
 
  Fahrengeit23
  Fahrengeit
Играет в:
Hellbalde
Смотрит:
Rick and Morty
Профиль PM Сайт 
Цитата (warm summer rain @ 26 марта 2017, 18:25)
что, если собрать со всех участников варианты развития сюжета, обязательные элементы, темы et cetera, а дальше распределить рандомом?

Ну как вариант, конечно. Надо только собрать :)

Добавлено (через 49 мин. и 12 сек.):

Я подумаю над заданием уже после работы, но если у кого какие варианты есть — кидайте к вечеру. Просто если вариантов и не будет, то тогда и распределять рандомом нечего.
Дата сообщения: 27 марта 2017, 14:04 [ # ]
< Предыдущая тема | Следующая тема

[ Подписаться на тему :: Отправить тему на email :: Версия для принтера ]

Страницы: (3) « [1] 2 3 »

ответить новая тема новое голосование

  РейтингMail.ru