Задать вопрос
@MaksimAlexan

Какой выбрать стек для работы в GameDev?

На данный момент изучаю язык программирования Python. Раньше думал, что геймдев это неприступная крепость, а чтобы в неё войти нужно быть как минимум титаном. Но решил поставить себе цель — разработка AAA-игр в 'тех' самых компаниях. Собственно что есть у меня сейчас? Опыт вёрстки, основы JS/PHP, знание математики и физики на уровне 11 классов и почти прочитанная книга Лутца "Изучение Python", ну и мне 16 лет. Когда-то выбрал для себя бекенд сторону, имея мысль что просто не потяну геймдев, но понял что я скорее буду терзать себя дальнейшие годы из-за того, что не выбрал что-то более интересное. И так, перейду к вопросу. На что мне нужно ориентироваться сейчас? После изучения python хочу поковырять какие-то либы для запиливания игр и попробовать написать что-то вроде простенькой рпг в изометрии, где просто апаешь себе уровень убийством монстров. Потом хочу перейти к C++, который я ещё и в нептуаколледже должен буду изучать. Параллельно с ним вникать в математику, алгоритмы и ковырять движки. Я что-то делаю не так? Подскажите как мне развиваться в этой области и что делать не стоит. Какую связку вообще используют для геймдева сейчас? Навека это C++, но есть ещё Python и C#, к которым прикручивают движки. Готов развиваться и разбираться с любыми темами, даже если это будет сложно, от вас мне нужно просто узнать, какой путь изучения геймдева лучше выбрать.

Роль(разработка ИИ, геймплей, сети и так далее) выберу немного позже, так как в любом случае нужна база(алгоритмы, математика, несколько языков). Возможно я не прав во всём, если это так, то прошу сообщить меня об этом.
  • Вопрос задан
  • 5207 просмотров
Подписаться 2 Простой 10 комментариев
Решения вопроса 5
vt4a2h
@vt4a2h
Senior software engineer (C++/Qt/boost)
Если цель -- это именно работа в компаниях уровня Близзард, то я бы советовал следующие:
1) Поступить в технический университет в Мск или Спб (а ещё лучше в США или Европе), на специальность связанную с математикой, информатикой или разработкой ПО. Почему эти города? Всё просто: больше возможностей. Больше конференций и прочих мероприятий, больше компаний, ближе к развитым странам (привет программам по обмену студентами), да и уровень жизни в целом выше.
2) Действительно учиться в этом университет и не забывать заводить полезные знакомства.
3) Учить английский, желательно до уровня "свободно говорю".
4) Начиная со второго курса ходить на летние стажировки в крупные и не очень компании, которые занимаются разработкой игр (если повезёт найти такие, если не повезёт, то подойдут любые другие). Рассматривать в том числе и международные компании. Этот пункт очень важен, пожалуй, он даже самый важный.
5) Читать книги, которые вам перечислили (https://github.com/miloyip/game-programmer) и работать над своим проектом/проектами.
6) Да, вам нужен С++, но это не основной навык, есть ещё немало составляющих, которые вы приобретёте проходя стажировки, читая книги и работая над своим проектом.

Вообще, это универсальный набор советов, который можно применять для становления профессиональным разработчиком в любой отрасли, будь то игры, финансы, компьютерная графика и т.д. Если вам сейчас 16, то, следуя рекомендациям, годам к 25 у вас есть все шансы стать состоявшимся и востребованным специалистом.
Ответ написан
Комментировать
jamakasi666
@jamakasi666
Просто IT'шник.
Такой вопрос был тут отвечен уже тысячи раз. В кратце если учить с#\java и охватите сразу все платформы со своими плюсами и минусами. Если хотите прям по взрослому то с++ но готовьтесь к тому что придется его изучать гораздо дольше и не один год и даже не два и разработка займет намного больше времени но в целом вероятно сможете написать хоть какойто двиг с рендерем похожим на ААА движки.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Но решил поставить себе цель — разработка AAA-игр в 'тех' самых компаниях.
Вот у них и интересуйтесь. Найдите информацию как создавались игры и на чём в конкретной компании. Пишите им, что хотите работать у них и что Вам сейчас изучить и в какой последовательности. Если они заинтересованы в поиске таких - возможно, предложат удалённую стажировку с контролем Вашего обучения офисным сотрудником.

Если хотите просто попробовать с нуля создать продукт AAA-класса, то это годы развития в тучи разных сфер, которые объединяет GameDev. С большой долей вероятности, Вы можете просто выбрать не верный путь и придётся всё переучивать или отказаться от этой идеи, потратив годы...

По-поводу линка "https://github.com/miloyip/game-programmer": я бы отталкивался не от книг, а от последовательности задач и логических блоков, необходимых в разработке продукта (на конкретном языке, движке, платформе, от типа игры и т.д.).

PS: 5ab642fbba933980613337.jpegпример САМОЙ ПРОСТОЙ игры на Unity (на последней бета-версии Unity). Разверните на FullScreen для оценки рендера графики. Возможно, это то, что нужно Вам.
Ответ написан
Комментировать
mindtester
@mindtester
http://iczin.su/hexagram_48
Я что-то делаю не так?
скорее вы пока что спешите с выводами ))..
Навека это C++
даже это бабка надвое сказала ))..
.. есть понятие mainstream.. с++ - это майнстрим )).. но не более.. к примеру есть Dlang .. и многие от него прутся, устав мозговыноса плюсов.. если однажды корпорации его признают годным - плюсы полетят в забвение, со скоростью большей чем адобе флеш ...(то есть все равно не слишком быстро )))

.. вернемся к геймдеву - по большому счету, в нем немеряно уже оттяпали и js, и питон.. ну а уж про C# и говорить нечего - цельный движок Unity !!! (хотя надо помнить, что это не МС шарпы, я думал самостоятельная реализация, но меня тут недавно ткнули носом - это Mono ))

все дело не в каких то абсолютных ценностях/достоинствах языка.. как раз наоборот - все ценности/достоинства ЯП относительны.. они приобретают вес лишь в контексте особенностей задачи.. но что еще не менее важно - в контексте навыков реализатора.. будь то инди или команда

я вот плотно сижу на шарпе... и из того что замечаю - в гейм деве ему очень даже место есть (и эт даже не только Unity, есть и другие фрейворки, по крайней мере под винду, хотя львинная доля у Unity.. и он кросс.. ))

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

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

дальше решайте сами ))
Ответ написан
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Советую питон пока не бросать, а поиграться сначала с pygame, а потом с pyglet. Так вы разовьёте программистскую эрудицию и заодно поймёте, почему питон в чистом виде используют только для визуальных новелл. После этого спускайтесь ещё ниже к плюсам и чистому OpenGL, только долго там не засиживайтесь, свои движки с нуля нынче никто не пишет. Параллельно можете почитать про шаблоны программирования и полистать GPU Gems, Graphics Gems и Game Programming Gems. Книги из серий Gems нужны не для изучения конкретной реализации, которая, скорее всего, уже устарела, а для всё того же кругозора, алгоритмы и подходы из этих книг в геймдеве встречаются повсеместно. Когда разберётесь с кишками рендеринга и игровыми циклами, переходите к готовым движкам, установите и пощупайте пяток, потом выберите один и изучайте. Кроме этого ещё нужно уметь работать с git, полезно будет хоть раз поковыряться в Max/Maya/Blender, но, в принципе, после этого можно будет двигаться куда угодно, у вас будет полное представление о том как работают игры, дальше вам нужен будет только опыт разработки в команде, сделаете пару тетрисов-арканоидов для резюме и найдёте работу.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@potan
Функциональный программист
В gamedev медлено, но верно проникает Rust. Он заметно проще, чем C++, но там есть свои тонкости, с которыми придется разбираться. К окончанию института он уже будет иметь заметный вес на рынке. Но разработчиков на нем не много, учить новое мало кто хочет, а тех, кто решится быстро переменивают в blokchain (там Rust уже основательно закрепился). Так что имеет смысл заняться этим языком.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Wanted. Москва
от 60 000 до 120 000 ₽
Wanted. Санкт-Петербург
До 120 000 ₽
Pixel Point Москва
от 1 500 до 2 000 $