@dimis

Разработка игр, как выбрать язык и движок?

Понимаю, что тема заезжена, но все же надеюсь на совет.
Немного бэкграунда

год назад я закончил университет по направлению "Прикладная математика и информатика". Лучшим словом в данном случае будет даже не "закончил", а домучался. Было огромное количество прогулов (особенно на младших курсах), академотпуск, постоянная угроза отчисления над головой. Отсюда, со всеми вытекающими, мой уровень знаний и оценок на момент выпуска. Я всегда любил играть в игры. И это то, что отнимало у меня много времени во время учебы. Но совсем недавно я понял, что мне хочется воплотить какие-то свои идеи, а самое главное - я снова хочу учиться. В университете нам давалось много фундаментальных знаний про алгоритмы, операционные системы, машину Тьюринга, алгоритмы Маркова, дискретную математику, ООП, ИИ и много еще чего, что я с успехом пропустил мимо ушей. Я жалею об этом, но не знаю насколько это все будет критично в будущем.

Немного ближе к делу: сейчас я начал изучать C# и мне пока очень нравится. В планах, как только доосвою базовые вещи, сделать простую текстовую RPG-шечку.
Но меня немного гложат сомнения, так как на многих ресурсах люди советуют изучать C++. На нем написано абсолютное большинство движков + есть популярный движок Unreal Engine (который вроде как лучше чем Unity) с поддержкой C++. Я бы с радостью прыгнул на изучение плюсов, но, насколько я понимаю, учить его намного сложнее и дольше.

Поскольку мне уже 24 и моим дипломом можно разве что подпереть стул ( ввиду вышеописанного бэкграунда ), мне нужны советы от более опытных людей. Также интересно мнение, насколько важно будет перелопатить университетский курс? В том числе и высшую математику.
  • Вопрос задан
  • 393 просмотра
Решения вопроса 1
Tiendil
@Tiendil
Разработчик ПО.
Движок — это инструмент. А значит он обладает всем общими для инструментов свойствами. Например, все отвёртки во много одинаковы, все молотки похожи (хотя киянка и отличается от кувалды). Не так важно какой первый движок будет, потому что надо знать парочку.

ЯП — тоже инструмент. Для него справедливы те же рассуждения. Но, поскольку ЯП — более базовая штука, его изучение больше зависит от контекста и планов на будущее, особенно ближайшее.

Если хочется начать быстро делать что-то законченное и зарабатывать какие-нибудь деньги этим, то C# + Unity выглядит лучше — они проще.

Если хочется стать реальным профи и есть время на учёбу, то C++ будет более правильным выбором. Плюсы, при нормальном изучении, дают на много больше знаний о программировании в целом и о том, как программы работают. Человек, осиливший C++, на мой взгляд, осилит любой другой ЯП довольно быстро (за исключением Haskel, пожалуй :-) ). Обратное же неверно. Но времени на них надо куда больше.

С другой стороны, учить всё равно можно в разном порядке. Смотрите по своим жизненным приоритетам и наличию работы в той области, где вы живёте.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos Куратор тега Разработка игр
На нем написано абсолютное большинство движков

Вообще пофиг на чем написан движок. Главное - с какими языками он работает.

сейчас я начал изучать C# и мне пока очень нравится. В планах, как только доосвою базовые вещи, сделать простую текстовую RPG-шечку.

Ну так берите юнити. Только не RPG-шечку, а что попроще. Сделайте хотя бы змейку.
Ответ написан
@D3lphi
В университете нам давалось много фундаментальных знаний про алгоритмы, операционные системы, машину Тьюринга, алгоритмы Маркова, дискретную математику, ООП, ИИ и много еще чего, что я с успехом пропустил мимо ушей.

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

сейчас я начал изучать C# и мне пока очень нравится.

Вам 24, вы закончили университет по специальности ПМИ и теперь приходите в восторг от языка программирования, как школьник. Смешно со стороны.

Также интересно мнение, насколько важно будет перелопатить университетский курс? В том числе и высшую математику.

Если вы собираетесь не тупо писать код под движок, а ещё и разбираться в каком-либо графическом API (direct3d, opengl, vulcan и ТД), то тут, как минимум, понадобятся хорошие знания линейной и векторной алгебры. Ибо на низком уровне очень активно используются вектора и матрицы для проведения пространственных преобразований.
Для написания ИИ так же требуется такой раздел дискретной математики, как конечные автоматы.

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

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

Похожие вопросы