telegram coop-land
Coop-Land » Статьи » Заметки » Хочу создавать игры. Какой язык программирования выучить?
Лого
2021-06-05T18:27:18+03:00
18

Хочу создавать игры. Какой язык программирования выучить?

Хочу создавать игры. Какой язык программирования выучить?

Если вы планируете сделать карьеру разработчика видеоигр, ваш первый шаг — научиться программировать на языке, который используют профессионалы для создания величайших игр в мире. Но какой из многих языков программирования игр вам следует изучить в первую очередь?

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

Вместо этого вы хотите выучить язык, который ценится ведущими игровыми компаниями, такими как Sony, Activision или Nintendo. Так какие языки программирования помогут вам устроиться на работу в ведущую игровую компанию?


Популярность или немного статистики


Чтобы ответить на этот вопрос, мы возьмем 70 объявлений о вакансиях от 16 ведущих разработчиков игр со всего мира, чтобы выяснить, что им требуются от кандидатов на вакансии инженеров. Результаты представлены ниже.

Хочу создавать игры. Какой язык программирования выучить?

Победитель очевиден!


Лучший язык программирования для игр: C/C++


Как видно из диаграммы выше, C/C++, по мнению ведущих игровых компаний мира, на сегодняшний день является лучшим языком программирования для игр. Более половины объявлений о вакансиях указали C/C++ как требование.

И речь идет не о каких-то низкоуровневых должностях, близким к уборщику. Этот язык фигурирует в качестве требования в широком спектре вакансий, включая программиста инструментов, графического инженера, программиста AI, Backend-программиста, программиста ответственного за геймплей и многих других.

Хочу создавать игры. Какой язык программирования выучить?

Так что, если вы ищете язык для первого изучения, вы просто не можете ошибиться с C/C++. Очевидно, что он откроет для вас много-много дверей в профессии разработчика игр.


2-й лучший язык программирования игр для игр: C#


В то время как C/C++ прочно удерживает первое место как наиболее востребованный язык для разработки игр, на втором месте находится C#. Со временем C# становится все более популярным для разработки игр, особенно при использовании коммерческих игровых движков, таких как Unity 3D.

Но он все еще находится на втором месте, уступая C/C++. На самом деле, из 25 вакансий, в которых упоминался C#, только 5 из них указывали его в качестве отдельного требования. Остальные 20 объявлений фактически требовали C/C++, а C# просто перечисляли как «неплохо бы иметь».

Хочу создавать игры. Какой язык программирования выучить?

Таким образом, хотя изучение C#, безусловно, может быть полезно для поиска работы, ваши возможности могут быть ограничены, если вы не владеете C/C++.

Программирование и киберкультура для школьников: Minecraft, Dota 2 и Unity
Программирование и киберкультура для школьников: Minecraft, Dota 2 и Unity
Учить детей играть в Minecraft и Dota 2 еще со школы? А почему нет? В какое прекрасное время мы живем!...


«Или эквивалент»


Несомненно, важно быть знакомым с лучшими языками программирования. Тем не менее факт состоит в том, что, зная один язык программирования, гораздо легче выучить другие. Вот почему в 14% объявлений о вакансиях указывается требование к знанию языка, но затем делается оговорка: «или эквивалент».

Хочу создавать игры. Какой язык программирования выучить?

Например, в одном из объявлений компании Valve о вакансии инженера-программиста Steam требовался «подтвержденный опыт создания и выпуска коммерческого программного обеспечения на C++ или аналогичном языке». Другая вакансия от Rockstar Games для инженера требовала «навыков программирования и/или написания сценариев», в качестве примера приводились «C++, C# или Python».

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


А как насчет всех остальных языков?


Хочу создавать игры. Какой язык программирования выучить?

В то время как C/C++ и C# были очевидными лидерами, было упомянуто еще 9 языков, включая PHP, Java, javascript, Python, Assembly, Lua, Ruby, Erlang и Go.

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

Например, Take-Two Interactive была единственной компанией, которая упомянула Erlang, и только в сообщениях Riot Games упоминался Go. Обратите внимание, что ни одна из студий не упоминала эти языки в качестве жесткого требования.

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


Вывод


Хочу создавать игры. Какой язык программирования выучить?

Если вы хотите начать успешную карьеру программиста видеоигр, совершенно очевидно, что изучение языка C/C++ станет важным шагом на вашем пути. Он уже несколько десятилетий занимает лидирующие позиции благодаря своей высокой производительности по сравнению с другими языками, и это вряд ли изменится в ближайшем будущем.

Тем не менее это не означает, что вам обязательно нужно начинать с C/C++. Изучение любого языка программирования поможет вам стать разработчиком программного обеспечения, и есть много других языков, которые легче выучить — даже профессиональные игровые компании знают, что как только вы научитесь писать на одном языке, вам будет легче изучать «эквивалентные» языки по мере необходимости.

Так что, если вы предпочитаете начать с чего-то менее популярного, но более легкого в освоении, дерзайте! Многие курсы программирования начинаются с обучения языкам «высокого уровня», таким как Lua или Python, поэтому не стесняйтесь начинать с них, если появилась такая возможность.

Вы всегда можете начать изучать C/C++ после того, как разберетесь с основными понятиями, которые применимы ко всем языкам программирования. Не успеете оглянуться, как вы уже будете осваивать новые языки программирования буквально на автомате.
Больше новостей, полезных статей и мемов:

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

КОММЕНТАРИЕВ: 18 Фильтровать
5 июня 2021 14:19
0
Пропагандирую шарпы и только попробуйте меня отговорить)
5 июня 2021 14:55
-1
*люди пишущие истории про мохнатых гей нинзя на Twine, считающие себя разработчиками игр и лутаюшие бешеные сабжи*:
кто? языки? а что с ним делается? сплетается?
5 июня 2021 17:42
0
Чтобы выучить хоть один язык программирования, потребуется много времени, и лучше тратить его на проходняк, который является лишь «изюминкой месяца».

ОК yes
5 июня 2021 18:10
0
Тут подход целый нужен, чтобы создать самому игры. Движок Shiva Engine позволяет создавать 3д шутеры с использованием Lua. Всю документацию по Lua вроде как уместили в одну страницу. Вуаля ты разработчик) Шутка. Очень злая grimacing
5 июня 2021 19:58
-1
Выучить С это далеко не то же самое, что выучить, к примеру, питон
5 июня 2021 22:38
-1
@Orbit419,
Действительно, попробуй выучить все приколы С. Этот язык настолько многогранен, что если бы его хорошо знали, могли бы игры делать с нормальной оптимизацией.
5 июня 2021 22:43
0
@TheSnakyEyes,
т.е. ракету с ним запустить могут, а игру выпустить - нет? восхитительно
5 июня 2021 22:48
+2
@Shirley Buendia,
К сожалению в геймдевы в последнее время залетело слишком много народа, которые ничего не умеют, но хотят всё и сразу. Абсолютно все проекты, что выходят в последнее время, имеют настолько убогую оптимизацию, что просто зашьёшься.
5 июня 2021 23:12
0
@Shirley Buendia,
Да ладно, я сомневаюсь, что в космонавтике девов бьют палкой по спине, чтоб быстрее работали, и выпускают неготовый продукт, потому что сроки горят
5 июня 2021 23:35
+2
@Orbit419,
Зря сомневаешься. У них на кону миллионы бабок, которые могут улететь в пизду одной хуёвой строчкой кода.
аватар
506
6 июня 2021 22:09
0
@TheSnakyEyes,
А причем здесь язык и оптимизация? И с чего ты взял что в геймдеве куча народу? Пруфай
И ты действительно думаешь что для каждой нового аппарата пишут новый код?
6 июня 2021 22:55
+2
@Babaй,
Давай так: думаю ты не будешь спорить с тем, что количество игр и количество студий, разрабатывающих эти самые игры, возросло. Больше продукта = больше прибыли = больше людей, занимающихся геймдевом. Попробуй пруфани обратное.

По части оптимизации, скажу следующее: хочешь оптимизировать код - пиши свои библиотеки, свои методы, где-то можешь использовать чистый ассемблер. Как человек, который учился на инженера-системотехника, могу с полной уверенностью сказать, что стандартные библиотек очень ресурсозатратные.
И вот что-то мне подсказывает, смотря на последние шедевры аля Киберпанк, ED: Odessey, Биомутант. И это только примеры ААА игры, вышедших за последние пол года, что нифига там не работают специалисты.

А теперь по второй части. Парадокс Тесея знаешь? Нет? Иди гугли. Любой код, изменённый хоть как-то - новый код. А с учётом технического прогресса это вообще крыша. Каждый раз добавляется что-то новое. Вон к примеру тот же ИИ у SpaceX. Думаешь, его дурачки пишут, набранные по объявлению?
аватар
Ela
192
6 июня 2021 23:33
0
Цитата: TheSnakyEyes
больше прибыли = больше людей, занимающихся геймдевом.

Количество людей в каждой студии совершенно разное, например, в одной - двое, во второй - пятьсот, а вы берете в логику, что кол-во игр увеличилось, увеличилось и кол-во людей, равно везде много.
6 июня 2021 23:46
0
@Ela,
Речь как раз таки не о среднем количестве людей в студии, а количестве разрабов в общем. В чём же моя логика тогда не права? Люди уходят из студии, на их место приходит другие. Если у компании всё хорошо, она раздувается. Этакий мыльный пузырь.

Да и суть в том, что кадры, которые обычно поступают из шарашкиных онлайн школ или даже университетов просто идут туда, где они хотят работать, при этом многие даже не знают и банальных вещей. Да, я не утверждаю, что все являются таковыми.
7 июня 2021 12:27
+1
@TheSnakyEyes,
возможно, вам стоит сослаться на отчеты Entertainment Software Association и IGDA, например

например, к 2010 году в сша было около 100 тысяч разработчиков игр. к 2015 их уже стало 220 тысяч
аватар
Ela
192
7 июня 2021 18:58
0
Цитата: TheSnakyEyes
Речь как раз таки не о среднем количестве людей в студии, а количестве разрабов в общем. В чём же моя логика тогда не права? Люди уходят из студии, на их место приходит другие. Если у компании всё хорошо, она раздувается. Этакий мыльный пузырь.

О, боже, вам об одном, вы о Ереме, опять какой-то частный пример привели, когда в идеале один уволилился, второй пришел, и даже если обсуждать ваш пример, то прикинь не везде так, не в каждой студии, а тем более инди. Во всех инди студиях по 5000 штаб?
7 июня 2021 19:11
-1
@Ela,
Хм, а где тут частный пример? Я то как раз говорю в общем. Какие ещё нужны доказательства? Может просто стоит открыть новости и увидеть, как очередная легенда гейм-дева уходит в нибытие?

Откуда вообще берётся у вас мысль, что всё в мире стагнирует? Есть очевидные вещи, понятные даже ребёнку. Я не вижу смысла даже заморачиваться и открывать какие-нибудь исследования со статистикой, ведь итак всё ясно и понятно.
аватар
Ela
192
7 июня 2021 20:11
0
Цитата: TheSnakyEyes
Откуда вообще берётся у вас мысль, что всё в мире стагнирует?

Я не говорил про стагнацию. С самого первого моего сообщения, я пишу только одно, что кол-во людей в студиях разное, это все.

Ваш комментарий:

Также интересно