secretmag.ru
Технологии

Сибирский движок: Как Unigine из Томска зарабатывает на виртуальной реальности

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

Пенистые волны накатывают на каменистый берег со вздымающимися вверх скалами. Скалы покрыты хвойными деревьями, за ними вдалеке видны жёлтые от заката горы. Волны накатывают неестественно плавно — замечаешь это, когда смотришь на них с разных ракурсов: с высоты, с берега, с нескольких метров над волнами, потом снова с высоты. Но если включить видео человеку, не знающему, что он смотрит, на несколько секунд удастся его обмануть — будто он на самом деле видит съёмки райского острова с дрона, а не ролик платформы 3D-визуализации Unigine. Если по-простому, платформы 3D-визуализации — это движок, инструмент для создания компьютерных и видеоигр, позволяющий не писать с нуля графику, звук, системное ядро и другие компоненты.

Первые наброски платформы появились в начале 2000-х, когда студенты Томского государственного университета Денис Шергин и Александр Запрягаев самостоятельно изучали программирование и 3D-графику. В 2005 году они основали компанию Unigine, которая к нынешнему времени поучаствовала в презентации Windows 7, выпустила собственную игру Oil Rush и перешла от разработки движков для игр к технологиям для создания полётных, морских, военных и других тренажёров. Движком, по словам Шергина, интересуются в NASA, на его основе уже созданы некоторые продукты «Алмаз-Антея» и ведётся разработка тренажёров для космонавтов, отправляющихся на МКС. «Секрет» рассказывает, как томские разработчики искали себя и нашли перспективный рынок.

Пять лет радио

Денис Шергин и Александр Запрягаев радиофизики. «Квантовая электроника, фотоника, лазеры, оптика… Мы совершенно не были связаны с IT в университете», — вспоминает учёбу Шергин. С Запрягаевым он познакомился на первом курсе Томского государственного университета, когда искал ребят, с которыми можно объединиться по интересам. Ещё до поступления Шергин начал зарабатывать веб-разработкой, влюбился в Linux и стоял у истоков томской интернет-тусовки. В лицее, где он учился до университета, постоянно что-то происходило: «Мы с ребятами даже пытались создать какую-то игру, делали первые попытки моделировать в 3D».

В университете Шергин такой «движни» не нашёл и решил организовать её сам. Он подсадил нескольких человек на Linux, стал учить их всему, что знал, да и ребята обменивались с ним опытом. Пара комнат со сломанным кондиционером и серверами — это было место встреч увлечённых программированием однокурсников Шергина после того, как он на втором курсе устроился в университет сисадмином. Произошло это так: «Я познакомился с местными сисадминами и сказал, что всё у них неправильно, они дураки и не лечатся. Мне ответили: приходи, сделай как надо».

Запрягаев быстро перерос организатора группы как программист — он оказался талантливым разработчиком, заинтересовался 3D-графикой и стал создавать «демки» с определёнными эффектами. Тогда и появился сайт Frustum (сетевой ник Александра), который Шергин перевёл на английский и помог распространить в сетевых сообществах. Жёлтыми буквами на чёрном фоне на Frustum анонсировались изобретения в 3D-графике: «Новый terrain engine с объёмным туманом», «Шейдерная вода с отражением и преломлением света», «Попиксельный туман» и просто «Кусочек хаоса». На сайте были демо с открытым исходным кодом, поэтому на ресурс стали приходить программисты, которые учились создавать 3D-графику.

Пока Запрягаев всё глубже погружался в 3D, Шергин продолжал зарабатывать веб-разработкой: курса со второго это стало приносить приличные деньги, он уже брал не дешёвые разовые заказы, а большие интересные проекты. Работал вместе с дизайнером, а сам был и программистом, продажником и бухгалтером в одном лице. Но к последнему курсу веб-разработка наскучила. Шергин решил поступать в магистратуру в Лондоне — на что-то «айтишно-инженерное».

Когда он поделился с однокурсником планами, оказалось, что Запрягаев думает превратить свои наработки в коммерческий продукт. Для этого ему нужен был кто-то с опытом в бизнесе, и от предложения вписаться в эту идею Шергин отказаться не смог. Он оставил мысли об отъезде, и друзья посвятили последний курс разработке 3D-движка. Начали с продажи рабочего ноутбука Шергина, чтобы купить нормальную видеокарту. Название придумали ещё до того, как появился продукт: Unigine — это Universal Engine, универсальный движок.

«Как обычно появляются игровые движки? Кто-то делает игру и пишет под себя 3D-движок, а потом начинает его перепродавать, — объясняет Шергин. — Так вышло, например, у Epic Games c Unreal Engine. Но есть большая разница — внутренняя разработка для команды и продукт наружу, который будут использовать другие разработчики». Последним, по его словам, нужна документация, примеры использования, программный интерфейс, возможность работать в разных жанрах и остальное, что в большинстве случаев при разработке одной игры избыточно. Но если писать движок как универсальный с самого начала, всё это можно предусмотреть. Этим и занялись Запрягаев с Шергиным: первый писал код, второй — придумывал, как оформить это в продукт. В дальнейшем их роли так и распределились: CEO — Шергин, CTO — Запрягаев.

Они работали в романтической атмосфере — 2005 год, по словам Шергина, был бумом «движкостроения». Это объяснялось тем, что в нулевых основная выручка шла от игровых приставок, а не от компьютерных игр. А технологически все приставки делались примерно на семь лет: «То есть выходит Xbox и семь лет выпускается в одной конфигурации. Соответственно, движок сделан под конкретное поколение приставок и в нём есть конкретные технологические решения. Все семь лет там можно что-то оптимизировать, добавлять, но, по сути, это решение, навязанное на конкретное железо».

В 2005–2007 гг. выходили Xbox 360 и PlayStation 3, и на этой волне многие придумывали свои движки. К тому же, признаётся Шергин, будоражила мысль, что одна лицензия Unreal Engine легко продавалась за $1 млн. Наконец, это была работа мечты, ведь «любой программист, оставленный без присмотра, начинает писать универсальный движок всего на свете». Когда до сдачи диплома остался месяц, была готова первая версия Unigine. Тут Шергин и Запрягаев спохватились, что им надо окончить университет, и весь июнь 2005 года посвятили этому. Продажами они занялись после выпускного.

Продавцы воздуха

Электронная почта и английский язык — вот основное оружие Дениса Шергина с 2005 года. Вживую потенциального покупателя в этом году он увидел всего один раз, и то сделка не получилась. Друзья сразу ориентировались на мировой рынок, и их первым клиентом через несколько месяцев стала европейская компания по разработке игр. Причём никому не известная томская фирма предлагала попробовать Unigine не бесплатно, а за $20. Шергин считает, что с точки зрения маркетинга это было удачное решение: «Продукт был сыроватый, если бы мы его выпустили в публичный доступ, нас бы закидали чем-нибудь нехорошим».

К концу 2005 года Unigine заполучила крупного клиента из Южной Кореи (они вышла на него через сайт Frustum) — разработчика игр, который кормил компанию весь следующий год. А это было необходимо — оказалось, что платформу надо существенно доработать из-за её неудобства и слишком высоких требований к уровню железа клиентов. Но на это ушло не несколько месяцев, как планировали друзья, а целых три года.

«У нас продукта вообще на руках не было, в 2006–2007 гг. я продавал по сути обещания», — говорит Шергин. Спрашиваю , как компания выживала, и предприниматель морщится — говорит, было так тяжело, что не хочется вспоминать. Потом выясняется, что получалось примерно так: сидел в Томске, писал письма и максимально убедительно и красиво заворачивал все наработки Unigine. При этом со старта Шергин был уверен, что бизнес должен развиваться строго на свои деньги, приходилось затягивать пояса: «Жили на воде и дошираках, но не выдёргивали деньги из компании и платили сотрудникам неплохую зарплату».

Очень сильно помогло, по словам Шергина, что в компании были 3D-художники — они разрабатывали контент, с помощью которого можно было продемонстрировать движок в лучшем виде. Из этих демо в 2007 году появился новый продукт — бенчмарки (компьютерная программа, которая тестирует производительность компьютера или операционной системы).

Правда, новое направление Unigine нашла случайно: когда компания выпустила очередную серию 3D-демо, программы оказались слишком требовательными с точки зрения технологий и работали только на самом продвинутом оборудовании. На обычных компьютерах демо тормозили, и тогда Шергин решил заявить их как бенчмарк: «То есть мы сказали, что так и задумано, что оно тормозит: мы хотим нагрузить вашу систему как следует и сделать ей стресс-тест — а вдруг у вас железо глючное. Под хорошей нагрузкой как раз и проявится, что работает, а что нет».

В конце теста бенчмарк показывал результат — насколько система мощная и сколько очков ей присваивается. Такой ход затронул соревновательный дух геймеров и компьютерщиков, бенчмарки стали распространяться по Сети. До сих пор они выходят бесплатно как имиджевый продукт компании. По словам Шергина, уже сложно подсчитать, сколько людей воспользовались бенчмарками Unigine, но точно больше 10 млн. Есть и более продвинутая платная версия, но ей пользуется не больше нескольких тысяч человек.

Бенчмарки помогли привлечь внимание потенциальных покупателей: хоть компании ими и редко пользовались, но их технические директора вращались в той тусовке, которая разгоняла компьютеры до предельных мощностей с помощью Unigine. К тому времени, как Unigine стал знакомым словом у профессионалов, Запрягаев наконец довёл движок до «вменяемого состояния». Полностью осуществить задуманное, по словам Шергина, удалось только к 2011 году. Но в 2008-м Unigine снова вернулся в игру как продавец реального продукта, а не обещаний.

От кризиса к кризису

«Я должен был как земля колхозу — то есть всем», — заявляет Шергин, когда разговор подходит к 2008 году, который, по идее, должен был стать удачным для компании. Вроде было всё — продукт, клиенты, рост команды, новый офис. Но основатели ещё не привыкли делегировать: Денис принимал все организационные решения, а Александр — технические. Получалось не слишком эффективно, и друзья не уследили, когда появился кассовый разрыв. Они оказались в ситуации, когда перспективы есть, а денег нет. У Шергина кончились состоятельные знакомые, компании кредит не давали: «Что там у нас было, ООО и три стула?» Пришло время серьёзного разговора с сотрудниками.

Шергин предложил им выбор — либо денег нет и все расходятся, либо верят в то, что всё получится преодолеть, затягивают пояса и продолжают работать. Не ушёл никто. Через два-три месяца в таком режиме Unigine выпустила новый бенчмарк Tropics, который удалось продвинуть через партнёрство с AMD, одним из лидеров рынка производства графических ускорителей наравне с Nvidia (с этой компанией Unigine тоже раньше сотрудничала). Пиар помог «раскочегарить продажи», и в конце года, когда начался общий кризис, компания справилась с внутренними проблемами.

В 2009 году пришёл привет от AMD — под выход новой Windows и Directx 11 (набор API для программирования под Windows) компания выпускала новую видеокарту, но не знала, с помощью чего продемонстрировать её возможности. Unigine взялся за два с половиной месяца до презентации разработать для этих целей бенчмарк. Делали практически вслепую — саму видеокарту смогли получить только через месяц, и то не готовый образец, а недоделанный инженерный.

Зато после презентации Windows 7, где демонстрировалась видеокарта, компания засветилась. В 2010 году на конференции Game Developers Conference (номер один для разработчиков игр) к стенду Unigine подходили знакомиться известные конкуренты и потенциальные клиенты. Среди разработчиков движков Unigine была единственной российской компанией на той выставке. К тому времени, правда, она уже расширила компетенции и готовилась выпустить свою игру.

На разработку компьютерной стратегии Oil Rush компания потратила $500 000 и два с половиной года. «У нас есть программисты, есть художники, есть движок, почему бы нет?» — вспоминает Денис Шергин, как начиналась работа над игрой. К тому же команде хотелось убедиться, что движок действительно сделан как надо и на его основе может получиться классный продукт. Но так как слаженной команды для разработки игр в компании не было, процесс затянулся — сначала Unigine планировала справиться за полтора года.

В 2011 году Шергину снова пришлось бежать по знакомым, чтобы финансировать разработку. В январе 2012 года Oil Rush наконец вышла — хитом она не стала (около полумиллиона пользователей, тогда как популярные игры собирают десятки миллионов), но отбила затраты на разработку и заработала около $100 000 сверху. Заодно получилось доработать движок и устранить все проблемы, которые вскрылись в процессе работы над игрой.

После выпуска Oil Rush у компании был выбор, в какую сторону развиваться. Unigine могла углубиться в разработку игр и выпускать их самостоятельно или под издателя. Могла продолжить продажу лицензий на использование движка разработчикам игр. Но компания двинулась в другом направлении.

Новый рынок

В 2013 году на стенде Unigine на выставке I/ITSEC стояла вертолётная кабина. Сев в неё, можно было увидеть, как трава колышется от создаваемого винтом ветра, пролететь по пространству в 60 000 кв. км и опуститься в любой точке. «Наша система визуализации стала хитом выставки, некоторые хорошие контакты мы закрываем до сих пор», — говорит Шергин. К тому времени, как Unigine приехала на эту выставку в Орландо, компания уже сделала свой выбор — сосредоточиться на неигровых заказчиках, которым 3D-движок нужен для разработки тренажёров и симуляций. В 2012 году они приносили Unigine столько же денег, сколько разработчики игр (а конкуренция в игровых движках увеличивалась).

Первые клиенты из этой сферы появились у Unigine ещё в 2007 году — тогда движок не был доработан для продажи разработчикам игр, но технология была полезна неигровым клиентам. Постепенно Unigine стал внедрять новые возможности уже именно для них — например, поддержку больших пространств. Если компьютерные игроки могут обойтись небольшой сценой в 100 кв. км, то лётчикам нужны сотни тысяч — с разным ландшафтом, разными погодными условиями и другими вводными. Работу над этой функцией Unigine начала в 2009 году, когда закрыла сделку с немецкой оборонной компанией, разрабатывающей морские и лётные тренажёры. Другие разработчики решений тоже предлагают большие пространства, но Шергин считает, что у Unigine графика реалистичнее благодаря тому, что компания долго ориентировалась на разработчиков игр, которым это важно.

Опыт сотрудничества с игровой сферой Шергин в целом считает главным преимуществом компании на новом рынке: «Нас всё время все спрашивают: "Зачем мне ваш движок, если я могу взять Unity или Unreal?" Мы говорим: "Берите, но вы всё равно через три месяца к нам придёте, потому что на его базе вы не сможете сделать это и это". Это классные движки для игр, но для бизнес-задач они не подойдут». Например, игровые движки считают Землю плоской, а в тренажёре полёта Москва — Нью-Йорк без трёхмерной модели не обойтись. Также игровые движки не привязаны к реальным координатам, а компаниям нужно использовать картографические данные.

В основном Unigine работает с компаниями-интеграторами или разработчиками, которые затем продают готовый продукт — тренажёр — авиакомпаниям, оборонным, транспортным, медицинским и другим предприятиям.

Конечные потребители платформы Unigine — не только пользователи тренажёров, но и любые компании, которым требуется воспроизводить реальную жизнь. Например, в программах для архитекторов движок позволяет вставить в существующую среду новый объект и дорабатывать его, чтобы он лучше вписался в реальность. Ещё один бенефициар — режиссёры, которым во время съёмки сцены нужно видеть виртуальную реальность, которая будет наложена на картину позже («Нормально актёр рукой махнул или он в виртуальную скалу воткнулся?»). Также, по словам Шергина, сейчас на базе движка Unigine строится трёхмерная модель Москвы со всеми строениями и коммуникациями (заказчик — компания, специализирующаяся на архитектурной визуализации, которая работает с государством). Она может использоваться в планировании новых кварталов.

Неигровые клиенты теперь приносят Unigine более 90% выручки. Средний чек — несколько десятков тысяч долларов, зависит от количества рабочих мест и конфигурации. Обычно компании покупают не только лицензию на платформу, но и подписку на обслуживание и обновления (первый год это предоставляется бесплатно). Главный рынок — Китай, также активно покупают компании из Южной Кореи, Германии, Голландии, Франции, Австралии, всего больше 150 клиентов. В последнее время подросла доля продаж на российский рынок — около 20%.

Оборот компании за 2016 год, по словам Шергина, составил около $1,5 млн. В этом году он рассчитывает привлечь инвестиции и говорит, что пул ожидающих инвесторов уже собрался. Тем временем Александр Запрягаев отошёл от дел — уже больше полутора лет (с весны 2015 года) он не занимается разработкой, эта функция перешла к команде. От комментариев «Секрету» Запрягаев отказался.

Когда Денис Шергин заканчивает давать интервью, цвет его футболки уже не различить — в кабинете темно, хотя по московскому времени всего два часа дня. Но Unigine по-прежнему находится в Томске, и переезжать компания не собирается, хотя обзавелась удалёнными сотрудниками в Москве, Санкт-Петербурге и Шанхае. Правда, летать гендиректору Шергину теперь приходится чаще.

Недавно он вместе с сотрудниками ракетно-космической корпорации «Энергия» слетал в Хьюстон — по программе обмена опытом с NASA. «Энергия» сейчас разрабатывает тренажёры для космонавтов на базе движка Unigine. По словам Шергина, американское космическое агентство хвалило продукт, но использовать технологии российских и китайских компаний оно не может. Спрашиваю, не хочет ли он написать Илону Маску? Шергин признаётся, что уже писал, но тот не заинтересовался. И тут же уточняет: пока не заинтересовался.

Мнения

Денис Захаркин
Сооснователь и технический директор [VR Concept](http://vrconcept.net)

Мы можем назвать Unigine нашим конкурентом лишь отчасти. Unigine — это полноценный 3D-движок, представляющий собой широкий набор инструментов для создания и компьютерных игр, и тренажёров. VR Concept, хоть и основан на 3D-движке собственной разработки, в первую очередь предназначен для работы с имеющейся 3D-моделью в виртуальной реальности здесь и сейчас и не требует специальных знаний.

Сейчас на мировом рынке представлено более десяти различных 3D-движков, позволяющих создавать компьютерные игры и тренажёры (я имею в виду коммерческие и успешные продукты). Самое сложное в этой отрасли — удерживать большое и активное комьюнити, предоставлять качественную техподдержку и успевать за новыми технологиями. Движок Unigine обладает достаточно богатыми возможностями, но при этом нельзя сказать, что у компании есть большое комьюнити.

Решение компании сосредоточиться на неигровых заказчиках перспективно. Сейчас рынок 3D-движков для компьютерных игр насыщен, и выход на него нового игрока достаточно сложен. В то же время потребность в подобных решениях для профессиональных и инженерных задач сейчас растёт с каждым днём. Это происходит благодаря демократизации стоимости VR-оборудования и распространению гибких подходов к разработке в инженерии. Например, к 2025 году, согласно отчёту Goldman Sachs, рынок ПО для проектирования составит $4,7 млрд. Здесь можно успеть занять свою нишу.

Олег Носарев
Начальник отдела разработки ПО систем визуализации группы «[Кронштадт](http://kronshtadt.ru/)»

Мы работаем на тренажёрном рынке более 20 лет и следим за всеми достойными игроками, в том числе и Unigine. Хотя в первую очередь эта компания известна как производитель игровых продуктов. У неё есть определённые успехи в развитии визуализации под морские тренажёры и системы виртуального поля боя. Но если говорить о работе на авиационном рынке, в котором Unigine очевидно заинтересована, здесь у компании есть ряд существенных ограничений.

К системам визуализации для тренажёров летательных аппаратов предъявляется огромное количество крайне жёстких нормативных требований. Просто графического движка, пусть и талантливо сделанного, недостаточно. Международные стандарты, по которым сертифицируются тренажёры, могут перечеркнуть все достижения, если генератор изображения не удовлетворяет хотя бы одному требованию. Эти требования надо учитывать ещё при проектировании системы, и более того — надо знать тренд их развития, чтобы через один-два года выход новых норм не потребовал коренных изменений графического движка. Я хочу искренне пожелать удачи нашим коллегам из Unigine в этом непростом, но благородном деле и надеюсь, что в мировом списке лидеров систем визуализации вскоре появится ещё одно российское имя.

Фотографии: Евгений Панкратьев / «Секрет фирмы»