RSS
[>] Мысли про возможность подружить Twine и INSTEAD
std.tech
be_nt_all(syscall,46) — All
2019-02-25 14:50:20


Сильно подробно писать, что такое Twine не буду (лучше таки допишу техчасть в https://ru.wikipedia.org/wiki/Twine — пока отложил, стараяь следовать принципу Википедии «лучше сослаться на вторичный источник (книга, статья в журнале), чем на первичный (документация)» и подбор этих самых вторичных источников — отдельная песня), но в общем — движок книг-игр. На html и JS. Изначально — на основе TiddlyWiki (кто не в курсе что это, легко нагуглить на руссском). У нас больше известен клон AXMA Story Maker. Закрытый и проприетарный — я так понимаю, чтобы не нарушать GPL авторы сего чуда повторили функционал Twine 1, используя те же «запчасти», вроде TiddlyWiki, лицензированные под BSD/MIT. Про аксму больше не буду, так как проприетарный клон свободного софта — «это некрасиво и невкусно». И да, основное преимущество твайна/аксмы — представление игры в наглядном виде — связанные стрелками переходами прямоугольники-комнаты.

Помню я был какой-то похожий редактор, генерящий (в том числе) код для [IN]STEAD 2. Но Instead — он не только (и не столько) для книг игр. Он вообще для много чего, но изначально (как не раз писал и говорил Пётр Косых) — для механики а ля Goblins Quest. И таких игр для INSTEAD всё ещё (кажется) больше всего.

Я тут прикинул, можно ли дописать один из викидвижков Twine (а в Twine-2 их на выбор три штуки) с тем, чтобы реализовать такую механику, не сломав этот самый дизайнер с квадратиками и стрелочками. Получается, что вполне.

Хотя если это сделать на базе низкоуровневого (по отношению к JS и HTML) Twine-Snowman, или сохраняющем архитектуру TiddlyWiki Twine-SugarCube, для мира Instead это не даст ни-че-го. JavaScript на Lua не переводится, и Instead игру ты так не сгенеришь. Хотя в качестве Proof of Concept можно начать с этого.

Ну а куда после такого PoC двигаться дальше? Но ведь где три фреймворка, там можно создать и четвёртый. Берём Lua in browser (можно https://daurnimator.github.io/lua.vm.js/lua.vm.js.html — но путь без emscripten в виде https://fengari.io/ мне видится куда изящней), держим в голове STEAD 3 и сочиняем такой «язык разметки игр и историй», который бы экспортировался в исходный код игры для Instead 3 максимально естественно.

Я думаю, такая штука, если получится, живя рядом с Instead, в довольно «раскрученном» сообществе Twine, да и просто в качестве визуального редактора инстед-игр для непрограммистов, на популяризацию Instead сыграть вполне может. А вы как думаете, стоит в эту сторону копать?

[>] Re: Мысли про возможность подружить Twine и INSTEAD
std.tech
be_nt_all(syscall,46) — Kerbal
2019-02-28 16:28:31


А ещё есть представление программы в виде паззла. Scratch/App Inventor/Blockly. Тоже (сейчас) всё на JS/HTML5 (хотя первый скрэтч был на смолтоке). И кстати прикручивание Blockly для кодирования того, что внутри блока будет альтернативой прикручиванию Lua in Browser в виде φεγγάρι. Блокли-диаграммы можно будет транслировать и в JS, и в Lua. И Блокли, к разработке которого приложили руку люди из MIT и Google выглядит куда основательней и надёжней, чем разработка двух программистов с версией 0.1.4.

/me in thinking…

С Blockly может получится продукт с действительно минимальным уровнем вхождения. Для имеющих какой-никакой опыт программирования — чересчур минимальным, но «Вотъ тебѣ Богъ, а вотъ и порогъ», не в смысле, что совсем уходи, а в смысле, что Instead ждёт новых разработчиков и Twinestead я задумал именно как порог туда.

Второй путь… Ну там в перспективе светит более легковесная альтернатива Instead-em. Хотя в любом случае — не на 100% c sdl-instead совместимая (хотя стремится к совместимости с большинством игр можно)… Тоже, конечно, цель интересная, но от первоначальной цели (понизить порог вхождения, на базе имеющегося twine-сообщества попытаться сформировать какое-никакое англоязычное сообщество instead-писателей) — несколько в стороне.

Так что пока выберу Blockly, а Fengari-Lua отложу на когда-нибудь после (хотя штука очень интересная).

[>] Re: Мысли про возможность подружить Twine и INSTEAD
std.tech
be_nt_all(syscall,46) — be_nt_all
2019-02-28 16:41:34


http://blockly.ru/blockly-html/index.html — вот так с помощью Блокли можно верстать на html, пример программирования собственно логики, если кто никогда скретча/блокли не видел, ну, хотя-бы на заглавной оф. сайта https://developers.google.com/blockly/

Так что внутри текста планирую оставить только что-то вроде
Перед хижиной стоит мой старенький {пикап} Toyota.

[>] Re: Мысли про возможность подружить Twine и INSTEAD
std.tech
be_nt_all(syscall,46) — be_nt_all
2019-02-28 17:33:29


> Ну там в перспективе светит более легковесная альтернатива Instead-em.

Похоже Technix пару лет назад уже написал. https://github.com/instead-hub/instead-js Там, конечно, lua.vm.js — Fengari тогда ещё не было.

Кстати автор и мейнтейнер lua.vm.js, как раз и стал вторым разработчиком Fengari, объявив свой проект устаревшим. Так что заменить lua.vm.js на Fengari там сам Бог велел (я в теме Техникса уже отписался на эту тему).

В общем буду иметь эту штуку в виду но начну с JS и Blockly.

[>] Re: Мысли про возможность подружить Twine и INSTEAD
std.tech
be_nt_all(syscall,46) — Peter
2019-02-28 19:43:42


> Еще есть такая тема, генерить код для мета-парсера.

Есть :). Но пока point-and-click. Прикидываю, какие кубики надо определить для Блокли, чтобы делать комнаты и предметы по твоим «прописям» в документации.

[>] Re: INSTEAD: свободная интерактивная литература
std.club
be_nt_all(syscall,46) — bezzmx
2019-02-16 07:14:23


> Если INSTEAD не борется за внимание, то и внимания не будет.
Ну есть статья Oreolekа на Хабре «Трюки и хаки INSTEAD». 2011 года, т.е. явно устореашая. Можно попробовать сделать что-то похожее про STEAD3, и я, по принципу «хочешь что-то выучить хорошо — начни учи других» могу потихоньку (с расчётом потратить примерно месяц) за это дело взяться.

[>] Re: INSTEAD: свободная интерактивная литература
std.club
be_nt_all(syscall,46) — bezzmx
2019-02-16 07:15:08


> Если INSTEAD не борется за внимание, то и внимания не будет.
Ну есть статья Oreolekа на Хабре «Трюки и хаки INSTEAD». 2011 года, т.е. явно устареашая. Можно попробовать сделать что-то похожее про STEAD3, и я, по принципу «хочешь что-то выучить хорошо — начни учи других» могу потихоньку (с расчётом потратить примерно месяц) за это дело взяться.

[>] Re: INSTEAD: свободная интерактивная литература
std.club
be_nt_all(syscall,46) — Peter
2019-02-16 12:50:26


За видеоуроками не ко мне — я их и смотреть то не очень могу. Обычно написанными словами, ну — максимум, с картинками, всё гораздо лучше понимается. По крайней мере для меня. Я, конечно, не показатель, я и к кино куда придирчивей, чем к книгам… Но у меня есть страшное подозрение, что к движку преимущественно текстовых игрушек тянутся таки не совсем чистые «визуалы».