Интервью с представителями компании Elverils
Сегодня мы пригласили для интервью технического директора компании Elverils Фомичева Платона и ведущего инженера по графике Михеева Ростислава. Они согласились рассказать историю развития компании, с чего они начинали, какие сложности встретили на своём творческом пути, и как их преодолели. Кстати, они регулярно читают Оверов, поэтому в комментариях можете задавать вопросы.
реклама
- Расскажите историю вашей студии, она довольна интересна, насколько я знаю.
- Студия была основана в 2007 году. И первоначально занималась далеко не играми и портированием, а безопасностью, сетевыми экранами, VPN решениями, писали драйвера для всяких редких и интересных железяк, как например сетевой процессор Netronome, способный анализировать гигабитный трафик в реальном времени. Почти везде была Java/C/C++ и писали мы уже тогда под все платформы - например, под PowerPC и macOS. В то время только-только увидела свет macOS 10.4 и начался переход на Intel платформу. В какой-то момент владельцы решили что гораздо дешевле нанять гору индийских программистов чем держать штат в России. Последствия были весьма печальны как для них, так и для нас - они разорились, а мы остались без заказчика. Надо было что-то решать. В те годы как раз зародился KickStarter и все игровые студии для сбора денег обещали народу дары в виде Mac и Linux версий. А когда доходило до дела, кто эти порты будет делать - становилось не ясно. И тогда нам пришла в голову идея, что мы можем заняться этим. Есть в английском языке такое словосочетание “Porting House”, вот мы и решили перенаправить нашу деятельность в это русло - с тех пор так и живем. Мы те кто переносит игры на другие платформы да и просто делает играм хорошо (они работают быстрее, меньше глючат ну и т.д). В компании мы почти все поголовно “рендерщики” (т.е. те кто занимаются компьютерной графикой), программисты на низком уровне железа (занимаемся решением проблем с памятью, кэшем, ковыряемся в ассемблере на GPU и CPU). Когда-то, конечно, мы планировали писать свои игры, но в какой-то момент мы стали широко известны в узких кругах и теперь спрыгнуть с поезда портирования уже сложно. Хотя часть наших коллег иногда занимается и геймплеем, и движками заказчиков, и еще не вышедшими проектами. В общем каждый у нас может найти себе интересные задачи.
- Как вы преодолевали западные санкции? И какие сложности у отечественного геймдева вам запомнились за все прошлые годы?
реклама
- Западные санкции конечно продолжают приносить проблемы. Так как большинство наших заказчиков находятся за границей, то основная из проблем - это перманентно попадающие под санкции банки, как итог, на текущий момент мы успели уже поменять парочку. Так же не обошлось и без отмененных проектов с заказчиками, например один из них был непосредственно с украинской компанией.
- Ставший уже традиционным вопрос, про успехи студии, какая работа была проделана в ушедшем 2022 году, и что запланировано на ближайшее время?
Платон: В целом наша деловая жизнь расписана на годы. Как обычно, проектов очень много, людей очень мало, да и обстановка в мире то и дело что-то подкидывает. Проблем со сроками тоже море - вот тут я хотел бы оседлать своего любимого коня. Берем некий сферический порт в вакууме и выпускаем его, открываем форумы и что же мы видим?
- Эти ХХХХ ничего и не сделали вовсе!
реклама
- Моддеры все сделали в 10000 раз лучше!
- Они просто испортили хорошую игру!
Ну и так далее. И это при том что на порт было потрачено огромное количество ресурсов и мозгов. А вот еще моя любимая:
- Игра 199Х года должна ЛЕТАТЬ на этом железе.
реклама
Ага летать. Старые игры по факту написаны для старого железа и под новые реалии подкладываются со страшным скрипом. Что там под капотом? DirectX 6/7/8/9 и сколько у нас потоков в игре? Конечно же один! И еще все ресурсы мы загружаем прямо на этом же единственном потоке, поэтому игра постоянно залипает и фризит. Взять бы да переписать все это по новой, но какой заказчик согласится тратить на это ресурсы, понимая при этом, что в итоге может выйти пресловутый GTA3: The Defenitive Edition, и игроки будут возмущаться уже по другим причинам.Модерам безусловно великий респект, но будем честны - они делают это все для личного удовольствия, и как таковой ответственности не перед кем не несут, а за нами стоят заказчики с кучей требований поэтому сравнивать коммерческие порты и моддинг не стоит.
Планов у нас конечно очень много и я честно очень горжусь одной маленькой деталью - в целом мы почти всегда делали то, что было интересно, что нам нравилось, и что было вызовом для наших технических мозгов. Мы ни разу не свалились в мобильные фермы или откровенную конвейерную халтуру, в порты качества - “лишь бы как”. Но планы - это планы, а что там в реальности будет увидим.
Наше имя крупными буквами вы мало где увидите. И в начале игры не будет видосика с нашим логотипом. Но изучайте Credits’ы - там всегда много интересного. Ну а мы и не в обиде.
- Расскажите подробнее, как проходит процесс портирования игры на консоли, Макинтоши и Linux. Насколько я знаю, это процесс довольно сложный.
Ростислав: Любое портирование начинается с оценки и планирования. Мы смотрим и оцениваем игру на представленной платформе, обычно это PC, смотрим GPU и CPU профайлы и “капчи” (снимок последовательности вызовов на GPU в кадре), оцениваем потенциальные риски, например связанные с отсутствующими библиотеками под необходимые нам платформы или какими-то техническими моментами которые будет трудно перенести/адаптировать. По итогу мы получаем разделённый на этапы план с конкретными сроками по сдаче каждого из этапов. Обговорив все моменты по этому плану с заказчиком, мы непосредственно приступаем к процессу портирования, комплектуем команду необходимыми специалистами. Обычно первые шаги это сборка проекта под новую платформу: обновление проектных файлов, работа с системой сборки (cmake, fastbuild и т.п), компиляция и поиск необходимых версий сторонних библиотек, адаптация исходников под набор инструментов (msvc, clang) и sdk. На выходе мы получаем бинарный файл или несколько, который по факту не работает и не запускается по каким-либо причинам, т.е падает через пару секунд запуска, ну и дальше уже последовательно начинаем решать проблемы, адаптируем файловую систему, пишем новый рендер, работу с памятью, звук, подготавливаем новые ресурсы и так далее. Пока в итоге не дойдем до главного меню, а потому уже следующая итерация, но уже например, с тестовым уровнем и всем, что в нём используется. Так итерация за итерацией и постепенно проект оживает. Всплывают новые задачи связанные с оптимизацией и исправлениями. На старте проекта мы можем иметь 0-5 фпс, и билд который то и дело крашится через несколько секунд игры.
Платон: Многие говорят что OpenSource наше ФСЕ. Vulkan это дар с небес. Apple Metal - фигня. Классика с форумов. И это не только форумы - люди честно собираются делать порты на прокси технологиях типа MoltenVK. И когда это все начинает адски глючить, в итоге ругают все что можно - и Мак и Metal и Стива Джобса, хотя они тут вовсе не причем. Ведь всё дело в этих прослойках, которые некоторые используют, чтобы сэкономить время. Наш девиз прост, но понятен - если уж делать что-то - то делать хорошо, а хорошо это значит следовать практикам и советам хозяина платформы. Поэтому все наши порты используют нативные подходы без “обёрток” и “прокладок”, ну и прочего мусора. Мы за чистый код!
- Вы более 5 лет тесно сотрудничали с инженерами Apple, каких успехов удалось добиться и какой ценой? Продолжается ли данное сотрудничество сегодня?
Платон: Ситуация в мире внесла свои коррективы - перестали общаться на русском с русскими коллегами с той стороны, которых там весьма не мало, и теперь мы как бы не тут, а они как бы и не знают, где мы. Конечно, как раньше ничего уже не будет. Раньше это было полноценное взаимодействие, активнейшая кооперация - мы всегда были заинтересованы использовать всё лучшее и последнее, мы нашли десятки проблем и как могли доносили наше видение, того что мы бы хотели видеть в графическом API Metal. Наивно конечно думать, что мы действительно на что-то серьёзно влияли, но наши работы почти всегда были на Apple Keynotes, а это весьма показательно. Никакой особой цены не было - мы просто делали то, что не делал никто и за это низкий поклон заказчикам, которые платили за macOS порты. Ну а Apple - огромная компания - очень много делают всего - здорово, что у них есть желание все делать по своему, но за всё надо платить - пока они в области графики находятся в роли догоняющего. Но они и сами это прекрасно знают, и что очень важно, работают над этим.
Минутка юмора - DOS:EE написана на OpenGL - мы портировали ее без графического отладчика, которого на то время просто не было, без “debug layer”, практически без вообще чего-либо. До сих пор игра работает, и даже на M1.
- Вы ранее занимались разработкой систем безопасности, системой удалённого контроля нью-йоркского транспорта и VR-мирами для удалённых тренингов. Расскажите об этом подробнее.
Платон: Частично уже сверху я описал наши достижения. Про транспорт особо интересного ничего нет - но технологии там были весьма впечатляющие. Мы анализировали JavaScript и Java, реверсировали их, переписывали с использованием защищенных классов/кода и снова упаковывали. Клиент ничего и не замечал, а под капотом его applet-ы уже были полностью перелопачены нашей софтиной. Очень мощная и крутая штука была - к сожалению компанию заказчика купили/перекупили и всё закончилось. Тренинги тоже были веселые - использовали UE3 - запускались на iPad 2 и поддерживали RDP/Flash/MPEG4 на виртуальных досках в виртуальном мире. Для того времени это был просто космос. Наши ребята провели просто огромное количество времени оптимизируя это все.
- Расскажите историю создания легендарной игры Divinity Original Sin. Почему она получила именно такое название (Первородный грех божественности), что именно имелось в виду?
- С серией Divinity безусловно мы влились в команду Larian, как “porting house” и помощники, но что там Swen Vincke закладывал в название - это всё его личные придумки. Так уж получилось, что мы очень любили игры Larian и старались делать для проекта больше, чем просто аутсорс команда. Поэтому в результате Larian открыл на нашей базе несколько новых отделов, которые стали включать не только программистов, но и художников скриптеров, и отдел тестирования, в какой-то момент Larian стал для нас основным заказчиком, и захотел, чтобы мы занимались только их проектами, что в итоге привело к разделению бизнеса, все ребята, которые занимались непосредственно игрой, перешли в новую компанию которую Larian открыл в Петербурге, а мы продолжили заниматься непосредственно портированием. В прошлом году они переехали в Малайзию - мы желаем им удачи на новом месте. А помощь в портах мы по прежнему продолжаем оказывать - ранний доступ BG3 был доступен на Mac с первого дня.
- Какие из ваших игр или проектов ваших партнёров запомнились Вам больше всего? Есть ли интересные истории с ними связанные?
Ростислав: Все проекты интересны по своему, иначе бы мы просто не стали ими заниматься. А большинство интересных историй обычно идут по шаблону - “оставалось пару дней/недель до релиза, и тут (выбрать нужное):- вылезло редко воспроизводимое падение приложения по памяти/GPU- мы получаем 1 FPS при использовании способности XXX
- QA пишет, что в финальной катсцене теней не видит, а я им отвечаю - “а их там и нет, мы походу их ОПТИМИЗИРОВАЛИ”- у рагдоллов (Ragdoll - вид процедурной анимации) мёртвых персонажей бесконечно разъезжаются конечности, прямо через всю локацию, того и гляди они скоро начнут ими выполнять квесты”.Платон: По факту есть ряд интересных проектов, которые я бы хотел сделать. Например, я бы очень хотел сделать Kingdom Come Deliverance для мака, и в какой-то момент даже почти всё срослось, но так и повисло. Еще MudRunner был очень домашним и весёлым, потому что мы его делали с Ростиславом вместе на двоих. Ну и конечно то, что мы сейчас делаем, и что рассказать не можем это просто юность, воспоминания, любимые игры - скоро узнаете какие. Ах еще очень руки чешутся сделать Dark Souls Trilogy для мака - но это тоже из области фантастики скорее. Но когда мы начинали я думал делать Witcher под мак и мы таки его сделали, правда не под мак. Так что в целом мои желания сбывались 🙂
- Поделитесь опытом приёма на работу, на что обращаете внимание и насколько сложно к вам попасть? Какие советы можете дать желающим к вам устроиться?
Платон: Мы спрашиваем жизненные вопросы. Как устроен современный компьютер, как примерно работает планировщик задач, как нарисовать треугольник. Уже даже по таким вопросам становится всё ясно. Но собеседования у нас приличные - иногда больше часа. Графика, многопоточность, С++, С ну и микс всего этого. Попасть к нам достаточно просто, но нужен особый склад ума - мы часто работаем с большим объёмом кода или старым кодом, исправляем и улучшаем - для этого нужно уже иметь некоторый опыт за плечами. Из советов для попадания к нам - ну наверное самый простой - будьте проще товарищи - вернитесь на уровень ассемблера и голого С - тогда и всё остальное приложится.
Ростислав: Желающим к нам попасть достаточно иметь опыт как минимум с C++ и прийти к нам на собеседование. Даже если видно что у собеседуемого сейчас не хватает опыта, то мы поможем человеку двигаться в правильном направлении, подскажем что подтянуть и почитать. С некоторых пор мы занимаемся и стажировкой студентов, так что опыта в целом хватает. Так что любой желающий может написать нам job@elverils.com
- Хотел спросить, над какими проектами сейчас трудится студия? Наверняка в СМИ просочилась далеко не все интересные подробности.
Платон: Ну сказать конечно я ничего не могу. В основном все проекты под NDA. А в остальном, хороший порт - вся слава авторам игры (что кстати абсолютно правильно), плохой порт - все шишки нам. Проектов очень много - есть мак, консоли, PC, новые игры и старые игры на новых платформах. Грядущая macOS игра конечно бомба - такой вообще на маках никогда не было, и я не знаю когда ещё будет. Можно сказать, это кульминация нашей технической мысли за многие года. Очень надеюсь, что по традиции прошлых лет проект покажут на WWDC и в этом году.
Ростислав: Основные наши заказчики на текущее время это Saber Interactive и THQ Nordic. Сложно сказать к какому числу их проектов в том или ином виде мы прикладываем руки, но как сказал Платон, всю информацию можно найти в титрах.
- Теперь вопрос на немного общую тему, расскажите про графику в играх, про большие и сложные проекты, про игры в целом, и в частности консоли.
Ростислав: Графика по прежнему считается одним основных факторов для успешной продажи проектов, поэтому разработчики всеми силами пытаются навернуть по максимуму. За полтора года “RTX” в новых проектах по сути стал обыденностью, ну естественно на тех платформах, где это технически возможно, хотя вот в прошлом году был проект, где софтварная эмуляция “лучей” работала на Xbox One, а пару лет назад мы показывали демку и на iPad. Наша часть во всем этом обычно оптимизация, так что закапываемся в эти алгоритмы по самые уши и выжимаем наносекунды всеми способами, такое вот разделение у рендерщиков, кто-то пишет алгоритмы, кто-то их оптимизирует. PC конечно по графике впереди всех обычно, а консоли подтягиваются, со своими убер фичами в архитектуре.В остальном все чаще и чаще приходят большие и “графонистые” проекты на Unreal Engine. И тут казалось бы многие скажут - “ну там то уже всё написано, зачем что-то делать?”. Но всё далеко не так просто, многие крупные компании для своих проектов сильно переписывают всю графическую часть движка под себя, что на деле от старого пайплайна там остаётся не так уж и много. Оно и правильно, редактор то там удобный и знакомый для многих. Так что если какие-то ребята думают, что сейчас возьмут анрил для своего проекта и сразу получат крутую графику как они видели в какой-то игре, то на деле всё совсем не так, дело не только в ассетах. Такой вот маркетинг. Кстати в мае мы поедем на Cpp Russia 2023, рассказывать про графику в играх, приходите послушать.
- Расскажите ваше мнение про "отечественный игровой движок", что это за зверь такой?
Ростислав: Для начала давайте собственно разберемся, что из себя представляет “движок” - а это есть ни что иное, как набор программного обеспечения для создания игр. Т.е. по сути та часть кода, ресурсов и инструментов какой-то игры, которую можно отделить и использовать для создания новой, с другими игровыми механиками, персонажами, мирами, графикой, эффектами и прочим.
Ещё в прошлом году со стороны государственной думы РФ всё чаще начали звучать разговоры о необходимости отечественной замены популярных зарубежных движков, ведь как местным игроделам продолжать делать свои проекты в отсутствии инструментов. А в феврале этого года ВК представляла слайды с планом, как она всё это собирается реализовать. Инициатива с одной стороны хорошая, а с другой вызывает много вопросов. Движки писать - не строки на яваскрипте конкатенировать (а байты на железе совокуплять). Да и процесс разработки современных игр не упирается в один лишь пресловутый движок. Необходима масса инструментов, для работы с моделями, анимациями, звуками, текстурами и прочим. Т.е. исходить из инициативы “все своё” звучит довольно утопично, это сродни того как перенести процесс создания фильмов полностью на “отечественные” рельсы. Звучит довольно сомнительной затеей?! Так или иначе в индустрии мы будем зависимы от стандартов, устоявшихся норм и правил в рабочих процессах, попытки изменить которые вряд ли окажут положительное влияние. Я не хочу сказать что вся идея “отечественного движка” провальная, нет, при хорошей организации процесса мы непременно когда-то получим ощутимые результаты, но не стоит думать, что это будет что-то революционное. Есть достаточно много крупных компаний, которые уже многие года развивают свои решения в этой области, но они прекрасно понимают, что они далеки от того чтобы называть их универсальными. Поэтому стоит понимать, что со своим движком мы длительное время будем находиться на позиции догоняющего. Не стоит забывать, что те специалисты которые сейчас имеют достаточный опыт, чтобы сразу делать хорошо, в большинстве случаев уже успешно занимаются этим в крупных компаниях, и чтобы переманить их в свой проект нужно будет хорошо потрудиться. Если же учитывать современные тенденции то к сожалению большинство специалистов наоборот ставят своими целями поехать работать в Nvidia, Intel, Apple или ещё куда-то. По поводу этого вроде депутаты тоже что-то говорили?
- И крайний вопрос, про разработку игр в вашей студии. Что из интересного (эксклюзивного) вы можете предложить своим клиентам?
Платон: Ну с маком - все понятно - одно то, что мы его можем предложить это уже эксклюзивно и интересно. Особенно когда M1/M2 внезапно и правда стали весьма и весьма достойными приборами. А так - порты высокого качества под все возможные платформы за весьма умеренные расценки - ну и наша фишка - мы предпочитаем самописные движки. Ну и с UE и с Unity мы конечно тоже работаем.
Официальный сайт компании (ссылка кликабельна).
Фото их офиса и описание деятельности (ссылка кликабельна).
Вакансии можете мониторить тут (ссылка кликабельна).
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила