Source/ru

From Valve Developer Community
Jump to: navigation, search

Source Source — это движок для разработки 3D игр, созданный компанией Valve, является преемником GoldSource. Source используется как самой Valve, так и сторонними компаниями. Так же, как и GoldSource, движок может использоваться для создания различных модификаций от сообщества людей по всему миру.

Скриншот из игры Counter-Strike: Source, использующей движок Source.
Скриншот из игры Counter-Strike: Global Offensive, использующей обновлённую ветку движка Source.

Рендерер

  • Версии 3.0 (и ниже) шейдеры
  • Bump mapping и Normal mapping для моделей и карты
  • Авторские шейдеры на языке HLSL
  • Отражения с помощью cubemap
    • Отражения cubemap также поддерживают анизотропную фильтрацию (in all games since Counter-Strike: Global Offensive)
  • Шейдинг моделей с параметром Phong
    • Phong также поддерживается брашами уровней (in all games since Counter-Strike: Global Offensive)
  • Динамическое освещение, вершинное освещение и light maps, множество типов света, включая мерцание, пульсацию и т.д.
  • HDR и LDR освещение
  • Вода с преломлением света, отражения мира в реальном времени с применением формул Френеля
  • Продвинутая система частиц, испускающая как спрайты, так и модели
  • Проецируемые на текстуру тени, учитывающие большое количество персонажей в сцене
  • Энтити для блокирования видимости
  • Поддержка открытых/закрытых пространств
    • Деформируемые поверхности
    • 3D Скайбоксы создающие более разнообразный горизонт и добавляющие эффект параллакса на удалённых объектах
    • Динамически обрабатываемая органика (трава, деревья и т. д.)
  • Subdivision поверхности, diffuse и specular бамп карты
  • Диффузное освещение в реальном времени
  • Каскадные карты теней в реальном времени из скайбокса (in all games since Counter-Strike: Global Offensive)
  • Некоторый перечень имеющихся эффектов, но не ограничивающиеся ими: частицы, лучи, объёмный дым, искры, кровь, эффекты окружающей среды вроде тумана и дождя
  • Масштабируемость
    • Поддержка DX8-DX9 (DX6-DX9 с некоторыми изменениями и исправленными функциями шейдеров)

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

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

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

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

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

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

Физика

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

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

  • Система ввода/вывода позволяет контролировать ИИ в редакторе уровней Hammer
  • Усложнённая навигация: персонажи, умеющие бегать, летать, прыгать, приседать, карабкаться по ступенькам и лестницам и зарываться под землю
  • ИИ реагирует на окружающую среду, используя зрение, слух, обоняние
  • Взаимодействие ИИ определяет статус друг/враг других сущностей
  • В бою ИИ, использующий 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.
  • Система VScript позволяет использовать на картах внешние языки программирования, такие как Squirrel и Lua, для создания более сложных систем (in all games since Left 4 Dead 2)

Инструменты

Игры на Source

Valve

Игры созданные Valve:

Полный список игр можно найти здесь

Сторонние

Игры и моды, сделанные сторонними компаниями и командами модмейкеров:

Моды на движке Source

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