Не секрет, что авиасимуляторы в наши дни стоят особняком по отношению к основному потоку продукции, которой наполняют рынок издатели компьютерных игр. Собственно, актуальные сейчас игры этого жанра можно пересчитать по пальцам, если не брать в расчет аркады, сюжетно связанные с авиацией. Значительная часть аудитории этих игр -- люди, проявляющие интерес к симуляторам на фоне общей увлеченности авиацией. Среди пользователей авиасимулятора «Война в небе -- 1917», также известного за границей под названием Rise of Flight, есть немало военных летчиков в отставке -- владельцев частных самолетов, а также коллекционеров,и исторических реконструкторов, собирающих копии летательных аппаратов времен Первой мировой войны.
Альберт Жильцов (на фото), в прошлом киберспортсмен, а ныне продюсер «Войны в небе -- 1917», отделяет свою деятельность от основного направления игровой индустрии. Симуляторы объединяет с играми то, что и те и другие создают виртуальную реальность, и чем качественнее игра, тем охотнее пользователь в нее верит. Отличие заключается в том, что мир, моделируемый симулятором, обязан соответствовать реальной жизни, а не быть выдуманным. В случае «Войны в небе -- 1917» воссоздана не только физика, летательные аппараты времен Первой мировой, местность западного фронта, но и исторические факты.
Альберт, расскажи, как ты начал заниматься разработкой игр?
Я начал играть в «Ил-2 Штурмовик» с момента его появления в 2001 г. С нашей командой мы побеждали на международных турнирах. Примерно к 2004 г. мы пришли к выводу, что сетевой режим игры в том виде, в котором он тогда существовал в компьютерных играх, нас не устраивает. Тут же выяснилось, что среди нас есть и программист, и художник, и инженер, -- мы решили перестать играть и вместо этого заняться разработкой, используя свой игровой опыт. В первых наших проектах мы использовали «Ил-2 Штурмовик» как платформу, поскольку написать свой движок тогда представлялось невозможным. В результате мы все-таки создали собственный движок c нуля, и итогом нашей работы стала Rise of Flight.
Расскажи об особенностях движка, используется ли в нем PhysX или какие-то другие общедоступные решения?
Нет, физика у нас полностью своя. PhysX -- это великолепная библиотека. Беда в том, что она симулирует лишь физику твердого тела. У нас самолеты состоят из 40 частей, каждая из которых обтекается воздухом уникально. Отдельной задачей является симуляция работы двигателя с учетом его термодинамического баланса и состава топливно-воздушной смеси.
Если когда-нибудь мне придется разрабатывать более простую игру, я обязательно буду использовать PhysX.
Реализована ли в движке вашего продукта многопоточность?
Да, движок умеет распараллеливаться до четырех потоков. Минимально допустимым для запуска нашей игры является двухъядерный процессор. На данный момент мы единственный в России разработчик игр, использующий многопоточность. В 2008 г., когда велась разработка движка, еще не было очевидно, что индустрия сделает выбор в пользу многоядерных процессоров. Например, разработчики Microsoft Flight Simulator, тогда ориентировались на многопроцессорные системы и в последствие вынуждены были менять концепцию. Мы же изначально разработали приложение, оптимизированное под многоядерные ЦП. Для этого потребовалась поддержка в виде оптимизации драйверов со стороны Intel, потому что изначально процессоры Core 2 Duo не могли обеспечить реальной скорости обмена данными между ядрами, которая была необходима для работы нашего приложения.
Несложно заметить, что в последние несколько лет субъективная фотореалистичность картинки в компьютерных играх фактически не улучшается. В то же время разработчики видеоплат продолжают осваивать новые техпроцессы и выпускать двухчиповые монстры, потребляющие по полкиловатта. Есть ли сейчас у разработчиков реальная потребность в таких устройствах?
Для того чтобы ответить на этот вопрос, нужно объяснить, какие изменения произошли в игровой индустрии за последние несколько лет. Сейчас пользователи не хотят играть в одну игру, даже очень интересную, дольше четырех месяцев. То же самое выгодно и издателям. Для разработчиков это большая проблема, поскольку соответствующим образом уменьшается и время, отводимое на разработку. При таких темпах работы времени на оптимизацию кода не остается. Появление мощных видеоплат позволяет об этом не думать.
С другой стороны, многие современные графические эффекты очень требовательны к ресурсам, как, например, экранное сглаживание, поскольку его работа фактически требует от видеоплаты визуализации части кадра с разрешением, в несколько раз превосходящим реальное. Поэтому даже на дешевой видеоплате вполне можно комфортно играть в современные игры, если отключить в настройках ресурсоемкие навороты.
При тестировании видеоплат мы иногда замечаем, что некоторые из игр работают быстрее на ГП того или иного производителя. С чем это может быть связано? Сильно ли различается процесс написания движка под ГП nVidia и AMD?
Сейчас процесс не различается. Видимая разница в производительности -- это почти всегда следствие проблем со своевременной оптимизацией драйверов. Большинство разработчиков игр не могут позволить себе тратить ресурсы на оптимизацию движка отдельно под ГП разных компаний. Обычно пишется компромиссное решение, которое работает одинаково и на AMD, и на nVidia. Исключение составляют крупные движки, такие как Unreal Engine, CryEngine, Frostbite и т.п. Их разработчики могут позволить себе писать отдельный код для ГП разных архитектур, чтобы использовать их возможности максимально эффективно. Нам это удалось сделать, но стоило немалых усилий.
Применяется ли сейчас в коммерческих игровых проектах OpenGL? Есть ли, по-твоему, будущее у этого API?
Это сложный вопрос, потому что ответ на него будет очень субъективным. Конечно, такие преимущества OpenGL, как кросс-платформенность и открытость кода, мотивируют разработчика. Но, увы, в современном мире открытость и бесплатность часто оказываются синонимами безответственности. Ведь если у продукта нет правообладателя, значит, никто за него не отвечает. За DirectX стоит Microsoft, огромная корпорация с ясными целями. Поэтому многие выбирают DirectX, понимая, что работать с ним легче: есть литература, есть поддержка разработчика. Я думаю, что DirectX еще долго будет доминировать в области больших игр для ПК и некоторых консолей.
Но рынок быстро меняется, приходят новые жанры и создаются новые ниши. И для некоторых из них кросс-платформенность -- решающий фактор. В первую очередь я имею в виду смартфоны и планшетные компьютеры, которые сейчас стали новой полноценной игровой платформой. А ведь там используется именно OpenGL.
Потому-то я и назвал вопрос сложным, на него нельзя ответить однозначно, нарисовав понятную картинку будущего. Все изменяется, сама игровая индустрия привела в движение «литосферные плиты» платформ. На любом рынке есть и лидер, и как минимум один конкурент. Лидер выдавливает конкурента на обочину, но часто это приводит к тому, что образуется новая дорога.