Русская Википедия:GoldSrc

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Карточка движка GoldSrc, или GoldSourceигровой движок, разработанный компанией Valve и впервые использованный в компьютерной игре 1998 года Half-Life.

История разработки

Файл:Quake - family tree.svg
Дерево движков, основанных на Quake engine
Файл:Тестовый уровень на движке GoldSrc (скриншот).jpg
Демонстрационный ролик Mr. Valve, показывающий раннюю графику GoldSrc[1]
Файл:Halflife ingame.jpg
Сражение на одном из уровней — плотине, в игре Half-Life

В основу движка GoldSrc положен лицензированный у id Software код игрового движка Quake engine (точнее, его улучшенной версии, созданной для QuakeWorld — сетевого обновления игры Quake[2][3]).

Использовать движок Quake тогда ещё начинающим игровым разработчикам и основателям компании Valve, Гейбу Ньюэллу и Майку Харрингтону, посоветовал известный программист Майкл Абраш, который, как и они, покинул в то время Microsoft. Примечательно, что Абраш помогал Джону Кармаку с его написанием[4].

Шаблон:Cquote

Силами Valve была произведена значительная модификация технологии: рендер (графический движок) был дополнен поддержкой Direct3D, добавлена скелетная анимация, лицевая мимика, динамическое освещение. На ранних скриншотах Half-Life, сделанных ещё в период разработки, видно[5], что движок активно использует динамические тени от объектов — возможно, их поддержка была убрана из финальной версии, так как разработчики решили, что домашние компьютеры тех времён ещё не готовы для таких сложных обработок, или они не были закончены.

Позднее в GoldSrc также были интегрированы наработки других движков, созданных id Software:

Шаблон:Cquote

Происхождение названия

За месяц до релиза Half-Life движок все еще не имел официального названия, потому множество компьютерных журналов описывали его как «основывающийся на технологии Quake».

Эрик Джонсон, директор по маркетингу Valve, на заданный ему в сообществе разработчиков вопрос о том, как возникло название «GoldSource», ответил так:

Шаблон:Cquote

Дальнейшее развитие

По мере выхода новых игр на 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 .

Примечания

Шаблон:Примечания

См. также

Ссылки

Сторонние ресурсы
Игровое сообщество

Шаблон:Технологии Valve

  1. Шаблон:Cite web
  2. 2,0 2,1 Шаблон:Cite web
  3. 3,0 3,1 3,2 Ошибка цитирования Неверный тег <ref>; для сносок quake2engine не указан текст
  4. Шаблон:Cite web
  5. Шаблон:Cite web
  6. 6,0 6,1 Шаблон:Cite web
  7. 7,0 7,1 Шаблон:Cite web
  8. 8,0 8,1 Шаблон:Cite web
  9. 9,0 9,1 Шаблон:Cite web
  10. Шаблон:Cite web
  11. Шаблон:Cite web
  12. Шаблон:Cite web
  13. Шаблон:Cite web
  14. Шаблон:Cite web
  15. Шаблон:Cite web
  16. Шаблон:Cite web
  17. 17,0 17,1 Шаблон:Cite web
  18. Шаблон:Cite web
  19. Шаблон:Cite web
  20. Шаблон:Cite web
  21. 21,0 21,1 Шаблон:Cite web
  22. Шаблон:Cite web
  23. Шаблон:Cite web
  24. Шаблон:Cite web
  25. 25,0 25,1 Шаблон:Cite web
  26. Шаблон:Cite web
  27. Шаблон:Cite web
  28. Шаблон:Cite web
  29. Шаблон:Cite web
  30. Шаблон:Cite web
  31. Шаблон:Cite web
  32. Шаблон:Cite web
  33. Шаблон:Cite web
  34. Шаблон:Cite web
  35. Шаблон:Cite web
  36. Шаблон:Cite web
  37. Шаблон:Cite web
  38. Шаблон:Cite web
  39. Шаблон:Cite web
  40. Шаблон:Cite web
  41. Шаблон:Cite web
  42. Шаблон:Cite web
  43. Шаблон:Cite web
  44. Шаблон:Cite web
  45. Шаблон:Cite web
  46. Шаблон:Cite web
  47. Шаблон:Cite web
  48. Шаблон:Cite web
  49. Шаблон:Cite web
  50. 51,0 51,1 Шаблон:Cite web
  51. Шаблон:Cite web
  52. Шаблон:Cite web
  53. Шаблон:Cite web
  54. 55,0 55,1 Шаблон:Cite web
  55. Шаблон:Cite web
  56. Шаблон:Cite web
  57. Шаблон:Cite web
  58. Шаблон:Cite web
  59. Шаблон:Cite web