GoldSource: различия между версиями

Материал из Old-Games.RU Wiki
Перейти к навигации Перейти к поиску
 
(не показано 10 промежуточных версий 4 участников)
Строка 1: Строка 1:
'''GoldSource''' — игровой движок, созданный компанией [[Valve]] по лицензии [[id Software]]. Является сильно модифицированным (около 80% оригинального кода было переписано/дополнено) движком Quake Engine (так же известного, как [[id Tech 1]]). Использовался в [[Half-Life]] и [[Gunman Chronicles]].
+
'''GoldSource''' — игровой движок, созданный компанией [[Valve]] по лицензии [[id Software]]. Является сильно модифицированным (около 80% оригинального кода было переписано/дополнено) движком QuakeWorld (доработанная версия движка Quake Engine, также известного как [[id Tech 1]]). Использовался в [[Half-Life]], [[Counter-Strike]] и [[Gunman Chronicles]].
  
 
== Главные особенности ==
 
== Главные особенности ==
Строка 11: Строка 11:
 
Все файлы, отвечающие за голоса персонажей, прописаны в файле ''sound/sentences.txt''. Таким образом, фраза любого персонажа может быть удалена или переименована (либо можно сделать немым всего персонажа) просто путём правки строк в этом файле, без какой-либо перекомпиляции игры. Изменения немедленно последуют при следующем запуске.
 
Все файлы, отвечающие за голоса персонажей, прописаны в файле ''sound/sentences.txt''. Таким образом, фраза любого персонажа может быть удалена или переименована (либо можно сделать немым всего персонажа) просто путём правки строк в этом файле, без какой-либо перекомпиляции игры. Изменения немедленно последуют при следующем запуске.
  
Также технология позволяет автоматически синхронизировать губы с речевой записью, на каком бы языке она не была. Для реалистичного движения губами моделями персонажей запись должна быть приемливой громкости, не чрезмерно громкой. В противном случае, запускается анимация ОРА, когда его, вообщем-то, нет. При моделировании персонажей с учётом этой особенности движка, группы и кости, относящиеся к ротовой полости персонажа в игре, просто должны иметь правильные имена. Всё остальное — сделает движок.
+
Также технология позволяет автоматически синхронизировать губы с речевой записью, на каком бы языке она ни была. Для реалистичного движения губами моделями персонажей запись должна быть приемлемой громкости - не чрезмерно громкой. В противном случае запускается анимация ОРА, когда его, в общем-то, нет. При моделировании персонажей с учётом этой особенности движка группы и кости, относящиеся к ротовой полости персонажа в игре, просто должны иметь правильные имена. Всё остальное сделает движок.
  
Наиболее интересно эта технология применена в [[Half-Life]] при создании голоса компьютера (тот, который говорит «Access denied» и т. п.) и радиосообщений солдат. Целые фразы, «собираются» из отдельных .wav-файлов. Пример:
+
Наиболее интересно эта технология применена в [[Half-Life]] при создании голоса компьютера (тот, который говорит «Access denied» и т. п.) и радиосообщений солдат. Целые фразы «собираются» из отдельных *.wav-файлов. Пример:
 
* В папке ''sound/vox'' имеем файлы gordon.wav, freeman.wav, sorry.wav, but.wav, you.wav, idiot.wav.
 
* В папке ''sound/vox'' имеем файлы gordon.wav, freeman.wav, sorry.wav, but.wav, you.wav, idiot.wav.
*Идём в ''sound/sentences.txt'' и прописываем эту последовательность wav-файлов, а также техназвание фразы, которое вызовем из редактора карт. На карте ставим scripted_sentence, trigger_once и ссылаемся на это название. Теперь, откомпилировав карту, слышим заданную последовательность.
+
*Идём в ''sound/sentences.txt'' и прописываем эту последовательность wav-файлов, а также название фразы, которое вызовем из редактора карт. На карте ставим scripted_sentence, trigger_once и ссылаемся на это название. Теперь, откомпилировав карту, слышим заданную последовательность.
  
НИ ОДИН русификатор, ни [[7-ой волк]], ни [[Фаргус]], ни [[Zone of Games]], ни кто-то еще, кто когда-либо прикасался к Half-Life и озвучивал её, не справился с этой задачей на 100 %. Голос компьютера или вырезан, или оставлен на английском, или несёт непонятный бред, мало связанный по правилам русского языка. Последнее правило относится и к радиопереговорам солдат. Гениальная технология. И лишний повод хотя бы раз сыграть в оригинал этой культовой игры. И все это при том, что нужный файл находился прямо под носом в папке sound.
+
НИ ОДИН русификатор, ни [[7-ой волк]], ни [[Фаргус]], ни [[Zone of Games]], ни кто-то еще, кто когда-либо прикасался к Half-Life и озвучивал её, не справился с этой задачей на 100 %. Голос компьютера или вырезан, или оставлен на английском, или несёт непонятный бред, мало связанный с правилами русского языка. Последнее правило относится и к радиопереговорам солдат. Гениальная технология. И лишний повод хотя бы раз сыграть в оригинал этой культовой игры. И всё это притом, что нужный файл находился прямо под носом в папке sound.
  
 
== Редактор карт ==
 
== Редактор карт ==
  
Первоначальный редактор разработан Беном Моррисом и размещен в сети в сентябре 1996 для создания карт к [[Quake]]. 14 июля 1997 года, Valve использует редактор при создании Half-Life. Версия 1.2 позволяла также работать с [[Quake 2]], но уже в версии 2.0, такая возможность была убрана. В версии 3.3, которая появилась в 2003 добавлена возможность рендеринга карты с помощью [[OpenGL]] — без "квадратиков". Для GoldSource последней стала версия 3.5, выпущенная, как бета. Добавлена возможность отображение mdl-моделей в редакторе, вставленных на карту, тем самым упрощен процесс создания карт. Ранее, людям, создающим карты, необходимо было в уме держать сколько "квадратов" в редакторе, каким метрам-сантиметрам соответствуют. В противном случае, есть возможность сделать диван размером со столб. А игрок, монстры и прочие объекты отображались как розовые квадраты. В новой версии, человек создающий карту, просто ставит точку старта игрока или монстра и подстраивает все размеры, в соответствии с этим.
+
Первоначальный редактор разработан Беном Моррисом и размещен в сети в сентябре 1996 года для создания карт к [[Quake]]. 14 июля 1997 года Valve использует редактор при создании Half-Life. Версия 1.2 позволяла также работать с [[Quake 2]], но уже в версии 2.0 такая возможность была убрана. В версии 3.3, которая появилась в 2003 году, добавлена возможность рендеринга карты с помощью [[OpenGL]] — без "квадратиков". Для GoldSource последней стала версия 3.5, выпущенная как бета. Добавлена возможность отображение mdl-моделей в редакторе, вставленных на карту, - тем самым упрощен процесс создания карт. Ранее людям, создающим карты, необходимо было в уме держать сколько "квадратов" в редакторе, каким метрам-сантиметрам они соответствуют. В противном случае есть возможность сделать диван размером со столб. А игрок, монстры и прочие объекты отображались как розовые квадраты. В новой версии человек, создающий карту, просто ставит точку старта игрока или монстра и подстраивает все размеры в соответствии с этим.
  
Линейка 4.0. работает с движком Source. Есть возможность работы со старым движком, но и новые подводные камни - новый редактор требует [[Steam]].  
+
Линейка 4.0 работает с движком Source. Есть возможность работы со старым движком, но и новые подводные камни - новый редактор требует [[Steam]].  
  
В качестве алгоритма рендеринга карт, движок использует [[BSP]].
+
В качестве алгоритма рендеринга карт движок использует [[BSP]].
  
 
== Усовершенствования ==
 
== Усовершенствования ==
  
GoldSource так и не является движком с открытым исходным кодом в традиционном значении слова (должно быть открыто ВСЕ), однако и те исходники, которые открыты порадили МОДы, добавляющие новые графические возможности.  
+
GoldSource так и не стал движком с открытым исходным кодом в традиционном значении слова (должно быть открыто ВСЁ), однако и те исходники, которые открыты, породили МОДы, добавляющие новые графические возможности.  
  
Наиболее интересные из них - [http://hlfx.ru/ HLFX] и [http://paranoia.level-design.ru/index_rus.htm Paranoia], последняя распространяется с отдельной сюжетной линией, однако и ее можно использовать как надстройку для улучшения возможностей движка.
+
Наиболее интересные из них - [http://hlfx.ru/ HLFX] и [http://paranoia.level-design.ru/index_rus.htm Paranoia]; последняя распространяется с отдельной сюжетной линией, однако и ее можно использовать как надстройку для улучшения возможностей движка.
  
 
Отдельно можно выделить усовершенствования компилятора карт qtools:
 
Отдельно можно выделить усовершенствования компилятора карт qtools:
Строка 39: Строка 39:
 
ZHLT Custom Build
 
ZHLT Custom Build
  
В числе возможностей, в частности, отображение при ошибке компиляции не только кода ошибки, но и ее понятного описания, что упрощает процесс создания карты. Исправлена ошибка, при определенных условиях, позволяющая проходить через небо на откомпилированных картах (пример - игрок находится на крыше) и много других улучшений, что не даром привело к вытеснению qtools при создании карт на движке после 2002.
+
В числе возможностей, в частности, отображение при ошибке компиляции не только кода ошибки, но и ее понятного описания, что упрощает процесс создания карты. Исправлена ошибка, при определенных условиях позволяющая проходить через небо на откомпилированных картах (пример - игрок находится на крыше), и добавлено много других улучшений, что недаром привело к вытеснению qtools при создании карт на движке после 2002 года.
 +
 
 +
== Миф о доработанном GoldSource в Half-Life 2 ==
 +
 +
Вопреки распространенным мифам, Source не является улучшенной версией этого движка. Код Source - абсолютно новая разработка (не считая редактора карт).
 +
 +
{{цитата|[...]Нужно было переделать каждый отдельный элемент игры, начиная с самого основного - движка. Постепенно было принято решение отказаться от старого движка Half-Life, основанного на Quake. Valve начала разрабатывать что-то совершенно новое: собственный движок, теперь известный как Source[...]|Книга Half-Life:Rising the Bar}}
 +
 +
Так, на форумах встречались посты вроде "тот же движок, но добавлено 50 строк кода." Какому-нибудь обывателю простительно думать, что нашел переменную, в которой прописано максимально возможное количество полигонов, увеличил её - и перед тобой новый движок. Но не всё так просто: почему Half-Life 2 разрабатывался 6 лет? Игровой движок - сложный механизм и содержит много различных элементов. К примеру, можно увеличить максимальное пространство карт, но только в игре. В редакторе карт оно остается тем же - значит, нужно изменить и его. Ладно, увеличили. Теперь, скорее всего, эта карта тормозит на компьютере абсолютно любой конфигурации, даже на видеокарте, выпущенной месяц назад. Вот тут нужно кардинально изменять рендер, и 50 строками кода не обойтись. Valve - это не простые потребители игр, сидящие на форумах, это профессионалы. И они поняли, что, чем дорабатывать написанное 10 лет назад, проще и лучше написать новое.
  
 
== См. также ==
 
== См. также ==
Строка 47: Строка 55:
  
 
[[Категория:Игровые движки]]
 
[[Категория:Игровые движки]]
[[Категория:Мастерская]]
 

Текущая версия на 21:37, 17 февраля 2016

GoldSource — игровой движок, созданный компанией Valve по лицензии id Software. Является сильно модифицированным (около 80% оригинального кода было переписано/дополнено) движком QuakeWorld (доработанная версия движка Quake Engine, также известного как id Tech 1). Использовался в Half-Life, Counter-Strike и Gunman Chronicles.

Главные особенности

  • Текст вынесен из исполняемого файла в отдельные файлы — упрощает как процесс перевода готовой игры на другой язык, так и процесс создания новых проектов на движке (не требуется перекомпиляция).
  • Поддержка более чётких текстур, моделей, а также карт, содержащих бо́льшее, чем в Quake, количество полигонов.
  • Усовершенствовано освещение. Quake, к примеру, не баловал мигающим светом.

Новая звуковая технология

Все файлы, отвечающие за голоса персонажей, прописаны в файле sound/sentences.txt. Таким образом, фраза любого персонажа может быть удалена или переименована (либо можно сделать немым всего персонажа) просто путём правки строк в этом файле, без какой-либо перекомпиляции игры. Изменения немедленно последуют при следующем запуске.

Также технология позволяет автоматически синхронизировать губы с речевой записью, на каком бы языке она ни была. Для реалистичного движения губами моделями персонажей запись должна быть приемлемой громкости - не чрезмерно громкой. В противном случае запускается анимация ОРА, когда его, в общем-то, нет. При моделировании персонажей с учётом этой особенности движка группы и кости, относящиеся к ротовой полости персонажа в игре, просто должны иметь правильные имена. Всё остальное сделает движок.

Наиболее интересно эта технология применена в Half-Life при создании голоса компьютера (тот, который говорит «Access denied» и т. п.) и радиосообщений солдат. Целые фразы «собираются» из отдельных *.wav-файлов. Пример:

  • В папке sound/vox имеем файлы gordon.wav, freeman.wav, sorry.wav, but.wav, you.wav, idiot.wav.
  • Идём в sound/sentences.txt и прописываем эту последовательность wav-файлов, а также название фразы, которое вызовем из редактора карт. На карте ставим scripted_sentence, trigger_once и ссылаемся на это название. Теперь, откомпилировав карту, слышим заданную последовательность.

НИ ОДИН русификатор, ни 7-ой волк, ни Фаргус, ни Zone of Games, ни кто-то еще, кто когда-либо прикасался к Half-Life и озвучивал её, не справился с этой задачей на 100 %. Голос компьютера или вырезан, или оставлен на английском, или несёт непонятный бред, мало связанный с правилами русского языка. Последнее правило относится и к радиопереговорам солдат. Гениальная технология. И лишний повод хотя бы раз сыграть в оригинал этой культовой игры. И всё это притом, что нужный файл находился прямо под носом в папке sound.

Редактор карт

Первоначальный редактор разработан Беном Моррисом и размещен в сети в сентябре 1996 года для создания карт к Quake. 14 июля 1997 года Valve использует редактор при создании Half-Life. Версия 1.2 позволяла также работать с Quake 2, но уже в версии 2.0 такая возможность была убрана. В версии 3.3, которая появилась в 2003 году, добавлена возможность рендеринга карты с помощью OpenGL — без "квадратиков". Для GoldSource последней стала версия 3.5, выпущенная как бета. Добавлена возможность отображение mdl-моделей в редакторе, вставленных на карту, - тем самым упрощен процесс создания карт. Ранее людям, создающим карты, необходимо было в уме держать сколько "квадратов" в редакторе, каким метрам-сантиметрам они соответствуют. В противном случае есть возможность сделать диван размером со столб. А игрок, монстры и прочие объекты отображались как розовые квадраты. В новой версии человек, создающий карту, просто ставит точку старта игрока или монстра и подстраивает все размеры в соответствии с этим.

Линейка 4.0 работает с движком Source. Есть возможность работы со старым движком, но и новые подводные камни - новый редактор требует Steam.

В качестве алгоритма рендеринга карт движок использует BSP.

Усовершенствования

GoldSource так и не стал движком с открытым исходным кодом в традиционном значении слова (должно быть открыто ВСЁ), однако и те исходники, которые открыты, породили МОДы, добавляющие новые графические возможности.

Наиболее интересные из них - HLFX и Paranoia; последняя распространяется с отдельной сюжетной линией, однако и ее можно использовать как надстройку для улучшения возможностей движка.

Отдельно можно выделить усовершенствования компилятора карт qtools:

ZHLT

ZHLT Custom Build

В числе возможностей, в частности, отображение при ошибке компиляции не только кода ошибки, но и ее понятного описания, что упрощает процесс создания карты. Исправлена ошибка, при определенных условиях позволяющая проходить через небо на откомпилированных картах (пример - игрок находится на крыше), и добавлено много других улучшений, что недаром привело к вытеснению qtools при создании карт на движке после 2002 года.

Миф о доработанном GoldSource в Half-Life 2

Вопреки распространенным мифам, Source не является улучшенной версией этого движка. Код Source - абсолютно новая разработка (не считая редактора карт).

Aquote1.png
[...]Нужно было переделать каждый отдельный элемент игры, начиная с самого основного - движка. Постепенно было принято решение отказаться от старого движка Half-Life, основанного на Quake. Valve начала разрабатывать что-то совершенно новое: собственный движок, теперь известный как Source[...]
Aquote2.png
Книга Half-Life:Rising the Bar

Так, на форумах встречались посты вроде "тот же движок, но добавлено 50 строк кода." Какому-нибудь обывателю простительно думать, что нашел переменную, в которой прописано максимально возможное количество полигонов, увеличил её - и перед тобой новый движок. Но не всё так просто: почему Half-Life 2 разрабатывался 6 лет? Игровой движок - сложный механизм и содержит много различных элементов. К примеру, можно увеличить максимальное пространство карт, но только в игре. В редакторе карт оно остается тем же - значит, нужно изменить и его. Ладно, увеличили. Теперь, скорее всего, эта карта тормозит на компьютере абсолютно любой конфигурации, даже на видеокарте, выпущенной месяц назад. Вот тут нужно кардинально изменять рендер, и 50 строками кода не обойтись. Valve - это не простые потребители игр, сидящие на форумах, это профессионалы. И они поняли, что, чем дорабатывать написанное 10 лет назад, проще и лучше написать новое.

См. также