Форум программистов, компьютерный форум, киберфорум
Наши страницы
Игровые движки
Войти
Регистрация
Восстановить пароль
 
GraphicsNoob
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 7
#1

Рынок труда в графике - C++/openGL или движки высокого уровня? - Игровые движки

21.04.2016, 12:28. Просмотров 700. Ответов 15
Метки нет (Все метки)

Привет всем, сейчас я задам тупой вопрос, и понятно, что это можно нагуглить, но очень хочется знать мнение профессионалов.

Я абсолютно не разбираюсь в теме компьютерной графики, но разбираюсь в теме C++. Интересно освоить область графики и работать в этом направлении. Хотелось бы для начала понять что есть современная графика - это C++/OpenGL/алгоритмы в геометрии, или же в большей степени умение пользоваться движками высокого уровня, типа Unity или Unreal?

Что востребовано сейчас на рынке труда в области графики? В описании вакансий я видел как работу на чистых плюсах/OpenGL, так и с движками. Актуально ли сейчас писать какие-нибудь хитроумные алгоритмы рендера на плюсах, оптимизировать их и проч, или же "всё уже придумано за вас, надо только уметь воспользоваться"?

Насколько велика доля чистого C++ в больших игровых проектах?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2016, 12:28
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Рынок труда в графике - C++/openGL или движки высокого уровня? (Игровые движки):

2д движки или где хранить карту игры
пишу вот маленькую игру на С++, на SFML. Хрананение карты в виде двумерного...

Си является языком программирования низкого уровня или высокого?
у меня вопрос , си является низкий уровень или высокий уровень языка...

Создать базу данных Рынок труда
ПОМОГИТЕ ПОЖАЛУЙСТА СОЗДАТЬ БАЗУ ДАННЫХ НА C#. Вот само задание Разработать ИС...

Компилируемый язык высокого уровня
Если не там оставил тему, перенесите куда нужно, не нашел более подходящего...

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

Пересесть с языков высокого уровня на С++
Здравствуйте, я ActionScript3 разработчик и в данный момент рассматриваю...

15
globalhost
32 / 24 / 7
Регистрация: 01.08.2014
Сообщений: 115
21.04.2016, 17:38 #2
Работать в этом направлении без С++ точно не получится. Unity и Unreal походят, разве что школьникам. Конечно не всем, только на ранних этапах развития. Коммерческий проект с большим количеством объектов и графикой на уровне 2016 года делаются, но не на детских примитивных конструкторах.
0
GraphicsNoob
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 7
21.04.2016, 18:16  [ТС] #3
У меня как раз обратная ситуация - я хорошо знаю C++ и имею опыт коммерческой работы на нём, но не знаю игровых движков и вообще всей "кухни" геймдева. Хочется понять, достаточно ли грызть openGL/3D и геометрические алгоритмы для работы в графике или такие высокоуровневые средства разработки, как игровые движки уже must have?

И ещё интересно узнать про графику, не связанную с геймдевом - как там обстоят дела со стеком технологий? Что-нибудь в области киноиндустрии или рекламных роликов, например.
0
8Observer8
2040 / 1333 / 217
Регистрация: 05.10.2013
Сообщений: 4,229
Записей в блоге: 56
22.04.2016, 09:18 #4
Если нужно найти работу в геймдеве, но нужно изучать CryEngine 5, Unreal Engine 4 или Unity 5

Сейчас CryEngine 5 стал полностью бесплатным и поддерживает C#, как и Unity 5. Для скриптинга С++ в UE4 крайне неудобен. В основном в нём используют визуальный скриптинг на Blueprint с комбинацией с C++

С современныи графикой и геймплеем невозможно угнаться со своим движком за этими двигами. На рынке вакансия они впереди. Да и вы почти не найдёте вакансий, где фирма развивает свой движок.

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

Нужно уметь писать шейдеры на HLSL если хотите программировать графику в Unity

Добавлено через 10 часов 35 минут
Цитата Сообщение от globalhost Посмотреть сообщение
Unity и Unreal походят, разве что школьникам. Конечно не всем, только на ранних этапах развития. Коммерческий проект с большим количеством объектов и графикой на уровне 2016 года делаются, но не на детских примитивных конструкторах.
Вы, конечно, полный бред написали. CryEngine, Unreal и Unity это далеко не для школьников и это не конструкторы. Это движки для больших коммерческих продуктов. Школьники как раз мечтают написать свой двиг "убийцу крайзисов". Только у них либо сообще ничего не получается, либо - жуткий примитив, дальше которого они не двигаются. Писать свой двиг сейчас глупо. Надо находить команды через вакансии по двигами и сними работать, зарабатывать опыт и деньги. Сейчас вакансий дофига
2
GraphicsNoob
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 7
22.04.2016, 13:19  [ТС] #5
Спасибо за ответы! А если говорить не про геймдев, то там подобная ситуация?
0
8Observer8
2040 / 1333 / 217
Регистрация: 05.10.2013
Сообщений: 4,229
Записей в блоге: 56
22.04.2016, 15:08 #6
Цитата Сообщение от GraphicsNoob Посмотреть сообщение
А если говорить не про геймдев, то там подобная ситуация?
А там, в основном, три гиганта:
  • .NET (C#)
  • Java
  • Qt (C++)
1
GraphicsNoob
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 7
23.04.2016, 12:13  [ТС] #7
Т.е. вне геймдева рендеринг всякого 3D идёт напрямик через C++/openGL/DirectX и шейдеры? Вот например, http://spaceengine.org/, автор рендерит сам, без движков (ну там, правда, задача специфическая, видимо для неё нет движков). Это не совсем игровой проект, скорее виртуальный планетарий. Вот для пободных проектов движки не в тренде?
0
8Observer8
2040 / 1333 / 217
Регистрация: 05.10.2013
Сообщений: 4,229
Записей в блоге: 56
23.04.2016, 15:24 #8
Цитата Сообщение от GraphicsNoob Посмотреть сообщение
Т.е. вне геймдева рендеринг всякого 3D идёт напрямик через C++/openGL/DirectX и шейдеры?
С++ в рендеринге не при чём. Движки рендерят через видео карты openGL/DirectX. Вы сами можете писать шейдеры для того же Unity на HLSL (это язык шейдеров для DirectX, но в Unity он применяется и для написания шейдеров с переводом под GLSL, чтобы и на линуксе, маке и для мобильных работало)

Цитата Сообщение от GraphicsNoob Посмотреть сообщение
Вот для пободных проектов движки не в тренде?
В тренде под любые 3D проекты, кроме проектирования типа тех проектов, что делают в AutoCAD
1
globalhost
32 / 24 / 7
Регистрация: 01.08.2014
Сообщений: 115
23.04.2016, 15:38 #9
Как в геймдеве, так и за пределами движки не всегда в состоянии реализовать все требования, предъявляемые разработчиками. Практическая применяемость движков остается по-прежнему невысокой.
0
8Observer8
2040 / 1333 / 217
Регистрация: 05.10.2013
Сообщений: 4,229
Записей в блоге: 56
23.04.2016, 15:57 #10
Цитата Сообщение от globalhost Посмотреть сообщение
Как в геймдеве, так и за пределами движки не всегда в состоянии реализовать все требования, предъявляемые разработчиками.
Благо движки можно расширять за счёт написания своих шейдеров и плагинов

Цитата Сообщение от globalhost Посмотреть сообщение
Практическая применяемость движков остается по-прежнему невысокой.
99 процентов игр написано с помощью движков. А вот применимость самописных движков стемится к нулю
1
GraphicsNoob
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 7
23.04.2016, 20:22  [ТС] #11
А при работе с движками, с ними работают чаще как с SDK (например, библиотеки C++) или больше через редактор WYSIWYG?
0
8Observer8
2040 / 1333 / 217
Регистрация: 05.10.2013
Сообщений: 4,229
Записей в блоге: 56
23.04.2016, 21:09 #12
Цитата Сообщение от GraphicsNoob Посмотреть сообщение
А при работе с движками, с ними работают чаще как с SDK (например, библиотеки C++) или больше через редактор WYSIWYG?
Смотря кто вы. Если вы программист, например, как я программист на C# в Unity, то вы будете чаще работать в среде Visual Studio 2015 Community или в MonoDevelop (если вы работаете на Mac или Linux)

Вы подключаете "using UnityEngine;" и работаете с его библиотекой классов

Или в том же VS или Mono пишите код шейдеров

Геймдизайнеры, моделлеры и художники, конечно, не пишут скрипты (может только если нодовский скриптинг - блоки соединять линиями), но они тоже умею работать с инструментами движка. Например, как вот этот художник в Substance Painter делает работы в UE4
1
GraphicsNoob
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 7
24.04.2016, 16:39  [ТС] #13
Т.е. как я понял программирование (не на уровне "hello world", а с архитектурой, паттернами ООП и т.д.) в любом случае актуально даже при работе с движками, и знание движков для гейм-программиста - это получается не вместо C++/C#, а в дополнение к этому?
А знания математики в каком объёме необходимы?
0
8Observer8
2040 / 1333 / 217
Регистрация: 05.10.2013
Сообщений: 4,229
Записей в блоге: 56
24.04.2016, 17:05 #14
Цитата Сообщение от GraphicsNoob Посмотреть сообщение
Т.е. как я понял программирование (не на уровне "hello world", а с архитектурой, паттернами ООП и т.д.) в любом случае актуально даже при работе с движками, и знание движков для гейм-программиста - это получается не вместо C++/C#, а в дополнение к этому?
Абсолютно точно, на 100%

Цитата Сообщение от GraphicsNoob Посмотреть сообщение
А знания математики в каком объёме необходимы?
В основном работа с векторами: Линейная алгебра для разработчиков игр
1
GraphicsNoob
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 7
24.04.2016, 19:57  [ТС] #15
8Observer8
Спасибо за информацию!
0
8Observer8
2040 / 1333 / 217
Регистрация: 05.10.2013
Сообщений: 4,229
Записей в блоге: 56
25.04.2016, 00:22 #16
GraphicsNoob, наилучший вариант это Unity. На youtube полно уроков. На их оф. сайте посмотрите есть видео уроки, тренинги, документация у них отличная. Прочитайте эту книжку на русском. Она интересно построена: автор всегда даёт маленькие задачки для закрепления по ходу изложения, так что читать очень интересно. Книжка маленькая, читается легко, зато в ней база есть, это полезно для своих проектов и изучения других книг. Ещё можно качать и разбирать код с бесплатных ассетов: Asset Store - Unity
0
25.04.2016, 00:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2016, 00:22
Привет! Вот еще темы с решениями:

Выходной ток высокого уровня у SN74ALS08
Что означает отрицание в выходном токе высокого уровня у элемента SN74ALS08....

Разработать алгоритм на языке высокого уровня
Помогите разработать алгорит, составив его описание на алгоритмическом языке...

связь ассемблера с языками высокого уровня
Обьясните или покажите на примерах, как делать связи: С++ + асм, асм+асм,...

Создать программу на языке высокого уровня
Само задание Условие Построить стягивающее дерево неориентированного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru