Это продолжение поста «Литература в компьютерную эпоху». Можно сказать, логическое продолжение, поскольку одной из претензий к нему было: «Допустим, вы правы, и художественные тексты могут потребовать адаптации и вариативности, хотя бабушка надвое сказала… Однако хотелось бы взглянуть».
Теперь можно взглянуть. Знакомьтесь: предназначенный для представления художественных текстов формат jum. Позволяет работать с различными версиями текста, обладает начатками интерактивности. Любительская поделка, не претендующая ни на что, за исключением толики читательского внимания.
Кто не помнит или не читал, в родительском посте речь шла об:
а) адаптированности и
б) вариативности художественных текстов.
При попытке написать код понятие адаптированности пришлось уточнить: выяснилось, что адаптированность сводится к сокращениям текста, что можно использовать для других нужд. Поэтому вместо адаптированности возникла краткость – объем сокращений, регулируемый, как изначально предполагалось, ползунком.
Вариативность также претерпела изменение, превратившись в две самостоятельных возможности:
1) собственно вариативность,
2) интерактивность.
Вариативность – наличие нескольких вариантов. Поскольку она также регулируется ползунком, напрашиваются варианты по степени изменения какого-либо качества, например: предназначенные для читателей разных возрастов или градуированные по мрачности описаний, от радужных надежд к черной мизантропии. Пригоден любой критерий, который можно расположить в порядке убывания-возрастания. Варианты можно не связывать с убыванием-возрастанием, но в таком случае становится неоправданным наличие ползунка со шкалой.
Интерактивность (спасибо читателям начального поста за подсказки и полезные ссылки) – возможность выбора варианта посредством ответа на вопрос. Соответственно, интерактивность регулируется не ползунком, а диалогом, вследствие чего имеет иерархическую структуру.
Вот интерфейс домученной мной программки «Jum-Reader», с двумя ползунками (краткость и вариативность) и возможностью ответить на поставленный вопрос (интерактивность):
Скачать «Jum-Reader» можно здесь. К нему (в папке «Examples») прилагаются два файла – единственные в данном формате на сегодняшний день. Не исключено, они останутся единственными и на день Страшного Суда.
Как видно из скриншота, наиболее подходящим для демонстрации мне показалось небезызвестное народное произведение «Колобок». В первом файле реализованы краткость и вариативность. Поскольку в классика никакой вариативности не знает, пришлось досочинить сказку на современный лад. Стоит заметить, что сокращение классического текста пошло «Колобку» на пользу: по моему мнению, полный вариант безнадежно затянут, тогда как сокращенный – то, что доктор прописал. Лаконичная форма данного произведения более соответствует минимализму ее смыслового содержания. Во втором файле к краткости и вариативности добавлена интерактивность (для чего пришлось прибавить нетрадиционные концовки с гибелью Колобка еще до того, как он добрался до Лисы). Тем самым продемонстрированы полные возможности формата.
Теперь о нем самом, то есть формате jum.
Его реализация заурядна (требовать от меня как программиста чего-то большего попросту бессмысленно). За основу взят текстовый формат (txt) в Юникоде, в текст добавлены теги. При изменении положения ползунка, отвечающего за краткость, удаляется текст, относящийся к положениям меньше текущего. При изменении положения ползунка, отвечающего за вариативность, удаляются все варианты, кроме текущего. Число уровней краткости и вариативности (то есть количество делений ползунка) записывается в файле в виде параметра. Интерактивность реализована по принципу вложенных друг в друга скобок (для вывода на экран система считывает текст на текущем уровне иерархии). Плюс стандартное текстовое форматирование.
Вот образчик кода с интерактивностью, использовавшийся при тестировании продукта (теги краткости, вариативности и форматирования в данном примере отсутствуют):
Полное описание формата jum находится в «Справке» программы.
Собственно, это все. И, пожалуйста, не спрашивайте: имеется читалка «Jum-Reader», где в таком случае инструмент по созданию текстов «Jum-Writer»? Я в курсе проблемы, однако не уверен, стоит ли к ней подступаться до того, как прояснится мера читательского интереса к формату jum. Когда названная мера прояснится, вопрос, вероятно, отпадет сам собой.
Комментарии (15)
DeXPeriX
13.04.2015 15:53+1В комментариях к вашему предыдущему посту уже писали про визуальные новеллы. От себя добавлю текстовые квесты (например, хорош интерпритатор Instead). Таким образом бьются Ваши тезисы «вариативность» и «интерактивность».
Остаётся непокрытой только краткость, хотя при желании в новелле или квесте её тоже можно сделать. Но нужно ли? Если я школьник, мне нужна Ромео и Джульетта в 3 страницах, то я просто качаю и читаю вариант на 3 страницы. Если мне интересно насладиться творчеством Шекспира — то беру полный. И, мне кажется, вероятность переключения между этими вариантами в процессе чтения не очень велика.mikejum Автор
13.04.2015 16:07Вероятно, в Ваших словах есть резон. Не берусь судить, поскольку с текстовыми квестами практически не знаком. Собственно, в данном вопросе на что-то особое и не претендую.
Да, о Шекспире. Имей он возможность воспользоваться интерактивным форматом, не исключено, что-то из этого и выжал бы. И «Ромео с Джульеттой», сокращенные самим автором, выглядели бы предпочтительней, чем обрезанные неизвестно кем. Это я не в порядке самооправдания — так, к слову.
DeXPeriX
Если хотите создать новый хороший формат, то почему не улучшили какой-нибудь существующий? Например, в русскоязычном сегменте популярен FB2, который в свою очередь похож на HTML/XML.
mikejum Автор
Да, я имею некоторое (поверхностное) представление о fb2. Но такая мысль мне в голову не пришла. К тому же хотелось свои силы попробовать.
k12th
Ничего не имею против FB2, но почему тогда не EPUB, который и вовсе является HTML (+ манифест).
DeXPeriX
FB2, EPUB — не вижу глобальной разницы. Главное, это проверенные годами форматы с нужным функционалом, базируются на полноценном HTML. А не свой велосипед…
k12th
Я так понимаю, что ни одну FB2 вы текстовым редактором не открывали?:)
DeXPeriX
Открывал. XML, как XML. Да, много своих доп. тэгов, типа «empty-line», «title-info» и т.д. Но основная разметка текста похожа на HTML. Те же ссылки через тэг «a», параграфы — «p». Об оформлении текста типа i, b, emphasis вообще молчу.
k12th
fictionbook.org/index.php/XML_%D1%81%D1%85%D0%B5%D0%BC%D0%B0_FictionBook2.2
DeXPeriX
Ок, ок, убедили. FB2 — подмножество XML и, строго говоря, оно не HTML. А названия тэгов — просто похожи, а не те же самые. Но поменяло ли это что-нибудь в контексте создания своего велосипеда, вместо улучшения уже существующего?
k12th
Да.
На EPUB все то же самое можно сделать существующими средствами, не вводя новых тэгов. И поддерживать это будут любые мало-мальски приличные читалки.
DeXPeriX
Ага, спасибо. Так бы сразу и сказали, что epub поддерживает интерактивность. Из коробки. И поддерживается всеми читалками. Тогда автору топика сразу прямой конкурент, который уже имеет своё место под солнцем.
mikejum Автор
К слову, вот этого момента не понимаю. На fb2 реализовано большое количество читалок. А возможности, которые заложены в мой формат, требуют некоторых специальных элементов интерфейса. Как быть-то? Не понимаю.
DeXPeriX
По факту у Вас всё-равно получается новый формат, и он требует элементов интерфейса. А в текст просто ввести свои дополнительные теги. Т.е. изначально формат будет читать только Ваша читалка. Авторам остальных читалок нужно будет запрограммировать только разницу в форматах…
mikejum Автор
Да, можно было так, согласен. Не сообразил.