Twine: различия между версиями

Материал из IFВики
Перейти к навигации Перейти к поиску
м
м
Строка 47: Строка 47:
 
==== Harlowe ====
 
==== Harlowe ====
  
  (if: $hasKey)<nowiki>[It looks like the $keyColor key will [[open the door]].]</nowiki>
+
  (if: $hasKey)<nowiki>[Похоже, что $keyColor ключ [[откроет дверь]].]</nowiki>
  (else:)[No way forward here, unfortunately.]
+
  (else:)[Печально, но дальше прохода нет.]
  
  
Строка 54: Строка 54:
  
 
  <% if (s.hasKey) { %>
 
  <% if (s.hasKey) { %>
  It looks like the <%= s.keyColor %> key will <nowiki>[[open the door]].</nowiki>
+
  Похоже, что <%= s.keyColor %> ключ <nowiki>[[откроет дверь]].</nowiki>
 
  <% } else { %>
 
  <% } else { %>
  No way forward here, unfortunately.
+
  Печально, но дальше прохода нет.
 
  <% } %>  
 
  <% } %>  
  
Строка 62: Строка 62:
  
 
  <<if $hasKey>>
 
  <<if $hasKey>>
  It looks like the $keyColor key will <nowiki>[[open the door]].</nowiki>
+
  Похоже, что $keyColor ключ <nowiki>[[откроет дверь]].</nowiki>
 
  <<else>>
 
  <<else>>
  No way forward here, unfortunately.
+
  Печально, но дальше прохода нет.
 
  <</if>>
 
  <</if>>
  

Версия 20:38, 24 октября 2021

Twine
Тип Менюшные платформы
Разработчик(и) Крис Климас и сообщество, русский перевод Антон Жучков
Языки интерфейса 15 языков, в том числе русский
Операционные системы Браузер, Windows, macOS, GNU/Linux (Twine 1.x без GNU/Linux)
Написано на JavaScript (версия 1.x на Python 2)
Язык разработки Собственный скриптовый Twine с визуальным редактором и JavaScript
Читаемые форматы файлов Исходный код Twine (*.tws)
Создаваемые форматы файлов Исходный код Twine (*.tws), Веб-страницы (*.html)
Дата первого выпуска 2009
Последняя версия 2.3.7 (сохраняющая актуальность версия 1.4.2 первого поколения)
Дата последней версии 12 апреля 2020
Состояние
Лицензия GNU GPL v3.0
Сайт twinery.org


Общая информация

Система для создания интерактивных историй на JavaScript. В качестве интерпретатора готовых историй используется интернет-браузер.

Ранее система называлась Tweebox.

Для описания историй можно использовать несколько простых вики-подобных форматов. Формат описывает язык исходного кода и исходный внешний вид игры.

Кроме графического редактора, который называется собственно Twine, есть также консольная утилита twee, которая позволяет хранить код игры в системах контроля версий (git), а также разбивать код на несколько файлов.

Игры Twine, как правило, можно без потерь декомпилировать в код twee или импортировать в редактор, получив полный код игры. Но при этом Twine 2 не может открывать игры Twine 1 и наоборот, а программа-конвертер несовершенна и работает только с SugarCube.

Краткая история

Twine вырос из более старой платформы «Tweebox» (также см. «Twee» и «Twinkie»), которая была форматом для вики-системы TiddlyWiki; первый формат Jonah стал первым форматом нового Twine. Поэтому датой первого релиза мы считаем 2009 год, но на самом деле игры на Tweebox были и раньше, а разметка самих игр с перезапуском движка практически не менялась. (Да, таким образом Twine можно считать старше чем FireURQ)

Для простоты на нашей IFWiki мы не делаем различий между Twine и Tweebox, поэтому смотрите на даты релиза: все игры до лета 2009 года - это Tweebox.

Доступные форматы (Twine 2)

  • Harlowe - по умолчанию. Чёрный текст по центру белого фона. Википодобный язык.
  • Snowman - напоминает Markdown
  • SugarCube - наследие Twine 1. Позволяет иметь несколько слотов сохранений.
  • Proofread - выводит весь текст игры на одной странице для облегчения вычитки. Twine автоматически переводит игру в этот формат, когда вы нажимаете на кнопку "proofread copy".

Возможно создать свой формат. Также в сообществе могут быть другие авторские форматы.

Примеры кода

Harlowe

(if: $hasKey)[Похоже, что $keyColor ключ [[откроет дверь]].]
(else:)[Печально, но дальше прохода нет.]


Snowman

<% if (s.hasKey) { %>
Похоже, что <%= s.keyColor %> ключ [[откроет дверь]].
<% } else { %>
Печально, но дальше прохода нет.
<% } %> 

SugarCube

<<if $hasKey>>
Похоже, что $keyColor ключ [[откроет дверь]].
<<else>>
Печально, но дальше прохода нет.
<</if>>

Ссылки

См. также