GameDev — что нужно знать и какую технологию выбрать?

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

О себе(можно пропустить):

Я знаю и читал, что там тяжело, что игры разные, и куча рутины(а где ее нет?). Но я люблю игры и люблю разные игры - от классики(начал играть 1998) до новых, от крупных ММО до три в ряд на своем телефоне, мне нравится сам процесс игры и так же нравится замечать места где добавлены фишки, какие-то приемы для продления интереса, или наоборот слишком затянутые места и ошибки баланса - все это приносит мне удовольствие.

Сам я .NET разработчик, опыт в разработке около 4 лет, основной язык С#, но пришлось пописать и на JS и на PHP, немного на Objective-C, легко понимаю новые технологии, умею сесть и начать писать код -до конца - до рабочего варианта.

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

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

Между чем сомневаюсь:
Unity3D - прекрасно, видишь результат, многое понятно интуитивно, C# для меня родной, очень улыбало смотря туториалы, как люди придумывают свой синглтон.

С++ и OpenGL - тут для меня вхождение будет дольше, с++ меня не пугает - знаю ООП, работу с памятью и тп, но я понимаю, что до уровня профессионала далеко, но работать на низком уровне тоже приятно.

Так же очень понравился cocos2D - пока успел поиграть с ним совсем немного, очень позитивное впечатление.

Вот эти несколько технологий и по какому пути пойти я не знаю:

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

OpenGL - это будет дольше, но не понятно где тот предел после которого можно будет пробовать искать работу, опять везде стронг скил 5+ лет.

Cocos2D - почти нет вакансий.

Сейчас в реализации и планах сделать пару простых игр(сапер, змейка, три в ряд...), для Unity3D уже есть ряд наработок, думал попробовать их потом в cocos2D и потом на OpenGL.

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

P.S. Как-то длинно получилось, тем кто дочитал спасибо, в общем хочется в разработку игр, что выбрать первым приоритетом, а потом остальное подтянуть? Может у кого-то есть аналогичный опыт перехода или кто-то работает в студиях и может сказать что учи "то-то".
  • Вопрос задан
  • 6072 просмотра
Решения вопроса 1
Если вы любите игры - это не означает что вам понравится их делать, скорее наоборот, начав работать в геймдеве вы их перестанете любить.

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

А начать, как мне кажется, можно с Unity3D (движок хороший и востребован сейчас ), тем более, что С# для вас родной. Ну и познакомьтесь с шейдрами, лишним точно не будет.

А вообще подумайте 10 (а лучше 20) раз нужно ли оно вам. Область сложная и трудоустроитья не так уж просто.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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