Source:ru

From Valve Developer Community
Jump to: navigation, search
Deutsch Polski Русский

Quake ▶▶ Goldsource ▶▶ Source ▶▶ Source 2


Движок Source игр Half-Life 2 - переосмысление движка Goldsource из Half-Life. Кроме Half-Life 2 и её эпизодов, Source используется в Counter-Strike: Source, Counter-Strike: Global Offensive, Team Fortress 2, Left 4 Dead, Left 4 Dead 2, Portal и Portal 2.


Renderer

  • Шейдеры версии 2.0 (и ниже) , bump mapping, динамически изменяемый уровень детализации ( LOD ) для моделей и окружения (мира)
  • пользовательские шейдеры, написанные на шейдерном языке высокого уровня (High-Level Shader Language)
  • Кубическое текстурирование среды
  • Динамический свет, вертексное освещение и карты освещенности, множество типов освещения, например: мигание, пульсирование и т. д.
  • Высоко-динамичный диапазон освещения
  • Вода с отражением и эффектом Френеля
  • Продвинутая система управления частицами, способная создавать спрайты и модели
  • Технология «Projected Shadows» позволяет присутствовать большему числу персонажей в сцене
  • Специальные энтити для блокирования видимости
  • Открытые/закрытые пространства
    • Деформируемые поверхности
    • 3D скайбоксы - «трехмерное небо», расширяющее горизонт и добавляющее параллакс для удаленных объектов
    • Динамически просчитывающаяся органика (трава, деревья и т. д.)
  • Подразделенные поверхности, диффузные и зеркальные отражения
  • Эффект отраженного света в реальном времени
  • Эффекты: частицы, лучи, объемный дым, искры, кровь, эффекты окружающей среды такие как туман и дождь
  • Масштабируемость
    • Поддержка оборудования под DX8-DX9 (DX6-DX9 с модификациями и шейдерами с фиксированной функциональностью)

Система материалов

  • взамен традиционных текстур, Source работает с наборами материалов, которые определяют из чего сделан объект, какая для него нужна текстура. Материал определяет, как объект разламывается при разбивании, как он будет звучать при разбивании или волочении по другой поверхности, и какая у объекта масса и плавучесть. Эта система намного более гибкая по сравнению с любой системой основанной только на текстурах
  • Материалы могут взаимодействовать с объектами или NPC (НИП). Например, такие материалы как грязь или снег заставляют машины скользить, терять управление

Сетевой код в Source

  • Проверен временем и игроками со всего мира
  • Поддержка игры по локальной сети и через сеть Интернет
  • Анализ прогноза для интерполяции нарушений работы сети
  • Оптимизация для соединений 56кб/с с их большими потерями пакетов и высокой задержкой

Продвинутые персонажи

  • Детализованные и правдоподобные персонажи
  • Реалистичные глаза
    • Фокусируются на игроке/обьекте, а не просто параллельно направлены (в никуда)
    • Правильное строение глаза, для реалистичного отражения в глазах
  • Симуляция мускулатуры, обеспечивающей выдающиеся эмоции, речь и язык тела
  • Речь, не зависимая от языка, персонажи могут естественно говорить на многих языках
  • Система анимации, основанная на костях и скелетах
  • Многоуровневая система анимации позволяет конструировать сложные анимации из нескольких частей

Physics

  • Мир с более реалистичными взаимодействиями
  • Звуки и графические эффекты взаимосвязаны с физикой (событиями)
  • Персонажи под управлением ИИ адекватно взаимодействуют с физически смоделированными обьектами
  • Веревки/кабели, механизмы, расчет сопротивляемости материалов, моделирование физики тряпичной куклы
  • Может задаваться уровнем в зависимости от его конфигурации
  • Движения анимируются костями
  • Настраиваемые пользователем физические процессы
  • Транспорт
    • Занос и скольжение колёс
    • Реалистичная подвеска с пружинами на каждом колесе
    • Реалистичный уклон во время разгона/торможения и поворотов
    • Индивидуально настраиваемые параметры, такие как мощность(л.с.), передача, максимальная скорость, скорость перемещения, материал шин, сцепление шин с поверхностью, упругость/гашение (демпфирование) вибраций пружины и т.д.
    • Одновременно несколько игроков в транспорте в сетевом режиме
    • Поддержка воздушной подушки для лёгкой симуляции

Продвинутый ИИ

  • Система ввода/вывода позволяет контролирова ИИ конструкторам уровней
  • Усложнённая навигация: персонажи, которые бегают, летают, прыгают, приседают, карабкаются по ступенькам и лестницам, и зарываются под землю
  • ИИ ощущает окружающее используя зрение, слух, обоняние
  • Взаимодействие ИИ определяет статус друг/враг других сущностей
  • В бою ИИ Battle AI использует отряды для группового реагирования - когда действовать заранее, отступать, вести огонь под прикрытием и т.д.

Звуковая система

  • 7.1, 5.1 системы объёмного звука, окружающий звук 4х колонок
  • Высококачественное пространственное 3D
  • Пользовательская обработка плагинами DSP
  • Автоматическая DSP обработка, основанная на окружающей геометрии
  • ADPCM декомпрессия
  • 16-bit 44KHz, стереозвук со всеми функциями
  • MP3 декомпрессия (требуется лицензия Miles)
  • Поддержка потокового аудио на любой волне
  • Склейка wav-файлов в реальном времени
  • Готовые эффекты Допплера для кодированных звуков
  • Готовые эффекты, отражающие дистанцию для кодированных звуков
  • Система комментирования

Пользовательский интерфейс

  • Браузер серверов - показывает все активные игровые сервера и позволяет игроку выбрать, на каком из них играть. Игроки могут фильтровать и сортировать списки серверов для ускорения отображения и выбора сервера.
  • Friends instant messenger - (На стадии разработки) позволяет игрокам общаться с одним или несколькими друзьями в и вне игры, а также вступать приглашать друзей в игру. Не стоит больше беспокоиться, попадёте ли вы на один сервер, вы легко можете воспользоваться данной функцией. Кнопка Друзья была удалена из игрового меню и перешла в Steam Community в игре (Shift+Tab).
  • VGUI - собственный графический пользовательский интерфейс компании Valve, имитирующий большинство элементов управления Windows, но отображаемый средствами движка Source для внутри- и внеигрового отображения UI. Некоторые особенности:
    • Динамичное внутриигровое отображение HUD
    • Различные виджеты/контроллеры (т.е. кнопки, древовидные, html-контроль и т.д.)
    • Поддержка тем/пользовательской визуализации
    • Независимая платформа
    • Локализация текста (поддержка Юникода)

Программирование

  • Весь код написан на C/C++ с использованием Visual Studio .NET 2003. Лёгкое и быстрое создание новых сущностей из существующих базовых.
  • Встроенная система мониторинга производительности
  • Система измерения производительности графики встроена в движок
  • Модульный дизайн кода (через DLL) позволяет заменять компоненты кода для легкой модернизации или замены
  • DX9 шейдеры записаны на HLSL.

Инструменты

  • Face Poser
    • Инструмент модулирования мимики для создания речи и эмоций
  • Valve Hammer Editor
  • Half-Life Model Viewer
  • Studiomdl
    • Компиляция моделей
  • Vbsp, Vrad, Vvis, Vmpi
    • Инструменты для компилирования карт (bsp, освещения и видимости)
    • VMPI - инструмент для компиляции, позволяющий распределять создание уровней через множество компьютеров, значительно уменьшая время расчета
  • Экспортеры
    • XSI, Max и Maya плагины для экспорта моделей в формат .smd

Смотрите также