Source (в переводе с английского "Источник", официальное название Valve Source Engine) — 3D игровой движок, разработанный корпорацией Valve. Его особенностями считаются модульная основа и гибкость, синхронизация губ со словами, технология выражения эмоций и система физики, работающая по сети. Использует общий для продуктов Valve формат моделей движка .mdl. Физическая часть движка Source включает в себя часть переработанного кода Havok Physics.
Дебютом Source можно считать 16 ноября 2004 года — выход первых игр на его основе: Half-Life 2 и Counter-Strike: Source.
Платформы
Source доступен на следующих платформах: Windows, XBox, XBox360, PlayStation 3, ведётся портирование на Linux. Изначально Source использовался только на PС (Microsoft Windows).
Технологические возможности
Масштабируемость и возможность обновлений
Движок Source сделан с расчетом на регулярное обновление, что выражается в его широких возможностях к модификации и улучшению без изменения каких-либо ключевых архитектурных особенностей движка (вот почему, в частности, не наблюдается изменения версии движка с 1.0 до 2.0). В комбинации с системой цифрового распространения Steam движок может обновляться сразу после выхода обновления. Например, если Source начнет поддерживать физические карты, то все игры, распространяемые через Steam, начнут их поддерживать. Подобное можно было наблюдать после добавления разработчиками в движок HDR (High Dynamic Range).
Впрочем, тотальная модификация всех Source-игр на практике невозможна, потому что создателям модификаций не доступна система обновлений, а значит, развивать движок могут только сами разработчики.
High Dynamic Range Rendering
Впервые этот эффект был представлен в Day of Defeat: Source, который вышел 26 сентября 2005 года. HDR стал одной из первых существенных модификаций движка.
Лицевая анимация
Данная технология несколько раз совершенствовалась Valve. Лицевая анимация позволяет компьютерным персонажам максимально эффективно выражать эмоции, и отображать, соответствующие произносимым звукам, движения губ. Примечательно, что новая технология использует исключительно ресурсы видеокарты, снимая нагрузку с процессора. Технология доступна во всех играх, использующих движок Source, равно как и для всех модификаций для этих игр.
Динамическое освещение и затенение
К релизу Orange Box была доработана система освещения. Помимо старого типа отрисовки теней была добавлена возможность просчета теней по технологии Shadow Map, позволяющей отрисовывать правильные динамические тени (с учетом самозатенения и пр.). В Episode Two данный эффект используется только для фонарика, но, например, в Garry's Mod можно создавать неограниченное количество таких источников света.
Система мягких частиц
Обновление движка к релизу Orange Box внесло новую систему частиц, с помощью которой теперь вырисовываются такие эффекты, как огонь, дым, брызги крови и т.д.
Кинематографическая физика
Во время той же июльской пресс конференции Electronic Arts было объявлено, что бывший сотрудник Weta Digital, Грей Хорсфилд, занимается созданием системы кинематографической физики для Source. Примеры такой физики можно увидеть в последнем тизере Episode Two, в сцене с разрушающимся мостом. Кинематографическая физика поддерживает систему ключевых кадров, однако её точное поведение на данный момент точно не известно. Возможно что у аниматоров появится возможность создавать длительные сцены, с маленьким количеством ключевых моментов, детали к которым будет добавлять физическая система. Возможно, что аниматоры будут создавать несколько конечных положений, используемых для просчёта движений между ними (наподобие технологии Endorphin NaturalMotion). В конечном итоге разработчики получают в руки технологию, которая позволяет им создавать гораздо более сложные сцены, чем раньше, затрачивая на это те же самые ресурсы.
Звуковая система
Звуковая система движка построена на основе звуковой библиотеки Miles Sound System версии 6.6a. Библиотека использует для вывода звук DirectSound и программный DSP.
Истоки
Хотя Valve всегда заявляла, что Source разрабатывался полностью с нуля, ходят слухи, согласно которым этот движок является развитием движка GoldSource (Half-Life), который является модифицированной версией движка Quake. Подтверждением тому является схожая с GoldSource система доступа для разработчиков, а так же комментарий в блоге Джона Кармака: «в движке Half-Life 2 по-прежнему есть куски кода из движка Quake». Однако у этой версии нет никаких серьёзных доказательств. Утечка кода Source в 2003 году и части кода Source-игр, доступные в рамках Source SDK, не подтвердили её — никаких совпадений найдено не было. Также в Valve Developer Wiki было сказано, что Source — переделка движка GoldSrc.
Source SDK
Source SDK (Software Development Kit) — набор утилит для создания игровых уровней на движке Source, бесплатно распространяемый Valve через сеть Steam всем игрокам, купившим любую Source-игру от Valve. Данный набор позволяет редактировать карты на двух версиях движка - 14-ой и обновлённой 7-ой (старая версия движка, используемая в Half-Life 2 не используется из-за совместимости с новой версией).
Утилиты
В стандартный набор входят:
Hammer Editor — утилита для создания карт
Faceposer — утилита для создания лицевой анимации моделей
Model Viewer — просмотрщик моделей формата .mdl
Помимо трёх основных утилит, набор включает утилиту для распаковки базовых файлов при создании нового мода, а также файлы исходного кода библиотек всех игр Valve, что позволяет вручную создавать игры с изменёнными характеристиками без декомпиляции dll. Однако для компиляции новых файлов необходимо наличие редактора языка C++ со встроенным компилятором (например Visual Studio).
Source SDK Base
Также для обеих новых версий движка существуют специальные дополнения — Source SDK Base. По структуре они выглядят как игры и представляют из себя уровень-заставку из дополнения Half-Life 2: Lost Coast с эффектами HDR, служащую для тестирования видеокарты. Также они служат базой для тестирования новых модов, причём у модов без качественных изменений становится возможной проверка HDR-эффектов на картах, поэтому при создании мода Source SDK базирует его на SDK Base. Некоторые модмейкеры не изменяют базу мода на какую-нибудь Source-игру по завершении его создания, а оставляют за основу Source SDK Base. Данный подход позволяет владельцам Half-Life 2 на старой версии движка играть в моды на новой версии при отсутствии других Source-игр, но в то же время вынуждает остальных пользователей закачивать дополнительный контент.
Данный FAQ составил Yurax
769 Прочтений • [Движок игры (#3579)] [16.05.2012] [Комментариев: 0]