Русская Википедия:GoldSrc
Шаблон:Карточка движка GoldSrc, или GoldSource — игровой движок, разработанный компанией Valve и впервые использованный в компьютерной игре 1998 года Half-Life.
История разработки
В основу движка GoldSrc положен лицензированный у id Software код игрового движка Quake engine (точнее, его улучшенной версии, созданной для QuakeWorld — сетевого обновления игры Quake[2][3]).
Использовать движок Quake тогда ещё начинающим игровым разработчикам и основателям компании Valve, Гейбу Ньюэллу и Майку Харрингтону, посоветовал известный программист Майкл Абраш, который, как и они, покинул в то время Microsoft. Примечательно, что Абраш помогал Джону Кармаку с его написанием[4].
Силами Valve была произведена значительная модификация технологии: рендер (графический движок) был дополнен поддержкой Direct3D, добавлена скелетная анимация, лицевая мимика, динамическое освещение. На ранних скриншотах Half-Life, сделанных ещё в период разработки, видно[5], что движок активно использует динамические тени от объектов — возможно, их поддержка была убрана из финальной версии, так как разработчики решили, что домашние компьютеры тех времён ещё не готовы для таких сложных обработок, или они не были закончены.
Позднее в GoldSrc также были интегрированы наработки других движков, созданных id Software:
Происхождение названия
За месяц до релиза Half-Life движок все еще не имел официального названия, потому множество компьютерных журналов описывали его как «основывающийся на технологии Quake».
Эрик Джонсон, директор по маркетингу Valve, на заданный ему в сообществе разработчиков вопрос о том, как возникло название «GoldSource», ответил так:
Дальнейшее развитие
По мере выхода новых игр на GoldSource, в него вводилась поддержка новых функций.
В Counter-Strike: Condition Zero (2004 год) добавлена поддержка детальных текстур (Шаблон:Lang-en)[6]. Задача детальных текстур — частично компенсировать невысокое разрешение исходной текстуры, накладывая поверх нее текстуру с деталями, «шероховатостями» объекта. Также появилась поддержка альфа-текстур, которая позволила задавать степень прозрачности объектам или отдельным элементам объекта (так, например, можно сделать полупрозрачным шлем бойца спецназа).
В James Bond 007: Nightfire (2002 год), в которой использовалась значительно улучшенная силами компании Gearbox Software версия движка, было сделано множество графических улучшений. В интервью авторы отмечают поддержку больших открытых пространств, детализированных текстур и моделей, погодных эффектов (грозы и вспышек молнии), процедурно сгенерированных облаков (вместо скайбоксов, с которыми работает оригинальный GoldSrc) и воды с отражениями[7][8][9], а рендер переведен с DirectX 6 на DirectX 8[10]. Редактор карт переделан как Gearcraft Editor[11]. Этот вариант движка получил внутреннее название Gearcraft Engine и был использован только в Nightfire.
Преемник движка GoldSource, разработанный Valve, — движок Source — стал главным составляющим игры Half-Life 2 2004 года[12]. Новая версия движка стала поддерживать игровые консоли Xbox, Xbox 360 и PlayStation 3. Структура движка перетерпела множество изменений. Source стал одним из первых движков, активно использущим шейдеры: особенностями движка стали реалистичная вода с преломлениями и отражениями окружающего мира, динамические тени от персонажей и объектов, динамическое освещение и затенение, HDR-рендеринг, развитая и проработананая система частиц. Помимо этого, одной из особенностей стал физический движок, основанный на Havok.[13][14] Технология Source активно дорабатывалась с выходом новых игр и продолжает получать обновления. Для работы с движком и создателей модов авторы выпустили набор инструментов Source SDK[15].
В 2015 году был представлен новый движок Valve, Source 2, дебютировавший в Dota 2 (2015) и затем использованный в Half-Life: Alyx (2020) и Counter-Strike 2 (2023)[16].
Пользовательские модификации игр на GoldSrc продолжают создаваться авторами до сих пор[17]. Примечательно, что и сама Valve продожила выпускать обновления для своей линейки игр на GoldSrc, как касающиеся исправления мелких недочётов, так и более крупные — так, в 2013 году все игры серии Half-Life получили поддержку Linux и Mac OS X[18].
Технические характеристики
GoldSrc представляет собой игровой движок, написанный на языке C++ и основанный на кодах Quake engine, Quake 2 engine (id Tech 2) и других кодах, предоставленных Valve id Software (см. выше)[2][3]. Как отмечается авторами, он был в значительной степени написан силами самой Valve[3].
В частности, разработчиками был переписан рендерер — компонент, отвечающий за отображение игровой графики. Он работает под управлением Direct3D, OpenGL и софтверным рендерингом (поддержка Direct3D была убрана из игр Half-Life в 2013 году, с добавлением поддержки Linux), реализуя 16-битную глубину цвета. Была добавлена новая на тот момент система цветного освещения[19], высокополигональные модели и текстуры смогли продемонстрировать более высокое качество, в сравнении с Quake 1. Помимо этого, поддерживались прозрачные текстуры. С появлением Counter-Strike: Condition Zero, добавились альфа-текстуры и техника детальных текстур (Шаблон:Lang-en) для лучшей проработанности текстур, когда игрок находится рядом с объектом[6].
Как и Quake, GoldSrc использует BSP-систему для построения уровней. Для создания эффекта окружения на открытых локациях, используются скайбоксы — статичные текстуры, которые имитируют собой находящийся вдали пространства, небо и т.д.[20]
Используется продвинутая, на момент выпуска, система игрового ИИ, позволяющая, помимо прочего, объединяться в группы (Шаблон:Lang-en) противникам или союзникам игрока, например, чтобы противостоять ему[21]. Помимо этого, игры на движке GoldSrc отличало широкое использование скриптовых сценок для построения сюжетного повествования внутри игрового процесса[21]. Также Half-Life стала одной из первых, где игрока могли сопровождать дружественные ему NPC[22].
Средства разработки
В Steam доступен набор инструментов, названный Half-Life SDK, содержащий редактор уровней, исходные коды для программирования, а также библиотеки спрайтов и текстур[23]. Подробное описание всех терминов, связанных с разработкой под GoldSrc и связанную информацию, можно найти в официальной вики разработчиков Valve, Valve Developer Community[24].
В качестве редактора уровней самими разработчиками использовался Valve Hammer Editor, ранее называвшийся Worldcraft (и имевший первоначальное название The Forge в первой CD-версии Half-Life)[25] — он же входит и в SDK. Последней версией Hammer, работающей с GoldSrc, стала 3.5.[25]
Другие редакторы карт, поддерживающие движок GoldSrc: GtkRadiant, QuArK, Qoole, Tread 3D, Sledge Editor[26], а также J.A.C.K., новый редактор, впервые выпущенный в 2016 году[27].
Трёхмерные модели для GoldSrc хранятся в .SMD-файлах и могут быть экспортированы в этот формат автором модели при помощи плагинов для популярных 3D-редакторов, таких как 3ds Max, Maya и Blender[28]. В ПО MilkShape 3D есть встроенная поддержка этого формата, позволяющая как импортировать и редактировать модель, так и экспортировать ее в другие популярные форматы[29]. Для простого предварительного просмотра моделей может быть использована официальная утилита Half-Life Model Viewer (HLMV)[30].
Для просмотра текстур, сложенных в файлы с расширением .WAD, может быть использована утилита Wally[31].
Ресурсы, как правило, находятся в архивах с расширением .PAK[32], они представляют собой несжатые ZIP-архивы[33] с изменённым расширением и открываются в любом архиваторе.
Открытая архитектура и изначальное наличие нужного программного обеспечения позволила самим игрокам создать множество модификаций, некоторые из которых являются скорее отдельными играми, используя файлы оригинала как техническую базу (например, трилогия They Hunger[34], Natural Selection[35], Underworld Bloodline[36][37], Poke646 и Poke646: Vendetta[38], Wanted![39], Half-Life Rally[40], Digital Paintball[41] и другие)[17].
Игры, использующие GoldSrc
Название | Дата выпуска | Разработчик | Примечание |
---|---|---|---|
Half-Life: Day One | 2 сентября 1998 | Valve | Демоверсия Half-Life для поставщиков компьютеров, которая включает в себя уровни «первого дня», проведённого главным героем в комплексе Чёрная Меза. |
Half-Life | 8 ноября 1998[42] | Valve | Первая игра в серии шутеров Half-Life. |
Half-Life: Uplink | 12 февраля 1999 | Valve | Демоверсия Half-Life, выпущенная для продвижения полноценной игры, распространявшаяся, в том числе, на дисках-приложениях для журналов. Состоит из трех сюжетных карт, разработанных специально для этой версии, и тренировочного уровня[43]. |
Team Fortress Classic | 7 апреля 1999 | Valve | Многопользовательский шутер, который изначально поставлялся как дополнение к Half-Life. |
Half-Life: Opposing Force | 31 октября 1999[44] | Gearbox Software | Новая игра в серии, выпущенная как официальное самостоятельное дополнение для Half-Life: игроку, управляя другим главным героем, предстоит увидеть события в Черной Мезе под другим углом. |
Ricochet | 1 ноября 2000 | Valve | Многопользовательский аркадный платформер. |
Counter-Strike | 8 ноября 2000 | Valve | Популярный многопользовательский шутер. Counter-Strike в виде самостоятельной игры, выпущенная в 2000 году, основана на одноименном моде для Half-Life; первая игра в одноимённой серии. Последняя версия — 1.6. |
Gunman Chronicles | 19 ноября 2000[45] | Rewolf Software | Однопользовательский шутер. Первая игра на движке GoldSrc от сторонней компании (не считая Opposing Force). |
Absolute Redemption | ноябрь 2000[46] | Maverick Developmentsd | Однопользовательский шутер, мод для Half-Life. Absolute Redemption привлекла внимание Valve, будучи выпущенная как бесплатный мод, получив одобрение на выпуск в виде коммерческого продукта. Также Maverick Developments разработала тренировочный уровень для коммерческой версии Counter-Strike. |
Half-Life: Blue Shift | 11 июня 2001[47] | Gearbox Software | Второе официальное дополнение к Half-Life. Так же, как Opposing Force, представляет игроку другой взгляд на события игры и другого главного героя. В комплекте поставляется дополнение Half-Life High Definition Pack, улучшающее графику предыдущих игр. |
Deathmatch Classic | 11 июня 2001 | Valve | Многопользовательский шутер, вдохновленный оригинальным сетевым режимом Quake. |
Half-Life: Decay | 11 ноября 2001[48] | Gearbox Software | Официальное дополнение для Half-Life, вышедшее только для PlayStation 2 (позднее группа энтузиастов неофициально портировала игру на ПК). |
Tutus | сентябрь 2002 | Maverick Developments | Интерактивное приложение, созданное Maverick Developments, выпустившими Absolute Redemption и мод Wanted!. Предназначено для обучения работников технике безопасности[49][50], не было доведено до финальной версии[51]. |
James Bond 007: Nightfire | 18 ноября 2002[52] | Gearbox Software | Шпионский боевик о Джеймсе Бонде. Движок был в значительной степени доработан силами Gearbox и назван Gearcraft Engine: добавлено множество улучшений, в том числе поддержка больших открытых пространств, детализированных текстур и моделей, погодных эффектов и т.п.[7][8][9] |
Day of Defeat | 6 мая 2003[53] | Valve | Многопользовательский шутер на тематику Второй мировой войны; первоначально, как Team Fortress и Counter-Strike, был модификацией. |
Counter-Strike Neo | 11 июня 2003 | Namco | Отдельная часть Counter-Strike, адаптированная для японской аудитории игроков и устанавливаемая в игровые автоматы Namco System N2[54]. |
Counter-Strike (Xbox) | 18 ноября 2003 | Valve, Ritual Entertainment, Turtle Rock Studios | Отдельная игра серии, разработанная специально для консоли Xbox. Обратно совместима с Xbox 360. |
Counter-Strike: Condition Zero | 23 марта 2004[55] | Valve, Gearbox Software, Ritual Entertainment, Turtle Rock Studios | Шутер от первого лица, сочетающий в себе как однопользовательский, так и многопользовательский режимы. Примечателен очередной серьёзной модификацией движка, помимо прочего, привнесшего технику детальных текстур. |
Counter-Strike: Condition Zero — Deleted Scenes | 23 марта 2004[55] | Ritual Entertainment | «Сюжетная» версия Counter-Strike: Condition Zero, была первоначально вырезана из оригинальной игры, но затем была доработана как самостоятельная игра. Поставляется с Condition Zero. |
Counter-Strike Neo ver. 2. | 27 октября 2005 | Namco | Второй релиз игры для игровых автоматов. |
Counter-Strike Online | 24 июля 2008[56] | Nexon | Версия Counter-Strike для азиатской аудитории и доступная только на корейском, японском, китайских языках. |
Cry of Fear | 25 апреля 2013 | Team Psykskallar | Первоначально выпущена в 2012 году как мод для Half-Life, однако позднее вышла в виде отдельной бесплатной игры в Steam. |
Counter-Strike Nexon: Studio | 7 октября 2014 | Nexon | Развитие Counter-Strike Online. Содержит весь контент Counter-Strike Online и Counter-Strike 1.6. Предназначена не только для азиатской аудитории и имеет перевод на множество языков. Изначально называлась Counter-Strike Nexon: Zombies; в 2019 году переименована в Counter-Strike Nexon: Studio. |
Sven Co-op | 22 января 2016[57] | Sven Co-op Team | Первоначально выпущена как любительская модификация к Half-Life в 1999 году. В 2013 году Valve предоставила команде движок, что позволило им значительно модифицировать его, назвав его Svengine[58][59], и впоследствии выпустить Sven Co-op как игру[60]. |
Dismounted Infantry Virtual Environment | Дата выпуска неизвестна | Maverick Developments | Интерактивное обучающее приложение для сотрудников, похожее на Tutus, созданное по заказу Минобороны Великобритании[51]. |
Half-Life (Dreamcast) | Отменена | Captivation Digital Laboratories, Gearbox Software | Разрабатывавшийся для консоли Dreamcast порт Half-Life 1, отмененный в 2001 году. |
Half-Life: Hostile Takeover | Отменена | 2015, Inc. | Отмененная игра, официальное самостоятельное дополнение во вселенной Half-Life 1, шедшее наряду с Blue Shift и Opposing Force . |
Примечания
См. также
Ссылки
- Сторонние ресурсы
- Игровое сообщество
- ↑ Шаблон:Cite web
- ↑ 2,0 2,1 Шаблон:Cite web
- ↑ 3,0 3,1 3,2 Ошибка цитирования Неверный тег
<ref>
; для сносокquake2engine
не указан текст - ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 6,0 6,1 Шаблон:Cite web
- ↑ 7,0 7,1 Шаблон:Cite web
- ↑ 8,0 8,1 Шаблон:Cite web
- ↑ 9,0 9,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 17,0 17,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 21,0 21,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 25,0 25,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 51,0 51,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 55,0 55,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web