Twine: различия между версиями
Oreolek (обсуждение | вклад) м |
Nikita (обсуждение | вклад) |
||
Строка 49: | Строка 49: | ||
* [http://twee2.danq.me/documentation.html Twee 2] | * [http://twee2.danq.me/documentation.html Twee 2] | ||
[[Категория:Менюшные платформы]] | [[Категория:Менюшные платформы]] | ||
+ | [[Категория:Онлайн-платформы]] |
Версия 14:52, 2 июня 2018
Содержание
Общая информация
Система для создания интерактивных историй на JavaScript. В качестве интерпретатора готовых историй используется интернет-браузер.
Ранее система называлась Tweebox.
Для описания историй можно использовать несколько простых вики-подобных форматов. Формат описывает язык исходного кода и исходный внешний вид игры.
Кроме графического редактора, который называется собственно Twine, есть также консольная утилита twee, которая позволяет хранить код игры в системах контроля версий (git), а также разбивать код на несколько файлов.
Игры Twine, как правило, можно без потерь декомпилировать в код twee или импортировать в редактор, получив полный код игры. Но при этом Twine 2 не может открывать игры Twine 1 и наоборот, а программа-конвертер несовершенна и работает только с SugarCube.
Доступные форматы (Twine 2)
- Harlowe - по умолчанию. Чёрный текст по центру белого фона. Википодобный язык.
- Snowman - напоминает Markdown
- SugarCube - наследие Twine 1. Позволяет иметь несколько слотов сохранений.
- Proofread - выводит весь текст игры на одной странице для облегчения вычитки. Twine автоматически переводит игру в этот формат, когда вы нажимаете на кнопку "proofread copy".
Возможно создать свой формат. Также в сообществе могут быть другие авторские форматы.
Как они выглядят
Harlowe
(if: $hasKey)[It looks like the $keyColor key will [[open the door]].] (else:)[No way forward here, unfortunately.]
Snowman
<% if (s.hasKey) { %> It looks like the <%= s.keyColor %> key will [[open the door]]. <% } else { %> No way forward here, unfortunately. <% } %>
SugarCube
<<if $hasKey>> It looks like the $keyColor key will [[open the door]]. <<else>> No way forward here, unfortunately. <</if>>