Интервью с разработчиком 3D-Coat
Сегодня мы представляем Вашему вниманию интервью с ведущим программистом Андреем Шпагиным, который основал и возглавил кампанию PILGWAY.
Главной разработкой компании стала, полюбившаяся уже многим художникам, программа 3D-Coat, основная идея которой сводится к облегчению создания моделей и их текстурированию за счет возможности рисовать непосредственно на самих объектах. Но на этом разработчики не останавливаются и, постоянно прислушиваясь к желаниям художников, добавляют, в соответствии с ними, все больше и больше новых интересных функциональных возможностей.
О том с чего все начиналось, какими возможностями обладает программа, и какие планы дальнейшего развития строятся в компании PILGWAY мы и поговорили с главным разработчиком Андреем Шпагиным.
RENDER.RU: Добрый день, Андрей! Расскажите немного о себе и о компании Pilgway, которую Вы представляете?
Андрей Шпагин: Около 10 лет я работал в компании GSC Game World, был главным программистом в отделе стратегических игр. В свое время написал движок игры «Казаки» и других стратегий GSC Game World. Круг моих интересов довольно широк - компьютерная графика, вычислительная математика, квантовая физика, христианство.
RENDER.RU: Расскажите с чего все начиналось, как собрали команду, в составе которой в течение нескольких лет успешно продвигаетесь в разработке программы 3D-Coat, почему решение было принято разрабатывать программу именно для создания 3D графики?
Андрей Шпагин: Началось все с кризиса жанра. Когда я работал в GSC Game World то честно говоря все больше хотелось сделать что-то такое, что учит добру, не просто воевать. Хотел написать игру по мотивам книги "Путешествие пилигрима" о путешествии человека из города Разрушения в Небесную страну (отсюда и название кампании - PILGWAY, PILGrim's WAY). Когда спрос на стратегии в GSC Game World начал падать, мы с начальником полюбовно, без конфликта, расстались, я начал собственную разработку при его поддержке - он позволял работать в его офисе без арендной платы. Мы начали разработку игры, но мои личные деньги за год истощились, пришлось приостановить проект. Естественно в процессе разработки стоял вопрос - какую программу использовать для персонажей. Тут случилась курьезная история, которая и привела к появлению на свет 3D-Brush (впоследствии 3D-Coat). Попробовали ZBrush - как лепить понятно, а вот как текстурировать так тогда и не поняли. Благодаря этому "незнанию" решили написать свою программу для этой цели. Рассчитывали, если на игру так и не найдем финансирование, то будем продавать программу и потом вернемся к игре с более солидным финансовым фундаментом. Команда у нас небольшая - программист, программист под OSX (Linux), вебмастер, менеджер по продажам, pr-manager и один человек который занимается мануалом, туториалами и т д. Ну и конечно огромное количество энтузиастов на форме из фичреквестов которых собственно и соткан 3D-Coat.
RENDER.RU: С какими трудностями пришлось столкнуться в начале работы над проектом?
Андрей Шпагин: Вопрос о трудностях - самый трудный. После выпуска программы было несколько крупных скандалов, о которых вспоминать не очень хочется.
RENDER.RU: Вашу разработку многие сравнивают с Zbrush-ем или Mudbox и считают достойным и перспективным их аналогом. Вы и в самом деле ориентировались на данные 3D редакторы?
Андрей Шпагин: Однажды посмотрев на Mudbox (тогда еще в стадии бэта версии) я подумал - такая с виду простая программа - и такая дорогая! В общем, это тоже был толчок в сторону написания 3D-Coat. Конечно, я знаком с обеими программами, есть много общего, от них почерпнул немало вдохновения. Но, пожалуй, клоном ZB или MB 3D-Coat никто не назовет.
RENDER.RU: Учитывая Ваше возмущение относительно дороговизны популярных приложений как Вы рассчитываете вести ценовую политику, когда 3D-Coat достигнет тех же высот и масштабов распространенности, что и данные популярные продукты?
Андрей Шпагин: Я уверен, что 3D-Coat всегда останется недорогой программой, как минимум вдвое дешевле конкурентов. Но, возможно, будет специальная версия для более узкого круга специалистов, которая будет стоить дороже - например, для ювелиров.
RENDER.RU: Чем Вы можете выделить свою программу в плане уникальных разработок или технологий, которые используются в ней?
Андрей Шпагин: Воксельный скульптинг, поддержка CUDA, мультиплатформенность. Одна из самых сложных технологий - комбинация воксельного и поверхностного представления, быстрый переход из одного представления в другое. Технически - это самая сложная часть программы. Также технология per-pixel painting, на мой взгляд, довольно уникальна. Ближе всего к ней - рисование по текстуре в Mudbox. Но в Mudboх нельзя сглаживать (разблуривать) цвет под пером, потому что технически это довольно сложно сделать. В Коате удалось решить эту проблему, потому с появлением версии 3 текстурирование вышло на новый уровень. Возможна заливка цветом или сложными материалами как на видимой так и на задней стороне модели - например, выделить руку и залить ее материалом кожи внутри замкнутого контура. Ну и конечно работа со слоями, хорошая совместимость с фотошопом – пожалуй, самые любимые пользователями особенности программы.
RENDER.RU: Что заставило прибегнуть к добавлению воксельного скульптинга? Полигональное моделирование не позволяет достигнуть всех желаемых результатов? Объясните различия между ними.
Андрей Шпагин: Основная причина обращения к вокселям - такая перспективная технология и лежит бесхозно! Решили сделать достоянием общественности. Ну и конечно же ограничения поверхностного подхода - нельзя менять топологию. Из сферы бублик не сделаешь. Даже если из сферы коня или дракона, например, попробовать вытянуть, то без ретопологизации при поверхностном подходе ничего не выйдет. Воксельный скульптинг дает художнику свободу действий. Воксельный скульптинг работает с объемом, это как добавлять кусочки пластелина. Можно разрезать, можно дырку проделать.
RENDER.RU: Можете рассказать о дальнейших планах по внедрению новых идей и разработок? Приходилось ли отказываться от интересных решений из-за сложности в их реализации?
Андрей Шпагин: В ближайшее время планируем сделать рисование цветом по вокселям, возможность динамически менять разрешение модели вверх-вниз (multiresolution), выпустить SDK, чтобы другие разработчики могли пользоваться этой технологией. Из-за сложности реализации некоторые решения могут откладываться, но есть такие, которые нужно делать любой ценой, хотя это и очень сложно (как multiresolution).
В планах есть сделать версию, ориентированную на ювелиров и на производство реальных вещей. Планируем сделать версию для детей, поскольку лепка вокселями - крайне увлекательное занятие.
RENDER.RU: Идей и перспектив, как мы видим достаточно, а судя по Вашему описанию количества разработчиков, «рук», воплощающих все это в жизнь не так много в Вашей команде. Планируете ли Вы расширять отдел разработчиков или все это неспеша будите притворять в жизнь тем составом команды, который существует сегодня?
Андрей Шпагин: Уже сейчас я распределяю отдельные задачи сторонним разработчикам. Например, поддержку Nurbs, COLLADA. Есть много задач, которые можно «распараллелить». Объем продаж растет, потому будем расширяться.
RENDER.RU: Как планируются новые функциональные возможности или совершенствование старых? Вы обращаетесь к форуму, где пользователи Вашей программы описывают, что бы они желали видеть в новом релизе или своими силами придумываете и опираетесь на результаты тестов программы в принятии решения о том, что необходимо усовершенствовать или добавить?
Андрей Шпагин: Основной подход к разработке - делать то, что хотят пользователи на форуме. Новые билды выходят еженедельно, иногда чаще. Утром запрос на фичу - вечером билд с готовой фичей :) Почти как в ресторане. Решение о том, в каком порядке, что делать принимается с учетом пропорции - нужность и эффектность фичи поделить на сложность реализации. У нас нет сложного бюрократического аппарата, потому разработка ведется очень быстро. В большой кампании нередко происходит - пользователи что-то хотят, менеджеры неделю решают, нужно ли это, сколько будет стоить, принесет ли прибыль, потом программист за час - два все делает. :)
RENDER.RU: Основная идея Вашей разработки сводится к облегчению текстурирования объектов или их созданию (скульптинга)?
Андрей Шпагин: Основная и наиболее востребованная фича - рисование. Но интерес к вокселям тоже очень большой. Галерея воксельного скульптига растет в 20 раз быстрее чем галерея с текстурированием.
RENDER.RU: Судя по отзывам пользователей программы они часто сталкиваются с проблемой большой ресурсоемкости программы. Как Вы справляетесь с ее оптимизацией и почему, на Ваш взгляд, данная проблема всплывает от релиза к релизу?
Андрей Шпагин: Да, воксели требовательнее к ресурсам чем поверхностные технологии. А решаю проблему быстродействия в основном упорным трудом. Вопрос не в неоптимальности программы (с этим я жестко борюсь), а в сложности и ресурсоемкости технологий. Просто реализуется то, что раньше было за пределами быстродействия среднего компьютера. Программист покупает новый компьютер и программа у пользователей начинает работать медленнее :)
RENDER.RU: Как было заявлено Вами программа 3D-Coat ориентирована больше на разработчиков игр. В связи с чем Вы ее позиционируете именно так?
Андрей Шпагин: Не могу сказать, что это главная ориентация. Хотя в играх, несомненно, текстутирование наиболее востребовано. У меня нет точной статистики об использовании, но программа используется и на телевидении, в анимационных фильмах, в клипах, для портфолио, для рекламы и конечно для игр.
RENDER.RU: Изначально сайт программы был русскоязычным, который год назад сменили на англоязычный. Это связано с тем, что аудитория стран СНГ не оправдала спроса на программу и ориентироваться на запад финансово выгоднее?
Андрей Шпагин: Русские пользователи совсем не покупали. А поддерживать сайт на нескольких языках непросто. Первая русская продажа состоялась после того как русскоязычный сайт перестал поддерживаться. Но постепенно планируем исправить ситуацию - по крайней мере перевести подсказки и мануал на русский. В последнее время сотрудничество с русскими пользователями становится все более плодотворным. Например, интерфейс версии 3 был разработан пользователем из России.
RENDER.RU: Это был безвозмездный шаг с его стороны или Ваш заказ, так сказать, обращение к дизайнерским услугам? Часто ли пользователи предлагают помощь в том или ином вопросе или с предложениями по внедрению новых функциональных возможностей?
Андрей Шпагин: Это был безвозмездный шаг с его стороны, я конечно как мог отблагодарил. Многие пользователи безвозмездно предлагают свою помощь и услуги. Например, 3D-Coat был переведен на много языков просто энтузиастами, которые любят программу. Также, к примеру, один человек из Тайваня разработал почти все шейдеры. Другие делают кисти. В общем, все делятся друг с другом, чем могут.
RENDER.RU: Недавно состоялся релиз 3D-Coat версии 3.0. Работа над какими «фичами» ведется сейчас и когда ожидается следующий крупный релиз?
Андрей Шпагин: Мы планируем сделать до десяти бесплатных апдейтов – год-полтора. Не просто багфиксы, но существенный прирост по технологиям и инструментам. Например, рисование цветом по вокселям, возможность динамически изменять разрешение вверх – вниз, блокирование воксельной поверхности (freeze), ручное сглаживание карт нормалей на разрывах, искажение по сетке картинки используемой в качестве шаблона при рисовании, и многое другое. Сейчас я улучшаю стабильность и выполняю просьбы пользователей из форума, чтобы сделать программу более удобной и функциональной.
RENDER.RU: Как скоро ожидается OSX (Linux) версия? И будите ли Вы разрабатывать так называемые PLE версии, бесплатные и предназначенные для обучения и ознакомления работы с программой, как это делают некоторые производители?
Андрей Шпагин: Неделю назад выпустили первую бэту под Линукс, только что – вторую бэту. Через неделю рассчитываем выпустить релиз 32 и 64 битных версий под Линукс. По поводу обучающих версий – учебные заведения покупают у нас лицензии по цене в разы меньше розничной. Кроме того, trial-версию и после окончания trial-периода можно использовать для обучения, однако экспорт будет отключен.
RENDER.RU: Поддержка, продвижение и совершенствование программы планируется до определенного этапа или это будет продолжаться столько сколько будет существовать Ваша компания? Согласитесь ли Вы продать ее, например, компании Autodesk (как это произошло со многими другими программами) и возглавить отдел разработчиков данной программы, если таковое предложение поступит?
Андрей Шпагин: Продажа компании кому-то не представляется возможной и не предвидится. Это все равно, что продать себя. Одна из главных «фишек» 3D-Coat-а – тесное сотрудничество с пользователями, без посредников. А в большой компании это невозможно.
Потому сколько будем существовать – столько будем улучшать программу. На форуме была большая ветка по этому поводу, где пользователи высказывались в стиле «если 3D-Coat продадут Autodesk, то это будет худший день в моей жизни». Мой принцип такой – лучше пусть меня больше любят, чем у меня будет больше денег.
RENDER.RU: Андрей, редакция RENDER.RU желает Вам и Вашей компании процветания и дальнейшей успешной работы и совершенствования 3D-Coat, чтобы программа завоевала достойную оценку и признание CG художников не только на Западе, но и у наших граждан из стран СНГ.