Геймдев — понятие широкое, языков и движков, задействованных в разработке игр, довольно много.
Язык выбирается под каждый проект, иногда разные части игры написаны на разных языках — и это тоже нормально. Некорректно говорить, какой язык или движок лучше, а какой хуже, все зависит от того, какую задачу вы решаете.
В контексте геймдева поговорим про Unity (не язык, а межплатформенная среда разработки компьютерных игр, разработанная американской компанией Unity Technologies) и C++ (а вот это язык, на котором Unity написана), да и вообще про языки, на которых пишут игры.
Источник https://qna.habr.com/q/212542
На картинке сверху мы видим ответ на вопрос, стоит ли учить C++, чтобы попасть в геймдев. Нам кажется, что ответ достаточно хорошо иллюстрирует, насколько обширно понятие «геймдев». В нем так много направлений и возможностей, что начинающему разработчику сложно понять, с чего же начать и как определить. Попытаемся структурировать информацию.
Как мы уже говорили, выбор инструментов зависит от того, какую игру вы задумали. Вот краткая классификация, самая простая.
- Браузерные игры. У них меньше возможностей в плане графики и мощности, но они отличаются грамотно продуманным игровым процессом.
- Мобильные игры. Также имеют ограничения по графике и мощности, но все равно пользуются спросом у пользователей, нужно понимать, что их простота относительна.
- Компьютерные и консольные игры. Вот где рай для фантазии и возможностей их реализации! С каждый годом они становятся все более реалистичнее и сложнее для создания. Создать такую игру одному разработчику невозможно, их делают большие студии и не по одному году.
Какие инструменты можно использовать для написания игр?
Unity — это не язык, а межплатформенная среда, движок для создания игр, используется для написания скриптов на языке С++/C#. Благодаря производительному языку C# и Mono (кроссплатформенной реализации .NET) игры на Unity собираются и работают довольно стабильно на разных операционных системах, как для ПК, так и для мобильных устройств.
Unity значительно ускоряет разработку, потому что решает задачи физики, графики, анимации и работы со звуком. На этом движке делаются игры практически для всех платформ. Используют Unity не только инди-программисты, но и огромные студии по созданию игр.
Игры, созданные на Unity: Outlast, Hearthstone, Cuphead, Rust, Firewatch, Inside, Cities: Skylines.
Unity позволяет создавать игры всех возможных типов, которые мы перечислили выше: браузерные, мобильные, десктопные и для консолей.
Если игра набрала большое количество пользователей, выросла нагрузка на серверы и часть функционала начала подвисать, имеет смысл переписать эту часть на C++, повысив скорость работы игры.
C++ — это универсальный язык программирования, имеет богатую библиотеку, включающую огромное количество контейнеров и алгоритмов. На C++ написано огромное количество прикладных программ, таких как Google Chrome, Adobe Creative Suite, Microsoft Office. Также этот язык используется для написания игр: самая известная и популярная игра World of Warcraft.
Таким образом, в настоящее время все чаще игры создаются не полностью на одном языке или движке, а совмещают возможности того и другого.
Java — язык, который используется для построения логики и и механики мобильных игр, особенно для Android.
Java часто применяют для реализации серверной части игр, в которых много пользователей. Также отметим, что Java хорошо взаимодействует с движками и тулами для графики и звука. Примеры игр на Java: RuneScape и Minecraft.
Python — благодаря своему приятному синтаксису и большому набору инструментов Phyton применяется не только в веб-разработке, машинном обучении, но и в геймдеве.
В код Phyton хорошо встраивается код на С/C++, и это помогает увеличить скорость работы программ. Пример игр на Python: Mount and Blade, Battlefield, EVE Online, Sims 4, Civilization 4. Признайтесь, вы даже не догадывались, что это Phyton-игры.
Objective-C и Swift — языки, используемые корпорацией Apple, поэтому приложения на них пишутся для iOS-устройств.
Objective-C — ветеран, а Swift, наоборот, набирает обороты и активно развивается. Примеры игр: Subway Surfers, Doodle Jump, Nyan Cat или Flappy Bird.
Языки и платформы комбинируются для написания игр, выбираются под задачи, которые нужно решить. Хорошо, что есть выбор и мы можем наслаждаться действительно интересными и качественными продуктами.
В карусели вы можете видеть, какие вакансии есть на геймдев-разработчиков, мы постарались не ограничиваться только C++ или Unity.
Вакансия Release Engineer
Источник https://rabota.by/vacancy/
Вакансия Java Developer
Источник https://rabota.by/vacancy/
Источник https://t.me/jobsdevby
Источник https://t.me/jobsdevby
На занятиях в школе HRPR вы пройдете технический ликбез!
Чтобы не путать языки с движками, фреймворки с подходами, разработчиков с тестировщиками.