source_logo.jpg
Source — самый популярный игровой движок: в тот момент, когда вы читаете эту статью, в игры, написанные на нем, может играть больше миллиона человек:

1.PNG

И это не удивительно: движок разработала компания Valve, которая владеет самым крупным игровым магазином — Steam, а ее игры стабильно находятся на вершине игрового топа.

Но, разумеется, путь на вершину славы был долог: история разработки движка Source началась в далеком 1998 году, когда разработчики Valve, завершая работу над Half-Life 1, поняли, что у них есть множество наработок, которые хотелось бы где-нибудь использовать. И именно тогда и появилось разделение на два движка: GoldSrc, на котором работала текущая версия игра, и Source, который относился к будущей версии игры и имел новые, еще неотлаженные, технологии. И поэтому на выставке E3, когда Valve демонстрировала бета-версию игры Half-Life 2, было сказано, что игра работает на движке Source. Это название прижилось, и в дальнейшем GoldSrc полностью исчез.

Source Engine 2004 (Source Engine 6)

Первая публичная версия движка вышла в 2004 году вместе с полюбившимся многим шутером Counter Strike, который в честь движка был называн Source. Изменений с оригинальной версии было достаточно много: более чёткие текстуры (512×512 пикселов против 128×128 в оригинале) и проработанные трёхмерные модели. Широко используются возможности движка, связанные с зеркальными отражениями — у оружия, снабжённого оптическим прицелом, можно видеть окружающую обстановку (но не модели других игроков) сзади игрока на линзе прицела, когда оно находится в не приближённом состоянии.

Звуковые эффекты теперь соответствуют акустическим условиям, введена поддержка колонок 5.1 и 7.1. Новые возможности движка помогли сделать карты более детализированными: появились валяющиеся на земле бутылки, пакеты. Физический движок, созданный на основе Havok, позволил улучшить физику полёта гранат, взрывы, а также эффекты от их поражения в сторону большей реалистичности.

Чуть позже в этом же году вышла Half-Life 2, в которой к приведенным выше возможностям добавились: шейдерный рендеринг (Half-Life 2 была одной из первых игр, в которой использовалась шейдерная вода) и лицевая анимация (с поддержкой точной синхронизации речи актеров с анимацией), а с помощью Havok был получен эффект «тряпичной куклы»:

half-life-2-01.JPG

Half_Life_2_wallpaper__11.jpg

Эта версия движка использовалась до 2005 года, и является на данный момент устаревшей — все игры, написанные на SE 6, были переведены на более новые движки.

Source Engine 2005 (Source Engine 7)

Обновленная версия движка, вышедшая в 2005 году. Основное дополнение — поддержка High Dynamic Range Rendering, для демонстрации которой разработчики выпустили Half-Life 2: Lost Coast: в сущности эта игра представляет собой уровень, не попавший в финальную версию Half-Life 2. HDR Rendering в Lost Coast включает в себя несколько компонентов:
  • HDR Skybox — результат наложения нескольких экспозиций неба, для реализации эффекта смены экспозиции в реальном времени. Для Half-Life 2: Lost Coast было создано более 16 различных HDR Skybox.
  • HDR Refraction Effect — HDR свет проходит через преломляющие материалы и принимает свойства этих материалов (например, когда луч света проходит сквозь цветные витражи в монастыре на Half-Life 2: Lost Coast, на пол отбрасываются цветные блики).
  • HDR Light Maps — карты света, сгенерированные при помощи эффекта radiosity (свет не только отражается от объектов и попадает в глаз наблюдателя, но и попадает на другие объекты, отражаясь от них). Можно заметить, например, внутри монастыря в Half-Life 2: Lost Coast, по солнечным пятнам на стенах, противоположных окнам.
Как и SE 6, 7ая версия на данный момент так же является устаревшей — в 2014 году последнюю игру на нем, CS: Source, перевели на Source Engine 24.

Source Engine 2006 (Source Engine 7: Base Source Engine 2)

Первая версия движка, имеющая доступный всем комплект разработчика — Source SDK Base 2006, что позволило множеству людей создавать свои модификации к играм Valve. Движок несколько доработали — он поддерживает обновленную лицевую анимацию, многоядерный рендеринг и обновленный HDR. 

Так как созданные на SDK 2006 года модификации не совместимы с более новыми версиями движка, то авторами некоторых модов эта версия движка все еще используется, и ее с натяжкой можно считать актуальной.

Source Engine 2007 (Source Engine 14)

Глобальный релиз, впервые использовался в сборнике игр от Valve — The Orange Box (в него входят: Half-Life 2, Half-Life 2: Episode One, Half-Life 2: Episode Two, Portal и Team Fortress 2). В этой версии был обновлен шейдерный рендеринг, значительно доработано динамическое освещение и затенение, появилась система мягких частиц (позволившая сильно улучшить качество таких эффектов, как дождь и огонь), была добавлена кинематографическая физика, а так же новая лицевая анимация (поддерживалось ее аппаратное ускорение на видеокартах) и улучшена поддержка многоядерных процессоров. 

SE 14 стала первой версией движка, поддерживающей консоли — The Orange Box вышел не только под ПК, но и под PlayStation 3 и Xbox 360. 

Ровно как и с SE 7, модификации, созданные в SDK к 14ой версии, не работали на более новых, поэтому эта версия движка до сих пор используется.

Source Engine 2008 (Source Engine 14: Base Source 3)

Версия движка, созданная под игру Left 4 Dead:

p1_2218335_3d2a80f6.jpg

game-left-4-dead-1-full-offline.jpg

В ней улучшили кинематографическую физику, добавив:
  • Динамическое разрушение игровой геометрии - до этого линии разрушения должны были указываться создателем карты.
  • Деформируемые объекты - до этого физические модели не могли быть изменены любым образом, кроме как на основе заранее просчитанной анимации.
Так же были добавлены некоторые эффекты, такие как размытие в движении и глубина резкости.

Source Engine 2009 (Source Engine 15)

Версия, вышедшая с игрой Left 4 Dead 2, в дальнейшем на эту версию были обновлены все игры Valve того времени. В этой версии обновлены все функции, значительно доработана система частиц, лицевая анимация, масштабирование и возможность обновлений.

Source Engine 2010 (Source Engine 17)

Первая версия движка, портированная под macOS. Изначально под яблочную ОС был портирован пакет игр The Orange Box, а в дальнейшем все новые игры Valve стали выходить и под Mac, и под Windows.

Source Engine Multiplayer (Source Engine 19, 21 и 23)

Версии движка, заточенные под мультиплеерные игры, такие как Dota 2 и CS: GO. Так же в 2012 году появилась поддержка Linux: под него была портирована игра Team Fortress 2, а в дальнейшем и другие игры Valve.

Source Engine 2013 (Source Engine 24)

Текущая версия движка, на которую Valve перевела большинство своих игр. В числе изменений: для оптимизации использования дискового пространства было решено отказаться от использования громоздких .GCF-файлов (архивов с ресурсами игр) в пользу файловой системы под кодовым именем SteamPipe. Игры на новом движке устанавливаются теперь в директорию Steam\SteamApps\Common, а файлы игры хранятся в .VPK-файлах. Для игр Counter-Strike: Source, Team Fortress 2 и Half-Life 2: Deathmatch создана удобная система добавления пользовательского контента (модов): присутствует папка custom, в которой создаётся папка с произвольным именем, и уже в неё складываются классические папки материалов модификации (materials, models и т.д.).

Так же была улучшена совместимость с Linux, а в мае 2014 года Nvidia портировала Portal и Half-life 2 на Android, для своей приставки Nvidia Shield (впрочем, умельцы смогли запустить эти игры и на других устройствах под управлением ОС Android, однако производительность была низкой).

Source 2

Принципиально новая версия движка, выпущенная в 2015 году компанией Valve вместе с выходом обновленной игры Dota 2 — Reborn. Увы — технической презентации не было, известно лишь, что движок все так же работает на API OpenGL (возможно в будущем добавится API Vulkan), а так же умеет задействовать столько ядер процессора, сколько у него есть. Так же Valve обещали, что движок будет лучше работать на старых компьютерах (уменьшено потребление ОЗУ), однако Dota 2 Reborn оказалась тяжелее Dota 2 на Source Engine 24. Еще одно важное добавление — появилась поддержка VR, и первая игра-демонстрация The Lab для HTC Vive:

ss_bbdec73ee36fc998dbd22e197dee0c82e6ef8c6c.1920x1080.jpg

ss_e23896e296e69afb656bca5ab2f214844694e5a7.1920x1080.jpg

Будущее движка

О дальнейшем развитие движка Valve молчит, и это для геймеров не новость (все же ждут слухов о Half-Life 3 и Portal 3, правда?) Пока что вторая версия движка достаточно сырая и требует доработки, и, очевидно, Valve fix it исправляет ошибки, а о будущих играх и версиях движка знает только Гейб Ньюэлл.