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