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

Материал из IFВики
Перейти к навигации Перейти к поиску
м (Полезные ссылки)
 
(не показаны 32 промежуточные версии 4 участников)
Строка 1: Строка 1:
 +
{{product info
 +
|название =
 +
|тип = Менюшные платформы
 +
|разработчик = [[Разработчик::Климас, Крис|Крис Климас]] и [http://twinery.org/ сообщество], русский перевод [[Локализатор::Жучков, Антон|Антон Жучков]]
 +
|язык = 15 языков, в том числе русский
 +
|система = Windows, macOS, GNU/Linux (Twine 1.x без GNU/Linux)
 +
|онлайн = да
 +
|написано на = [[JavaScript]] (версия 1.x на [[Python|Python 2]])
 +
|язык разработки = Собственный скриптовый [[Twine]] с [[Визуальный редактор|визуальным редактором]] и [[JavaScript]]
 +
|читаемый формат = [[.tws|Исходный код Twine (*.tws)]]
 +
|создаваемый формат = [[.tws|Исходный код Twine (*.tws)]], [[HTML|Веб-страницы (*.html)]]
 +
|первый выпуск = 2009
 +
|последняя версия = 2.9.2 (сохраняющая актуальность версия 1.4.2 первого поколения)
 +
|дата последней версии = 03.01.2024
 +
|состояние =Активное
 +
|лицензия = [https://github.com/klembot/twinejs/blob/master/LICENSE GNU GPL v3.0]
 +
|сайт = [http://twinery.org/ twinery.org]
 +
}}
 +
 
== Общая информация ==
 
== Общая информация ==
  
Система для создания интерактивных историй на [[Wikipedia:Javascript|JavaScript]]. В качестве [[интерпретатор]]а готовых историй используется интернет-браузер.
+
Система для создания интерактивных историй на [[JavaScript]]. В качестве [[интерпретатор]]а готовых историй используется интернет-браузер.
  
 
Ранее система называлась '''Tweebox'''.
 
Ранее система называлась '''Tweebox'''.
Строка 7: Строка 26:
 
Для описания историй можно использовать несколько простых вики-подобных ''форматов''. Формат описывает язык исходного кода и исходный внешний вид игры.
 
Для описания историй можно использовать несколько простых вики-подобных ''форматов''. Формат описывает язык исходного кода и исходный внешний вид игры.
  
Кроме графического редактора, который называется собственно Twine, есть также консольная утилита twee, которая позволяет хранить код игры в системах контроля версий (git), а также разбивать код на несколько файлов.
+
== Twee ==
 +
 
 +
Кроме графического редактора, который называется собственно Twine, есть также консольная утилита [http://twee2.danq.me/documentation.html twee], которая позволяет хранить код игры в системах контроля версий (git), а также разбивать код на несколько файлов.
  
 
Игры Twine, как правило, можно без потерь декомпилировать в код twee или импортировать в редактор, получив полный код игры. Но при этом Twine 2 не может открывать игры Twine 1 и наоборот, а программа-конвертер несовершенна и работает только с SugarCube.
 
Игры 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) ==
 
== Доступные форматы (Twine 2) ==
Строка 17: Строка 43:
 
* SugarCube - наследие Twine 1. Позволяет иметь несколько слотов сохранений.
 
* SugarCube - наследие Twine 1. Позволяет иметь несколько слотов сохранений.
 
* Proofread - выводит весь текст игры на одной странице для облегчения вычитки. Twine автоматически переводит игру в этот формат, когда вы нажимаете на кнопку "proofread copy".
 
* Proofread - выводит весь текст игры на одной странице для облегчения вычитки. Twine автоматически переводит игру в этот формат, когда вы нажимаете на кнопку "proofread copy".
 +
* [https://klembot.github.io/chapbook/ Chapbook]
 +
* [https://sophiehoulden.com/twine/writingfantasy_guide.html WritingFantasy]
 +
* [https://github.com/Longwelwind/adventures Adventures]
 +
* [https://github.com/haroldo-ok/twine-monogatari/ Twine Monogatari] - визуальные новеллы на движке Monogatari
  
 
Возможно создать свой формат. Также в сообществе могут быть другие авторские форматы.
 
Возможно создать свой формат. Также в сообществе могут быть другие авторские форматы.
  
=== Как они выглядят ===
+
=== Примеры кода ===
 
==== Harlowe ====
 
==== Harlowe ====
  
  (if: $hasKey)[It looks like the $keyColor key will [[open the door]].]
+
  (if: $hasKey)<nowiki>[Похоже, что $keyColor ключ [[откроет дверь]].]</nowiki>
  (else:)[No way forward here, unfortunately.]
+
  (else:)[Печально, но дальше прохода нет.]
 +
 
  
 
==== Snowman ====
 
==== Snowman ====
  
 
  <% if (s.hasKey) { %>
 
  <% if (s.hasKey) { %>
  It looks like the <%= s.keyColor %> key will [[open the door]].
+
  Похоже, что <%= s.keyColor %> ключ <nowiki>[[откроет дверь]].</nowiki>
 
  <% } else { %>
 
  <% } else { %>
  No way forward here, unfortunately.
+
  Печально, но дальше прохода нет.
 
  <% } %>  
 
  <% } %>  
  
Строка 37: Строка 68:
  
 
  <<if $hasKey>>
 
  <<if $hasKey>>
  It looks like the $keyColor key will [[open the door]].
+
  Похоже, что $keyColor ключ <nowiki>[[откроет дверь]].</nowiki>
 
  <<else>>
 
  <<else>>
  No way forward here, unfortunately.
+
  Печально, но дальше прохода нет.
 
  <</if>>
 
  <</if>>
  
Строка 46: Строка 77:
 
* [http://twinery.org/wiki/ Документация (англ.)]
 
* [http://twinery.org/wiki/ Документация (англ.)]
 
* [[Media:TweeBoxDoc.rar|Документация (англ., Архив)]]
 
* [[Media:TweeBoxDoc.rar|Документация (англ., Архив)]]
[[Категория:Платформы]] [[Категория:Менюшные платформы]]
+
* [http://twee2.danq.me/documentation.html Twee 2]
 +
* [https://github.com/klembot/twinejs#twinejs Репозиторий с исходным кодом]
 +
* [https://web.archive.org/web/20060328165735/http://gimcrackd.com/etc/src/ Веб-архив страницы Криса Климаса] - Twee, 2006 год
 +
* [https://vk.com/academy_twine Сообщество ВК «Академия Twine»]
 +
 
 +
=== Обучающие материалы ===
 +
* [[Аня Войнова]] - [https://vk.com/@voynova_anya-twine-2-rukovodstvo-chast-1 Руководство. Часть 1. Что такое Твайн?]
 +
* [[Аня Войнова]] - [https://vk.com/@voynova_anya-twine-2-rukovodstvo-chast-2 Руководство. Часть 2. Меняем внешний вид игры]
 +
* [[Wol4ik|Студия "Ночных Шалунов Дискорда"]] - [https://www.youtube.com/watch?v=sTSFO_dZ3ac Начало работы с Twine] (видео)
 +
 
 +
== См. также ==
 +
* [[:Категория:Игры на Twine|Игры на Twine]]
 +
* [[:Категория:Документация Twine|Документация Twine]] - статьи на русском
 +
== Полезные ссылки ==
 +
* [https://gist.github.com/aucchen/808ebf87a8ebd7d6ecb2d4753eff9ba5 Автоматический скрипт для тестов игр методом случайного тыка] - Python, Selenium
 +
* [https://ludowoods.itch.io/twine-to-renpy-tool Конвертер из Twine в Ren'Py] - позволяет набрасывать игры [[Ren'Py]] на Twine
 +
* [https://github.com/incobalt/Trice Trice] - обёртка для библиотеки процедурной генерации [[Tracery]] внутри Twine

Текущая версия на 14:26, 12 ноября 2024

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.9.2 (сохраняющая актуальность версия 1.4.2 первого поколения)
Дата последней версии 3 января 2024
Состояние Активное
Лицензия GNU GPL v3.0
Сайт twinery.org


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

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

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

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

Twee

Кроме графического редактора, который называется собственно 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".
  • Chapbook
  • WritingFantasy
  • Adventures
  • Twine Monogatari - визуальные новеллы на движке Monogatari

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

Примеры кода

Harlowe

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


Snowman

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

SugarCube

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

Ссылки

Обучающие материалы

См. также

Полезные ссылки