Как продвигаются ваши новеллы?
Давайте посмотрим, что вы успели добавить. Найдите того, чью игру еще не видели и поиграйте в нее, а затем дайте фидбек, пока я посмотрю на все работы.
Переменные
То, что позволяет нам учитывать выборы игрока даже в «линейном» отрезке сюжета и показывать игроку разный текст в зависимости от предыдущих выборов. Переменная обозначается значком $variableName и выводится для игрока текстом.
Переменную всегда называем латиницей, иначе просто не будет работать.
Типы переменных
Основные типы переменных, которые вам могут понадобиться:
- boolean значения: true/false
- number значения: числовые 1, 2, 3
- string значения: любое значение, но важно помнить, что программа будет воспринимать его только как текст, в коде выделяются кавычками.
Синтаксис
Задать переменную: (set: $имя переменной to значение переменной)
Условие с переменной: Показать текст (if: $переменная is значение)[То, что увидит игрок]
Двойное условие: (if: $переменная1 is значение1 and $переменная2 is значение2)[То, что увидит игрок]
С помощью переменных можно дать игроку уникальные варианты выбор, в зависимости от его действий до этого.
Показать текст (if: $переменная is значение)[То, что увидит игрок]
Дать разные выборы (if: $переменная is true)[[Ссылка 1]] (if: $переменная is false)[[Ссылка 2]]
Показывать определенный блок информации (print: $переменная) — будет отражаться значение переменной
Можно проверить был игрок в конкретном абзаце.
Синтаксис переменной: (if: visits is 0)[] (if: visits <= 0)[] (if: visits >= 0)[] (if: visits is not 0)[]
Boolean
Может иметь значение True или False. Удобно использовать, когда вопрос, который вы задаете программе сводится к да/нет.
Например:
- был ли игрок на этом абзаце? (if: $Visits is true)[[Ссылка 1]] — да (if: $Visits is false)[[Ссылка 2]] — нет
Счет: number
Переменные не статичны, вы можете менять их значение. В случае number переменных вы можете выполнять с ними любые математические операции, а также генерировать рандомные значения.
Сложение — хотим прибавить к нашей переменной какое-то число. (set: $переменная to + что-то)
Пример 1: Переменная была создана до этой операции (set: $number to $number + 3)
Пример 2: переменная не была создана до этой операции (set: $number to 2 + 3)
Хотим задать переменной случайное значение от 1 до 6.
Пример: (set: $roll to (random: 1, 6))
Чтобы показать переменную игроку, достаточно просто написать её в тексте $variableName. Если просто написать имя переменной, не задав ей значение, она будет равна нулю по умолчанию.
Текст уехал из-за кода
Поскольку код вы пишете прямо в абзаце, он может отодвигать ваш игровой текст по строчкам вниз.
Это не удобно, но это легко исправить. Надо убрать весь код в {} фигурные скобки.
Пример: { (Set: $health to 20) (Set: $mana to 20) (Set: $enhealth to 100)} =|= (live: 1s)[health: (Print: $health)] (live: 1s)[energy: (Print: $mana)] =|= (live: 1s)[Enemy health: (Print: $enhealth)] |==| { (set: $time to 5) (live: 1s)[ (set: $time to it -1) (if: $time<= 0) [(goto: «next turn»)]] }
Редактирование текста
Выровнять текст или картинку: (align:"==>») [текст]
==> Этот текст будет справа =><= Этот по середине <== Этот будет слева <==> Текст блоком
===><= Здесь будут колонки размером ¾ слева, ¼ справа =><===== Здесь колонки 1/6 слева, 5/6 справа.
Изменить длину строки:
(box:"X=»)
(box:"XXX==»)
(box:"X====»)
Сделать нумерованный список:
«0. Это будет пункт 1» «0. Это будет пункт 2» «0. Это будет пункт 3» «0. Это пункт 4»
Сделать маркированный список:
«* Это будет пункт 1» «* Это будет пункт 2» «* Это будет пункт 3» «* Это пункт 4»
Сделать крупный текст акцентным шрифтом:
#Это заголовок
Это обычный текст
Разделить игровой экран горизонтальной линией:
«---»
Создать колонку:
=|= Тут будет текст первой колонки =|= Тут текст второй |==|
количество = в начале — длина отступа от левого края количество | в центре — ширина колонки количество = в начале — длина отступа от правого края
Поменять цвет у определенного текста (text-colour: цвет)[Текст, у которого меняется цвет фона]
Примеры: (text-colour: red)[Красный текст] (text-colour: red + white)[Розовый текст] (text-colour: green + lime)[Салатовый текст]
Поменять фон у определенного текста (bg: цвет)[Текст, у которого меняется цвет фона]
Примеры: (bg: red)[Красный текст] (bg: red + white)[Розовый текст] (bg: green + lime)[Салатовый текст]
Поменять шрифт у определенного текста (font:"имя шрифта)"[Текст, у которого меняется шрифт] Примеры: (font:"Helvetica»)[Текст с шрифтом Helvetica] (font:"Arial»)[Текст с шрифтом Arial]
Примечание: Можно использовать только те шрифты, что есть в браузере Может работать у вас и не работать у других Сначала нужно скачать, а потом использовать
Это все можно сделать через меню абзаца, но случаются ошибки и важно уметь проверить.
Пускаем переменные в работу
Придумайте и напишите небольшую историю в Twine.
- В истории должно быть 2 концовки и 2-4 выбора.
- Не меньше трех переменных!
- Играться должна менее, чем за 5 минут.
- За основу можно взять любой существующий рассказ.
Время: 30 минут
Тестируем
- Пересаживаемся на место соседа справа
- Играем в историю другого
- Пишем замечания

