Всем доброго времени суток. Сегодня мы отвлечемся от устройства компьютеров, консольных команд и поговорим об играх. Как же они работают? Что у них внутри?
Итак. В основе игры или игрового приложения лежит так называемый "игровой движок" (Game Engine). Это базовое программное обеспечение игры и представляет собой набор компонентов или подсистем, которые, при взаимодействии друг с другом, делают процесс игры возможным.
Какие наиболее важные подсистемы входят в игровой движок:
- Движок рендеринга (визуализации)
- Физический движок
- Система ввода/вывода
- Система скриптов
- Система искусственного интеллекта
- Звуковой движок
Эти компоненты мы рассмотрим более подробно в следующих статьях, а пока давайте поговорим о том, что делают разработчики для того, чтобы их игры были кроссплатформенными.
Для того, чтобы игра запускалась на всех существующих платформах игровой движок должен обеспечивать, например, отрисовку графики на разных видеокартах и под разными системами.
Для этого служат специальные API, разработанные для этих целей. Все наверняка слышали о таких компонентах как DirectX, OpenGl, Vulkan. Принцип их работы следующий: за вывод кадров игры на экран отвечает видеокарта. А поскольку моделей видеокарт огромное количество, то писать программный код для каждой модели видеокарт - это долго, дорого и нерентабельно. В итоге была придумана "прослойка", которая и берет на себя процесс сопряжения. Эти API работают как передатчики: игра говорит что должно быть передано на вывод видеокарте, видеокарта выводит это в кадр.
Все современные игровые движки используют эти технологии, что во-первых позволяет запускать игры на разных устройствах, а во-вторых значительно сокращает время производства. Самыми популярными игровыми движками являются: Unreal Engine, Unity, CryEngine.
Надеюсь статья была вам полезна. Подписывайтесь, ставьте лайки, комментируйте. Всем добра. До скорых встреч.