@NIK_SHEM

Какие инструменты нужны для разработки игр?

Меня сильно интересует какие инструменты используют в реальных проектах. Ответ типа: "Кому как удобно", звучит не очень правдоподобно.
Используют ли программисты графические библиотеки directx и opengl? Устарел ли Opengl и используют ли его где нибудь кроме как в мобилках на данный момент?
Может быть одного популярного движка достаточно для разработки, не считая программ для создания моделей, звуков и т. п.
Кто вообще пишет на DirectX и OpenGL, кроме блогеров и любителей с ютуба?
Почему так мало информации по графическим библиотекам? По sfml, например, есть, но они рассказывают о самом простом и чаще даже не до конца выложены. Тоже самое с dx, vulkan, opngl.
И возможно ли обучаться по роликам из ютуба и книгам? Слышу что нужно читать книги, но чувство что во всех источниках одна и таже информация, которая позволяет сделать калькулятор.
  • Вопрос задан
  • 456 просмотров
Решения вопроса 1
@MarkusD
все время мелю чепуху :)
Сегодня существует ровно два базовых направления разработки конкретного коммерческого проекта.
Способ первый: купить лицензию или подписку на уже готовый инструмент разработки и заняться непосредственно разработкой своей игры.
Способ второй: иметь в своем штате команду разработчиков собственного инструмента, на базе которого можно заняться разработкой своей игры.

Первый способ популяризирует публичные универсальные инструменты разработки.
Второй способ эксплуатирует проприетарные инструменты.

Первый способ отдает разработку и поддержку движка на аутсорс непосредственно разработчикам инструмента, часто за отдельную плату, часто сопровождаясь или длительным ожиданием, или отсутствием гарантий внедрения требуемых решений.
Второй способ позволяет быть на короткой руке непосредственно с разработчиками инструмента, но требует от разработчиков экспертности знаний в требуемых для разработки областях. С одной стороны таких людей очень сложно найти, с другой стороны таким людям надо очень много платить.

DirectX, Vulkan и OpenGL, равно как Metal и ряд проприетарных GAPI некоторых закрытых платформ, не являются графическими библиотеками. Это все - Graphics Application Programming Interface - GAPI.
Это - низкоуровневые интерфейсы драйвера GPU, позволяющие эксплуатировать ресурсы видеокарты в своих целях. Не только для рисования чего-то, а для ИИ, ML, сложных статистических вычислений, предсказаний и прочих расчетов на больших объемах данных.
Под капотом любого инструмента, будь-то проприетарный или публичный, в его графическом слое используется один или несколько GAPI. Без этого никак.
OpenGL, как и DirectX 11, нисколько не устарели, поскольку предоставляют упрощенный интерфейс управления ресурсами GPU. Они используются тогда, когда разработчикам не нужны самые тонкие механизмы управления ресурсами GPU, которые предоставляют DirectX 12 или Vulkan. Потому что последние, помимо прочего, требуют от разработчиков более глубокой экспертизы и больше ресурсов на разработку всего того же, что на OpenGL и DirectX 11 реализуется меньшими силами и за меньшее время.

И нет, одним только инструментом, на базе которого ведется разработка игрового проекта, не обойтись. Все ресурсы разрабатываются в других инструментах: графических редакторах, звуковых редакторах, редакторах анимаций, редакторах баз данных. Пайплайны производства ресурсов являются очень сложными, могут насчитывать десятки инструментов для производства одного только типа ресурсов и требуют от артистов экспертизы в использовании этих инструментов. И часть таких инструментов обязательно будет проприетарными, созданными или под конкретный проект, или внутри конкретной компании. И иногда такие инструменты удобнее создавать с применением других, более мелких или лучше заточенных под задачу, движков. Игровой движок не всегда используется для создания игр.
Отдельно стоит в этом вопросе код игровой логики и шейдеров. Для этого тоже нужны специалисты и инструменты.

Информации по каждой отдельной области разработки игр хоть отбавляй. Ее настолько много, что одному человеку за жизнь не усвоить. Поэтому от современного специалиста сегодня требуется спрофилироваться, т.е. определиться со своим профилем работы и стать экспертом.
Я больше 15 лет занимаюсь разработкой игровых движков и медиаферймворков. Более 10 лет занимаюсь коммерческой разработкой кросслпатформенных инструментов. Я начинал свое обучение по книгам и документации для всех интересующих меня областей еще 20 лет назад. Я самостоятельно освоил множество API, включая графические, сетевые, звуковые и API целевых платформ, используя книги и документацию. Экспертные знания C++ и прочих языков я получил тоже через изучение документации, стандартов и книг.
Я могу сказать что обучаться по книгам и документации можно и самостоятельно. Еще можно заплатить деньги и получить более точечные знания через их интерпретацию на распространенных сегодня онлайн-курсах. Такие знания не всегда бывают лучше полученных самостоятельно, но времени на освоение того же объема знаний на курсах уйдет меньше чем при самостоятельном изучении. Иными словами, занятия на онлайн-курсах не отменяют важности самостоятельного изучения основных источников информации.
По открытым видеоурокам на ютубе и прочих видеохостингах обучаться нечему. Цель этих видео - чтобы зритель посмотрел рекламу и этим принес доход автору.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg
Любые ответы на любые вопросы
Используют ли программисты графические библиотеки directx и opengl?

Очевидно, что да. Без них достучаться до GPU будет сложновато.

устарел ли Opengl и используют ли его где нибудь кроме как в мобилках на данный момент?


Постепенно сдает позиции в пользу Vulkan API Он какбы наследник.

Может быть одного популярного движка достаточно для разработки, не считая программ для создания моделей, звуков


Нет, не достаточно, если речь идет об AAA-играх. Движок должен быть сильно оптимизирован по конкретные задачи AAA-игры. Другими словами, это как требовать от автомастерской использовать один универсальный разводной ключ вместо огромного стеллажа специализированного инструмента.

Кто вообще пишет на DirectX и OpenGL, кроме блогеров и любителей с ютуба?


Разработчики движков и игр.

Почему так мало информации по графических библиотекам, по sfml например есть но они рассказывают о самом простом и чаще даже не до конца выложены, тоже самое dx, vulkan, opngl.


Возможно ли обучаться по роликам из ютуба и книгам, слышу что нужно читать книги, но чувство что во всех источниках одна и таже информация, которая позволяет сделать калькулятор.


Потому что этой информации достаточно для того, чтобы хорошо мотивированный ученик понял общие принципы и начал свою практику. С практикой, у него появятся уже конкретные вопросы, на которые полно ответов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы