В апреле 2012 года на интернет-ресурсе [I]Phoronix[/I] была опубликована информация о подготовке выпуска [I]Steam[/I] и платформы [I]Source[/I] под [I]GNU/Linux[/I].
В декабре 2012 года Source был официально портирован под[I]GNU/Linux[/I], и первой игрой на нём, доступной для данной платформы, стала [I]Team Fortress 2[/I]; ранее как [I]Steam[/I], так и [I]Source[/I] были доступны в закрытом бета-тестировании.
[HEADING=1]История версий[/HEADING] Определённо версию движка можно назвать только у игр, выходивших до 2007 года включительно, так как например в [I]Source SDK,[/I] при выборе игры, выбирается и движок, где чётко написана версия. Также в консоли можно посмотреть версию протокола.В [I]Left 4 Dead[/I] и последующих играх конкретно версию движка назвать нельзя, возможность посмотреть в консоли версию протокола тоже отсутствует. Так же версии движков [I]Counter-Strike: Source[/I] и [I]Left 4 Dead 2[/I] существенно различаются, но здесь у них отмечена одна версия, [I]Left 4 Dead 2[/I] вышла в 2009 году, а [I]Counter-Strike: Source [/I]обновилась до движка [I]Source Engine[/I] 2009 в 2010 году. В графическом плане превосходит движок [I]Left 4 Dead 2[/I] , но у [I]Counter-Strike: Source[/I] больше мелких улучшений (например, заметно был улучшен браузер серверов), которые появились после выхода [I]Left 4 Dead 2[/I].
В начальных стадиях разработки движок [I]Source Engine[/I] визуально выглядел как [I]GoldSource[/I], который использовался в первых проектах [I]Valve Software[/I]. Игровое меню в стиле [I]Half-Life[/I] и первых версий [I]Steam[/I], текстуры, не накладывавшиеся полностью, и в некоторых проявлениях кровь выглядела также, как и в [I]Half-Life[/I]. Игры на этой версии официально не выпускались, но она использовалась в украденной версии [I]Half-Life 2[/I]. Игра была не доработана и имела очень мало возможностей, например, на некоторых картах текстуры выглядели слишком ярко или же очень тускло. Игра [I]Vampire: The Masquerade — Bloodlines[/I] разрабатывалась по технологии ранней версии [I]Source[/I].
[HEADING=1]Технологические возможности[/HEADING] Source обладает значительными преимуществами по нескольким ключевым аспектам разработки игр: анимация персонажей, продвинутый искусственный интеллект, реалистичная физика и шейдерный рендеринг.Система анимации Source позволяет создавать выразительных персонажей с бесконечной гаммой эмоций на лице, что позволяет им донести до вас сообщение, не сказав ни слова. В дополнение к этому персонажи владеют одной из наиболее продвинутых систем искусственного интеллекта, что делает их крайне умелыми союзниками и врагами.
При помощи движка с легкостью можно создавать красивые и реалистичные миры, реагирующие на ваше присутствие. Разработчики могут отойти от создания скриптовых сценок (бывших стандартом для игр прошлого поколения), и создавать игры абсолютно новых стилей.
Source содержит в себе сложный сетевой код, обеспечивающий поддержку для 32 игроков по локальной вычислительной сети и Интернет.
Движок Source сделан с расчётом на регулярное обновление, что выражается в его широких возможностях к модификации и улучшению без изменения каких-либо ключевых архитектурных особенностей движка. В комбинации с системой цифрового распространения Steam движок может обновляться сразу после выхода обновления. Например, если Source начнет поддерживать физические карты, то все игры, распространяемые через Steam и использующие собственно Source, начнут их поддерживать. Подобное можно было наблюдать после добавления разработчиками в движок High Dynamic Range Rendering.
Впрочем, тотальная модификация всех Source-игр на практике невозможна, потому что создателям модификаций не доступна система обновлений, а значит, развивать движок могут только сами разработчики.
В Source используются шейдеры Direct3D версии 3.0.
[HEADING=2]Рендеринг в широком диапазоне яркостей[/HEADING] Впервые этот эффект был представлен в Day of Defeat: Source, который вышел 26 сентября 2005 года. Поддержка [I]HDR[/I] стала одной из первых существенных модификаций движка. Эффект заключается в динамическом изменении яркости всего или отдельных участков изображения (например, симуляция адаптации глаз к дневному свету). [HEADING=2]Лицевая анимация[/HEADING] Данная технология несколько раз совершенствовалась Valve. Лицевая анимация позволяет компьютерным персонажам максимально эффективно выражать эмоции, и отображать соответствующие произносимым звукам движения губ. Примечательно, что новая технология использует исключительно ресурсы видеокарты, снимая нагрузку с процессора. Технология доступна во всех играх, использующих движок Source, равно как и для всех модификаций для этих игр. [HEADING=2]Динамическое освещение и затенение[/HEADING] К выпуску The Orange Box была доработана система освещения. Помимо старого типа прорисовки теней была добавлена возможность просчета теней по технологии карт теней, позволяющей прорисовывать правильные динамические тени (с учетом самозатенения и прочего).Геометрия мира освещена при помощи заранее просчитанных карт освещения. Статическое освещение может с высокой точностью просчитывать освещение, включая отражение света от зеркальных или матовых поверхностей, преломление света, частичное затенение (например, полупрозрачные объекты). Любые объекты в мире могут отражать свет, уловленный с других объектов. К примеру, белый квадрат на чёрном фоне — поскольку квадрат светлее фона, то и небольшая область вокруг него будет светлее. Глубина резкости используется для того, чтобы выдвинуть некоторые объекты на первый план, а другие, те что позади, представить размытыми. Для придания нужной атмосферы может использоваться коррекция цвета. Например, можно стилизовать игру под чёрно-белый фильм. В Source используется динамическое изменение детализации моделей и геометрии мира, что значительно повышает производительность на слабых компьютерах.
Стоило бы также добавить про систему самозатенения моделей то, что она стала правильно работать ТОЛЬКО с OrangeBox, а на более ранних движках тени были под неправильным углом и отображались только на максимальных настройках графики. А также в одной из последних версий движка была добавлена смесь light_environment (Старое освещение по лайтмапам) и env_projectedtexture (Динамические тени от объектов).
[HEADING=2]Многоядерный рендеринг[/HEADING] С обновлением движка до 14 версии появилась функция многоядерного рендеринга, позволяющая получить прирост производительности на многоядерных процессорах. [HEADING=2]Система частиц[/HEADING] Наиболее продвинутая реализация эффектов окружающей среды — это система частиц. Частицы позволяют создать очень реалистичные взрывы, воду, снег. Для устранения резких границ частиц используется сглаживание. Обновление движка к выпуску [I]The Orange Box[/I] внесло новую систему частиц, с помощью которой теперь вырисовываются такие эффекты, как огонь, дым, брызги крови, и т. д. [HEADING=2]Искусственный интеллект[/HEADING] В [I]Source[/I] используется одна из самых продвинутых систем искусственного интеллекта. Персонажи под управлением искусственного интеллекта могут прыгать, бегать, летать, ползать, плавать, закапываться, атаковать. Сложное построение карт перемещений помогает неигровым персонажам обходить препятствия, прятаться за ними. Неигровые персонажи ориентируются благодаря слуху, нюху, зрению. [HEADING=2]Материалы[/HEADING] [I]Source[/I] использует систему материалов для описания свойств объекта. Из чего сделан объект, тонет ли он, как влияет на другие объекты его поверхность. Для придания материалам объёма в [I]Source[/I] используются карты нормалей, которые определяют, как будут освещены отдельные точки на поверхности. В [I]Source[/I] поддерживается смешивание текстур, мягкие переходы от одной текстуры к другой. [HEADING=2]Физика[/HEADING] Физика имитируется благодаря переработанному физическому движку [I]Havok[/I]. Он позволяет движку рассчитывать многие физические объекты, такие как твёрдые тела, упругие тела, верёвки, поверхности и т. п. В [I]Source [/I]используется технология для создания очень реалистичных транспортных средств, от машины до катера на воздушной подушке и вертолёта. Для просчёта поведения транспортного средства на дороге или в воздухе используется много параметров, например сцепление колёс с дорогой, вес машины и т. п. Для придания реалистичного движения тела используется физика «тряпичной куклы» (в последних версиях [I]Source Engine [/I]совмещена с анимацией). В [I]Source[/I] анимация может смешиваться с физикой, что дает прирост реалистичности. [HEADING=1]Лимиты[/HEADING] [I]Source Engine[/I], равно как и любой другой игровой движок, имеет ограничения и лимиты. Далее приведён список основных лимитов движка:[LIST] [*]Лимит брашей — 8192 единицы.
[*]Лимит сторон брашей — 65536 единиц.
[*]Лимит брашевых энтити — 1024 единицы.
[*]Лимит func_areaportal — 1024 единицы.
[*]Лимит cubemap — 1024 единиц.
[*]Лимит рельефных брашей (displacement) — 2048 единиц.
[*]Лимит любых энтити (кроме func_details, prop_details и prop_static) — 4098 единиц.
[*]Лимит листьев в порталах (vis) — 65536 единиц.
[*]Лимит световой памяти — 16 МБ.
[*]Лимит уникальных текстур — 1024 единицы.
[/LIST]