Студия Moonworks:

Всем доброго вечера. Сегодня на ваши вопросы отвечает Lolbot (lolbot_iichan@mail.ru) - кодер на RenPy, генератор идей и одна их наиболее известных фигур российских имiджборд.

Q: Лолбот? А почему, собственно, лолбот?
A: Изначально - в честь одноимённого, лол, бота для автоматического постинга на различные имиджборды, написанного мной на коленке в 2008 году. А потом просто слово понравилось, лол [http://www.urbandictionary.com/define.php?term=Lolbot ].

Q: Как до борд докатился?
A: Лет 10 назад набрёл на несколько тематических досок из конгломерата iichan/wakachan, которые оказались крайне релевантны моим интересам. Когда узнал об открытии русской борды, обрадовался, но когда Двач превратился в то, из-за чего его пришлось закрыть навсегда, с ещё большей радостью перебрался на iichan.ru ( ныне - http://iichan.hk ), где обитаю и по сей день.

Q: Расскажите о вашей причастности к программированию. Это является вашим хобби или работой? В каком направлении вы развиваетесь?
Q: Интересна ли вам ваша работа? Что подталкивало вас к работе?
A: И то, и другое. Работаю я серверным разработчиком на С/С++, поэтому для разнообразия я выбрал прикладную разработку на Python в качестве хобби. Интересно было попробовать на досуге делать что-то, у чего есть интерфейс и живые трёхмерные пользователи. Развиваюсь в сторону ведущего разработчика, но для этого ещё много предстоит.

Q: Любимый инструмент/язык, если таковой имеется?
Q: Какой язык программирования вам больше нравится, и почему?
A: Для хобби-проектов - однозначно, Python. Нравится одновременная компактность и читаемость записи на нём, не говоря уж о тех самых "батарейках", за которые его и любят. Всё это имеет побочный эффект, отлично описанный в статье [ http://lukeplant.me.uk/blog/posts/why-learning-haskel.. ], но что поделать...

Q: Был ли опыт разработки игр до БЛ?
A: На университетских компьютерах в машинном зале младших курсов было запрещено гамать в игры кроме самостоятельно написанных, так что приходилось.

Q: Как в проект попали вообще?
A: Ычаньки затеяли эроге, да ещё и с маскотами. И то и другое было релевантно моим интересам, так что я просто не мог пройти мимо. А потом подружился с этими людьми и втянулись периодически запиливать всякое, вместе и не очень.

Q: Кто твоя вайфу?
A: Тот самый классический образ путеводной кошкодевочки из новогоднего рассказа 2007 года. Чуть игривая, уязвимая, наивная, но самостоятельная, добрая и рассудительная ЮВАО-тян [http://uvaotanstory.narod.ru/].

Q: Как здоровье?
A: Спасибо, хорошо. После операции прошло уже около 2 месяцев, я уже почти полностью восстановился. Планирую в ближайшее время таки закрыть больничный и наконец-то вернуться к привычной офисной работе под кондиционером.

Q: Какие языки знаешь?
A: Русский, английский. Одно время немножко учил японский, но уже всё позабыл.

Q: Делаешь что-либо на заказ за деньги?
A: Я стараюсь разделять хобби и коммерцию.

Q: Как относитесь к ВН? Проходили ли вы другие?
A: Хороший жанр для тех, у кого есть много свободного времени. Впервые столкнулся с жанром в младшей школе, обнаружив что-то хентайное про необитаемый остров в скрытой папке одного из первых Classic Fond'ов. Заново интерес к жанру лет через 10 подстягнул X Change, а потом пошло-поехало. В общем, из классики жанра рекомендую True Love, а из любительских игр на Рен-Пи - "Podzim" [http://renai.us/game/autumn.shtml ].

Q: Считаете ли вы свою работу не менее творческой, чем работу других членов команды?
A: Хороший и сложный вопрос. В "Травнице" соотношение задач для code monkey и нормального development'а примерно один к одному, и я иногда вою волком от того, что вынужден сочетать обе роли. С другой стороны, я не умею рисовать и не писал связной прозы уже много лет - у меня просто нет способа творчески самовыражаться кроме как через разработку. Да и уверен, у тех же художников тоже должно хватать рутины.

Q: На какой язык программирования похож renpy?
A: Рен-Пи - движок с высокоуровневым языком с pythonic отступами, использующий Python-вставки.

Q: Почему ты выбрал для новеллы именно Ren'Py? Сейчас (да и раньше) были другие движки.
A: Если речь про Ычан Эроге, то Рен-Пи предложил »195504-кун через 25 минут от предложения запилить игру. Ещё через 25 минут у кого-то получилось запилить тестовую игру, после чего в простоте и пригодности движка к использованию уже никто не сомневался. Если речь про Травницу, то мне давно хотелось сделать простенькую VN с инвентарём, а изначальный дизайн-документ Травницы именно её и напоминал. 

Q: С чего вы начинали? Много ли нужно времени для того чтобы научится работать на движке RenPy?
A: Как и большинство разработчиков под Рен-Пи я начинал с "The Question" [http://games.renpy.org/game/question ], идущей в комплекте с движком мини-VN, демонстрирующей все базовые возможности. Чтобы понять основные идеи и научиться делать что-то такого уровня вполне хватит одного-двух дней.

Q: Что можете посоветовать начинающему мододелу в написании кода?
A: Для начала - поиграть в другие моды и игры, подсматривая в коде, как в них реализованы те или иные фичи. В процессе выплывут другие непонятные и проблемные места, список которых будет сильно зависить от того, как выглядит ваша игра мечты.

Q: Где можно получить более подробную документацию о движке на русском языке? Для более серьёзного кодинга уроков не хватает.
A: Едва ли могу посоветовать что-то лучше родной документации [ http://www.renpy.org/wiki/renpy/rus ], потому как сам смотрю либо в английскую доку, либо вообще в исходный код движка. Если есть вопросы по более серьёзному кодингу я стараюсь помогать с ними в треде Кружка Кибернетики [http://iichan.hk/vn/res/52064.html ].

Q: Какие моменты в ваших проектах было реализовать сложнее всего? Приходилось ли отказываться от каких-то интересных идей из-за сложностей в исполнении или из-за технических недостатков RenPy?
A: В демке 2010 так сильно лагало видео на некоторых машинах, что пришлось сделать его отключаемым из внешнего конфигуратора. 

Q: Каких вещей чаще всего не хватало в RenPy?
A: Как правило, для всего необходимого либо находился способ, либо оно упиралось в баг, который рано или поздно чинился. Самый наболевший баг - превращение полупрозрачных цветов в серые при зуме, он всплывал в разное время в разных контекстах [ http://lemmasoft.renai.us/forums/viewtopic.php?f=8.. ].

Q: Освоили ли вы в полной мере Renpy? Или же есть то, что даже вы не можете что-то сделать?
A: Я смогу сказать, что в полной мере осознал Рен-Пи только когда смогу запустить полностью функциональный интерпретатор Рен-Пи внутри Рен-Пи. Первые шаги уже сделаны, ждать осталось недолго... 

Q: При разработке игры типа бесконечного лета на готовом питоновском движке возникают какие то сложные или интересные для решения с точки зрения программиста проблемы, или renpy справляется со своей задаче на отлично?
A: Рен-Пи - довольно зрелый движок, покрывающий все базовые потребности VN-разработчика. Так что последнее время сложные и интересные задачи я ищу в недокументированных фичах и в использовании движка не по назначению, как при разработке decompile.rpy [ https://github.com/lolbot-iichan/decompile.rpy ] и iiOS [ http://lemmasoft.renai.us/forums/viewtopic.php?f=45.. ].

Q: Как вы познакомились с БЛ? 
A: Примерно так:
-Знаєш як наш сценарист "Ичан Эрогє" називає? 
-Як?
-"Бесконечное Лето"
-Повбывав бы...

Q: Как часто возникала путаница с адресацией по блокам, существовала какая-то схема или все держалось в голове?
A: Этот вопрос лучше задать Dreamtale, "новому" сценаристу Ычан Эроге.

Q: Откуда возникла идея карточной мини-игры?
A: Карточную игру придумал наш "старый" сценарист abcb. Он написал на неё подробное техническое задание, по которому она и была реализована.

Q: Будут ли исправлены комбинации в карточной игре? Чтобы к примеру стрит засчитывался.
A: Тут уж всё зависит от того, захочет ли Soviet Games этим заниматься. В тексте сценария 2010 года была специально подчёркнуто, что это не покер, но просто похожая игра, а её правила были разъяснены.

Q: Планировались ли в БЛ другие мини-игры помимо карточной? Если да, то почему не вошли в релиз.
A: Изначально хотелось сделать ещё по одной мини-игре для каждой девочки. Для рута Ульяны планировалось адаптировать хардкорнейшую игровую приставку 1984 года, Электронику ИМ02 "Ну, погоди!" (быстрый набросок на pygame адаптирован как мод), в руте Лены планировался сбор земляники с механикой aka "Поймай Лолисичку" [ http://cf.ichan.ru/games/logic/lolifoxing/ ], в руте Алисы - какой-нибудь простенький аналог Guitar Hero (быстрый набросок выложен как мод), а в руте Слави - уборка лагерной территории aka "сокобан". Отказались от всего этого, насколько мне помнится, под давлением отзывов о демке Ычан Эроге 2010 года касательно карточной игры.

Q: Все > 40 000 строк кода - сугубо ваша работа, или коллективная?
A: Не понятно, о каких 40к SLOC идёт речь. В "Травнице" намного меньше кода (порядка 3к SLOC). В Ычан Эроге - больше и это в основном диалоги, а не код (в версии 1.1 - более 50к SLOC). В iiOS - порядка 10к SLOC. В моих модах для Ычан Эроге суммарно - около 3к. 

Q: Как насчет озвучки в игре?
A: Она утонула.

Q: Как вы относитесь к тому что БЛ хотят переписать на юнити?
A: Несвободная лицензия CC-BY-NC-SA-4.0, под которой вышло Ычан Эроге, позволяет кому угодно делать с игрой и её фрагментами что угодно, лишь бы не извлекалась коммерческую прибыль, не присваивалось авторство и не менялась лицензия. Каждый, читающий эти строки, имеет полное право портировать БЛ на любой понравившийся ему движок и выпустить адаптированную под него игру, как это делает например хозяин блога http://evsportable.tumblr.com/

Q: Какие впечатления от Unity3d? Устраивает инструментарий?
A: Портированием "Травницы" на Unity3d для издания под мобильные платформы занимается другой участник команды, я же работал с юнити слишком мало, чтобы составить собственное мнение.

Q: Какие преимущества и недостатки у Unity перед RenPy и у RenPy перед Unity для разработки ВН?
A: Рен-Пи НЕ заточен под трёхмерный рендер, НЕ очень годится для time-critical механик, вроде платформеров и шутеров, а также ПЛОХО переносит рендер более чем нескольких сотен кликабельных объектов. С другой стороны, для разработки VN это обычно и не нужно. Главный недостаток - экзотичность движка и узкая специализация.

Q: Заменит ли Unity или UE4 RenPy в качестве наиболее популярного средства создания визуальных новелл в связи с их переходом на бесплатное распространение и лучшую кроссплатформенность?
A: Unity и Unreal Engine ассоциируются у большинства с чем-то большим и сложным, в то время как скрипт для Рен-Пи можно накидать в блокноте и сразу же запустить, получив ноль ошибок компиляции. С появлением поддержки iOS со стороны Рен-Пи, кроссплатформенность у него стала более чем достаточная для большинства. Так что не думаю, что разработчики массово перестанут пользоваться Рен-Пи в угоду профессиональным движкам. Я бы скорее опасался конкуренции не со стороны монстров, умеющих заодно и VN создавать, а со стороны TyranoBuilder, который умеет делать ровно тот минимум, который нужен большинству. 

Q: И что можешь сказать о движке ClickTeam Fusion?
A: Увы, ничего.

Q: Возникало ли желание написать свой движок/аддон Unity?
A: Разные пользователи iichan и им сочувствующие люди в разные годы написали по меньшей мере ВОСЕМЬ (!) разных VN-движков. Я был в числе этих людей, среди прочего написав на Lua движок RenPSP - интерпретатор подмножества rpy-скриптов для работы на PSP, крайней версией занимаюсь не я, разработка велась тут [ https://github.com/weetabix-su/renpsp-dev ]. 
Помимо этого я коммитил фиксы в WebStoryEngine [ http://webstoryengine.org/ ] и даже написал автоматический конвертер из RPY в WSE, результатом работы которого является, например [http://cf.ichan.ru/games/vn/SpeedAddict/www/ ].

Q: Вы в этом треде бывали? https://2ch.hk/es/res/324067.html
A: Бываю :3

Q: Новую игру будете делать?
A: Будем! У нас идей больше чем времени.