Начало работы в разработке игр: действительно ли XNA - хороший выбор? [закрыто]

16

Долгое время читатель; первый раз спрашиваю:

Некоторое время я хотел стать частью игровой индустрии, но мое резюме на 100% полностью посвящено серверной работе.

Я сильный C ++ / C # разработчик, без практического опыта разработки игр. Мой опыт работы с бэкэндом делает меня хорошим кандидатом на бэкэнд-работу (поскольку многие игры в наши дни имеют аспекты, связанные с сервисом), но это гиперконкурентная область, и я ищу способы выделиться.

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

Я понимаю, почему C и C ++ являются дефактными языками в разработке игр, но мне действительно нравится философия XNA. Как я уже говорил ранее, я хорошо разбираюсь в C # и C ++, но если я правильно помню, XNA работает только на языках, совместимых с CLR (возможно, только на C #).

Повлияет ли сосредоточение на разработке игр с использованием XNA и C # вместо C ++, повредит ли мне мои шансы найти работу в игровой индустрии? VB имеет несправедливую репутацию ненастоящего языка программирования, и программисты VB попадают под это клеймо. Так ли это с использованием C # в сообществе, которое состоит в основном из разработчиков C ++?

Или же основы разработки игр, которые можно извлечь из написания игр, превзойти язык и технологии?

Алан
источник

Ответы:

15

Я не думаю, что это повредит вашим шансам. C # становится все более популярным, особенно с XNA и SlimDX. Я использовал и C #, и C ++, и должен сказать, что я предпочел XNA значительно. Работать с ним было чище, но не настолько, чтобы казалось, что ты ничего не делаешь.

Что касается карьеры, вы хотели бы упомянуть, что вы привыкли к XNA, хотя я не думаю, что это повредит вашим шансам. На самом деле, из-за того, как его проще использовать, части вашего портфолио могут быть лучше.

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

Коммунистическая утка
источник
+1: хороший ответ. Считаете ли вы, что ожидается, что ваши части портфеля должны быть лучше, так как вы использовали XNA? Например, в одном из моих классов аппаратного обеспечения нам было предложено написать наш дизайн-проект в сборке HC12 или с использованием C, но с C наш проект должен был быть значительно более интересным из-за простоты программирования на C по сравнению со сборкой.
Алан
Я действительно не думаю, что будет. Это инструмент для решения, и причина, по которой я говорю, что конечный продукт будет «лучше», заключается в том, что меньше времени затрачивается на рендеринг дизайна и больше времени затрачивается на реальную работу игры.
Коммунистическая утка
Если вы не ищете конкретно графическую работу, большинство людей не будут искать тонны графического блеска в портфеле. Сделайте что-то, что выглядит более привлекательно, чем красиво. В этом отношении XNA vs. C не имеет большого значения, пока это весело.
Coderanger
Хотя, если вы хотите, чтобы он выглядел красиво, использование движка рендеринга, такого как Sunburn, поверх XNA может очень помочь!
Крис Риденур
10

По моему опыту, одни и те же понятия, используемые в XNA, переносятся между разными библиотеками и языками. Я смог эффективно переключаться между различными игровыми технологиями, и я начал с XNA.

Работа с C # и XNA помогла мне сосредоточиться на одной конкретной учебной задаче («Что заставляет игру тикать?»), А не смешивать цели («Как я учу X и играю одновременно?»). Я обнаружил, что всякий раз, когда я комбинировал цели, я получал довольно плачевные результаты. Хотя начало в моей зоне комфорта и опора на XNA помогли добиться успеха.

Габриэль Изенберг
источник
Мне очень нравится твой ответ. Со всеми языками программирования, имеющими сходные структуры (объекты, управляющие структуры и т. Д.), Я думаю, вам следует изучить концепции того, что вы хотите делать с тем, что вам удобно. Основными отличиями при переходе от языка к языку должны быть синтаксис, основные компоненты и API-интерфейсы.
Джон
3

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

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

Просто сделай свою работу. В конце дня это и есть разработка игр.

Джонатан Фишофф
источник
3

Мне сказали, что:

  1. Содержание значительно важнее, чем инструменты, используемые за некоторыми исключениями.

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

Редактировать: Кроме того, иметь готовый демонстрационный проект во всем (C # и т. Д.) Значительно лучше, чем иметь что-то неполное в более сложном языке (C ++ и т. Д.).

acmshar
источник