Интервью: Антон Жучков

Антон «Fireton» Жучков — автор платформы FireURQ и редактора QSpell. Основатель и админ IFWiki. Писал игры на RInform, RTADS, URQ, FireURQ и QSP. Перевёл Twine 2 на русский.
Это первое интервью Антона, не считая блиц-интервью «Вопрос дня-2» c Сергеем Скибой.

Первый вопрос: почему именно Fireton?
Это длинная, старая очень история. Была игрушка такая: «F-117 Stealth Fighter». У играющих были ники типа „Bob «Thunderbolt» Smith“, у меня — „Anton «Fireball» Zhuchkov”, потом сократился до «Ton Fireball», позже — «Fireton». Вот и всё.
И как потом попал в ифню?
Тоже было достаточно давно. Ещё в две тысячи втором году наткнулся на текстовые игры. Я искал что-то похожее на ADOM, рогалики всякие. И попал на сайт «тяпляп». Перевёл какую-то статью, по-моему, в 2003 году, она до сих пор на сайте висит. А через какое-то время уже стал участвовать в жизни, написал игрушку в 2007м первую, и уже пошло-поехало. Потом в 2009м сделал фурку и всё остальное.

С согласия Антона публикуется необработанная аудиоверсия интервью (30 Мб):

Недавно вышла FireURQ 2.1. На багтрекере написано, что до выпуска 2.2 осталось разгрести 30% багов. Это действительно будет финальная версия FireURQ?
Честно говоря, я думаю что фурка достигла завершённости. Из неё многого больше не выжать, и мне кажется, что фурка себя исчерпала. Может, уже доделать, чтобы можно было выпустить какую-то игру в Стим или куда-нибудь — и можно уже двигаться дальше, либо писать новую платформу. Или игры какие-то писать, сколько можно уже.

А куда FireURQ можно двигать дальше?
Да никуда не двигать. Фурка предназначена для написания игр под Windows и больше ни под что. У неё масса недостатков и, грубо говоря, они слишком глубоко заложены в архитектуре. Теперь либо её полностью переписать, total conversion1, полностью сделать кросс-платформенную какую-нибудь…

Самый большой недостаток в фурке — это сама урка, потому что язык URQ с точки зрения программиста ужасен. Не структурирован, нет блоков кода и много чего. Но если переделать на какой-то другой язык, взять Lua или что, это уже будет не фурка, не URQ совсем.

1: полная переработка (англ.)

Какими были самые странные хотелки от авторов на URQ?
Для меня было очень странным проигрывание GIF-ок, честно говоря. А так, в принципе, любая хотелка — это попытка написать игру, когда вдруг такой фичи не оказалось. Одного приятеля покоробила невозможность отформатировать текст по ширине. В фурке этого нет и вряд ли появится, но почему-то ему это было важно. Помню, на ранних этапах все тоже требовали форматирование разного текста, обтекание картинок. Теперь оно им почему-то не нужно и считается, что эта фича похоронена. Каких-то особо странных фич никто не просил. Обычно просят, когда конкретную игру разрабатывают.

На самом деле большой и фундаментальной фичей, которую я добавил лично сам, были декораторы. Хотелось дать возможность оформлять, а сейчас это превратилось, по сути, в главное средство построения интерфейсов для сложных игрушек.

Почему у QSP уже так давно был свой редактор квестов QSpell от Fireton'а, а у URQ его до сих пор нет.
У QSP не было редактора от Fireton'а. Мы писали игру «Сюрприз» с приятелем. Она не очень хорошая игра, так скажем. Я, как программист, привык к подсветке синтаксиса, лёгким переходам по локациям, а такого редактора не было. Я уже не помню почему мы стали писать на QSP. И я начал писать редактор QSpell, он, собственно, даже в каком-то виде работает, он очень простой и не очень закончен. Там даже нет поиска. Так что не говорите, что у QSP есть редактор от меня, им никто не пользуется.

А что будет в новом редакторе URQ?
Какое-то время назад мне было любопытно, я в качестве упражнения написал подсветку синтаксиса. У урки очень необычный синтаксис, например, строки не всегда обозначены кавычками. Этот синтаксис у меня где-то валялся в виде модуля, а потом я думаю: почему бы не сделать редактор? Посмотрел на незаконченный URQEdit и подумал, что надо. Там каких-то особых фич тоже не будет. Я думал сделать подсветку синтаксиса, хождение по локациям, возможно, подсказки операторов — ничего сложного.

Как вообще сочетаются ифня, работа, семья?
Ну, ифня — это же просто хобби, правда? На хобби выделяешь какое-то время. Обычно делается просто для души, чтобы не закиснуть в круговороте ежедневных рутинных дел. Да, есть работа, есть семья, у меня трое детей. Не всегда просто найти время для хобби. Когда получается выкроить, из этого что-то приходится на фурку, что-то на другие поделки, что-то — на игры. Просто хобби.

В каком направлении хочется толкать IFWiki?
Честно говоря, толкать особо не хочется. Хочется, чтобы она не упала. Пускай она будет, она хорошая. Там очень много усилий вложено, и главным образом [усилий] сообщества. Есть масса людей, которые наполняют. Я не считаю что это я всё сделал, конечно же. Просто у меня хостинг, я держу вики-движок, а наполняет его, естественно, сообщество.

Давай тогда обсудим про игры. У нас сейчас возрождение парсеров, особенно RTADS. Нам стоит ждать третьего «Кащея»?
Ты знаешь, странная вещь с третьим «Кащеем»: у меня всё расписано, но что-то я его закодить не могу. Сажусь — и что-то не получается. Надо просто собраться, наверное, и сделать. Несмотря на то, что уже есть все заготовки, расписаны паззлы, почему-то нет энтузиазма достаточного. Есть энтузиазм делать, например, редактор или допиливать фурку, а вот на Кащея что-то как-то…

Вообще, я очень рад, честно говоря, возрождению парсеров, если можно это так назвать. И тем играм, которые были выпущены в рамках «Паровозика», они очень порадовали.

Не только в рамках Паровозика, были же ещё на КРИЛе.
Я этот КРИЛ пропустил, не играл почти ни во что.

Кто-то считает парсеры — настоящей интерактивной литературой. Такая форма произведений мне очень нравится. Хотелось бы побольше русских парсеров. Не переводов даже, а новых.

А что насчёт ТОМ?
У ТОМ, я считаю, очень большой потенциал, если автор допилит стандартную библиотеку. На самом деле в парсерах это самое главное. Механизм разбора, грубо говоря, собственно парсинг — это дело десятое. У него он сделан тоже очень хорошо, но самое главное — это стандартная библиотека. То, что работает само по себе, что любой предмет можно взять или, предположим, понюхать, потрогать, пощупать, кинуть, бросить, ударить. Стандартные ответы.

Сейчас она достаточно куцая и недоработана. И вот, собственно, львиная доля работы над парсером. Вот у того же Информа алгоритм обработки строк очень простой, но если бы там не было стандартной библиотеки или если бы она была куцей, писать было бы невозможно. Неприятно получать ответ «я тебя не понимаю», это — основная проблема всех парсеров. Если автор ленивый и не прописал какие-то ответы, реакции в мире игры — это одно, но когда игра даже на простейшие вещи изображает полное непонимание, это совсем грустно становится. А это как раз и есть стандартная библиотека.

Год назад у тебя был парсер — фанфик по Асприну. Как пришла идея?
Блин, я бы не сказал что это — фанфик по Асприну. Само собой получилось так.

Ты знаешь, просто нужно было какую-то маленькую игру на Паровоз написать. Я почему-то подумал, что хорошо бы парсер попробовать, вспомнить всё это. Смогу ли я вообще за день написать игру, опять же? Потому что первого «Кащея» я писал несколько дней, и второго тоже за пару дней. Если взяться, ты можешь очень быстро писать игрушки. Но тут я хотел проверить себя, было любопытно: смогу ли я за день написать маленькую игрушку, чтобы оно было играбельно. Ну, и написал.

Идея пришла сама по себе: мне хотелось сделать однокомнатку, в которой нужно решить простую задачу. Придумал такую задачу. Асприн как-то сам собой прицепился, когда я стал думать над этим: вот ученик, вот — волшебник. Вспомнил «Ещё один великолепный МИФ». Решил, что пусть это будет ученик Гаркина. Тем более, что Гаркина в самой книжке-то и не было, его там убивают на первой странице, по-моему.

Продолжаем про рубины. Как представляешь себе главного героя «Подземелья сокровищ»?
Индиана Джонс. Археолог, охотник за редкостями и сокровищами. Перед тем, как я писал эти «Подземелья», мы с дочками пересмотрели всего «Индиану Джонса». У меня давно была эта идея, на самом деле, про то, как герой находит сокровища, но потом ему приходится всё выкинуть, чтобы спастись. Такой персонаж и есть.

Но который всё равно оставляет самое ценное в пещере.
Ну, ты же не знаешь, что он там должен был достать? Игра, конечно, чуть-чуть подсказывает.

Статуя же принадлежит музею.
Принадлежит, да… Нет, ну понимаешь какое дело. Может быть, он потом вернулся, похитил, сумел вытащить… Если подумать, спустить сверху верёвку, привязать… (смеётся)

Почему в игре-то нельзя?
А в игре потому что время кончилось. У меня уже больше сил не было. Я дописывал до самой ночи, чтобы успеть. Неделя на следующий день не кончалась, но я на следующий день уезжал, мне нужно было просто закончить. Я уже часа в три закончил, по-моему.



Какой больше всего нравится из движков?
Inkle, например, очень нравится. От авторов «80 дней». Там очень хорошо сделано. Мне вообще очень нравится идея движка для людей, которые не программисты, потому что чаще всего так и бывает — что программист хороший текст не пишет, а не-программист не умеет программировать. Когда пишут хороший текст, программировать не особо умеют.

Мне очень нравится седьмой Inform, потому что там ты описываешь игру практически на естественном языке, и это очень круто. У меня была даже мысль сделать платформу для менюшных игр именно такого рода, что ты на естественном языке описываешь всё, но у меня не получится, потому что скиллов не хватает. Кроме того, естественный язык, конечно, сильно ограничивает в описаниях [логики игры].

Что касается Inkle, там действительно очень здорово. С одной стороны, он такой очень непрограммистский. Описания фраз для диалога, возможностей выбора. На нём диалог удобно писать. С одной стороны, очень удобное описание, с другой — он дико гибкий. Там можно очень сложные вещи реализовывать. В плане истории и того, как игра реагирует на действия игрока. Это язык именно для построения истории, там нет каких-то оформительских штук. Предполагается, что ты будешь делать…

Предполагается, что это язык, к которому ты пишешь движок на Unity.
Да, который встраивается куда-то. У них есть специальная библиотечка для встройки в Unity, у них есть экспорт в Javascript и ты вокруг этого уже должен сам накрутить красивое оформление. Собственно, это так и должно быть, потому что оформление пускай делает оформитель. Программисты уже будут делать вокруг реализацию интерфейса.

Там придумываешь свои теги, свою разметку и её делаешь.
Именно так. И мне нравится как это сделано. Мне нравится очень большая гибкость.

Если говорить о движках. Ну, из парсерных — понятное дело, Inform 7, до него не дотянуться. Но, к сожалению, русифицировать его тоже практически невозможно. Хотя я несколько раз подкатывал, пытался понять как это возможно, как-то немцы сумели всё-таки. Но немцы к английскому языку всё же ближе, чем русские. Это было давно, ещё в 2006 году по-моему.

К Twine не хочешь вернуться?
Мне Twine не нравится просто. Не нравится идея, когда выводится текст, в нём какие-то ссылки, а чтобы сделать другой выбор, надо пролистать куда-то наверх. Может быть, это просто недостаток тех игр, в которые я на Твайне играл, но реализация мне не нравится.

Либо у тебя консоль и выводится текст, потом делаешь каким-то образом выбор, кнопки выводятся или ещё что — и продвигаешься дальше, либо делать текст так, чтобы он весь на экране помещался. Twine какой-то страшноватый, неудобный.

А тот же LOVE?
LOVE это же универсальный, там же нет чего-то для разработки именно текстовых игр. У меня была идея сделать какой-то некий фреймворк на Lua под LOVE, чтобы можно было как-то проще писать текстовые игры. Удобный вывод текста, какая-то обёртка, чтобы проще можно было строить историю, какие-то возможности для вариантов выбора. Менюшный, чтобы менюшные игрушки писать. Можно сделать какую-то обёртку, библиотечку. Хорошая идея, я считаю. Может, я ещё к ней вернусь.

Сейчас ты взял на себя исполинскую задачу обозреть каждую игру на «Паровозике». Паровозик уже на девятой неделе. Энтузиазм ещё есть? Какие впечатления?
Обязательство есть обязательство. Какой уж тут энтузиазм? Я уж взялся. Дело чести. Надо обозреть, обзирать все эти игры. Это не исполинская задача, потому что игрушки-то не исполинские. Моя задача ровно в том, чтобы пройти каждую игру, только и всего. Или, по крайней мере, поиграть в неё достаточно долго, чтобы можно было написать обзор. А сам обзор — это просто. Одна-две странички текста. (вздыхает) Просто мои впечатления.

А кроме игр «Паровозика» не будешь?
Надо делать больше обзоров. Я думаю, да. Буду писать обзоры на другие игрушки, конечно. Обзоры — это хорошо.

Играешь в ифню, кроме Паровозика?
Конечно, играю время от времени. Находит иногда, хочется какой-нибудь ифни. Подойдёшь, выбираешь. Или когда интересный автор выпускает игру. Или просто есть игра, в которую кто-то поиграл и сказал «о, клёво». Идёшь, играешь. Как обычно, в общем. У меня нет цели переиграть во все игры, но почему бы и нет?

А какие запомнились?
Вот я в Инстедоз играл. Первая игра Инстедоза про фотку. Я, кстати, хотел делать обзор на весь Инстедоз, но что-то как-то и не собрался. Там очень хорошие игрушки, очень советую тем, кто будет читать. Советую поиграть в Инстедоз.

Как тебе тренд с мобильной ифнёй? На мобильниках, на планшетах.
Это тоже хорошая идея, и мне хочется, чтобы фурка могла бы это делать, но не умею. Я на планшетах пробовал играть в QSP-шные игрушки, которые выпускает Nex, пробовал в мобильный INSTEAD играть и пробовал играть в игры специально для мобилок. Игрушки должны быть написаны специально для мобильных, как, например, та же Sorcery, или игра Lifeline про космонавта, который попал в аварию. Прямой порт выглядит обычно ужасно. Lifeline — отличная игрушка, я её прошёл с большим удовольствием. Если сделано правильно и сделано хорошо, то за этим большое будущее. И даже деньги. Потому что тот же Lifeline, я думаю, заработал немало. Как и Sorcery.

Как ты относишься, когда на вики появляются игры с мобилок или книги-игры?
Ну, если они на вики появляются, это же хорошо, это же ифня, правильно? Если она — интерактивная литература, то да. Если это внки какие-то — я не особо приветствую внки на вики. Другой жанр немножко, ближе к интерактивному видео, рассказу какому-то. А так не могу не приветствовать.

Хочешь чтобы тебя узнавали на улице?
Нет, спасибо, не хочу. (смеётся) Зачем?

Что-нибудь пожелаешь читателям, фанатам напоследок?
Пишите игры. Играйте в игры. Движуха создаётся ровно из пишущих и играющих, правильно? Ну, и из обсуждающих. Пишите игры.

8 комментариев

ASBer
Ну с библиотекой как получается — начинаю наполнять, и почти сразу натыкаюсь на неспособность парсера понять что-либо важное. Модифицирую парсер, — оказывается вся введенная ранее библиотека устарела, нужно переписывать её под обновлённый парсер.
Начинаю наполнять…

В этом цикле я живу последние 3 года, это точно.
Комментарий отредактирован: 7 июня 2017, 10:30
fireton
Сдаётся мне, ты просто замахиваешься сразу на много. Надо понемногу дорабатывать, Выделить набор глаголов и моделей минимальный. Так чтоб простые игры писать можно было.
ASBer
Да, у меня есть представление о минимально допустимом качестве, ниже которого опускаться не стоит, но тут причина не в том, что это представление завышено, а скорее в самой непредсказуемости русского языка.
Как только начинаешь думать что всё предусмотрел, обязательно наткнёшься на слово или фразу, ломающую всю систему)))
fireton
Ну, просто не надо задаваться целью, чтобы парсер понимал «вообще всё». Любая система команд содержит условности.
Enola
Спойлер
Мне Twine не нравится просто. Не нравится идея, когда выводится текст, в нём какие-то ссылки, а чтобы сделать другой выбор, надо пролистать куда-то наверх. Может быть, это просто недостаток тех игр, в которые я на Твайне играл, но реализация мне не нравится.

Либо у тебя консоль и выводится текст, потом делаешь каким-то образом выбор, кнопки выводятся или ещё что — и продвигаешься дальше, либо делать текст так, чтобы он весь на экране помещался. Twine какой-то страшноватый, неудобный.


Твайн здесь не причём. Это вина авторов, не умеющих организовать интерфейс игр и пишущих огромные куски текста, и в итоге скроллинг получается. Такое можно и в фурке сделать. Поэтому претензии надуманны.
Комментарий отредактирован: 8 июня 2017, 01:51 (2 раза)
Oreolek
Кстати, интересная тема. FireURQ и INSTEAD тоже любят перчить текст гиперссылками, но Twine по умолчанию выдаёт автору простоооорное поле для текста. Пол-экрана в окне 640x480 — это совсем не пол-экрана на 1920x1080.
Enola
В твайне за счёт css гораздо проще сделать «резиновый» интерфейс, подходящий для любого разрешения, чем в фурке или инстеде. Другая проблема, что для этого нужно разбираться во многих технических нюансах, а авторы платформ обычно ленятся писать подробную документацию, которая была бы понятна не только программистам их уровня, но и простым смертным. Как раз в ней можно было бы и написать пару готовых рецептов для различных ситуаций. А то выискивать на форумах среди сотен сообщений двухлетней давности, нужную пошаговую инструкцию, для новичков удовольствие весьма сомнительное.
Oreolek
Справедливости ради, даже краткий учебник CSS — это уже за рамками обычной документации по движку. Редактировать — можно. А как — учите CSS и думайте сами, потому что задизайнить можно что угодно, хоть 3D.