У меня очень общий вопрос, который меня беспокоит, но сначала я хочу добавить некоторые детали. Я основной Java-программист. Я самостоятельно создал несколько небольших игр в Java для удовольствия. Теперь, чем больше я смотрю на профессиональную разработку игр, тем больше запутываюсь. Это связано с тем, что всякий раз, когда я гуглю по темам разработки игр или посещаю форумы и т. Д., Я сталкиваюсь с разными предложениями.
Некоторые скажут, что C ++ это хорошо, в то время как некоторые говорят, JAVA может быть лучше, в то время как все еще другие будут говорить какой-либо другой язык является Ур- язык, как Python, Lua, UnrealScript и т.д. Кроме того, предполагается, что один должен иметь знания о игровые движки, такие как Unreal, Torque, Blender, Panda и т. д., а также знание OpenGL, AI, Collision Detection. Я даже создал игру, используя Android SDK.
Я хочу спросить:
- Какой базовый набор навыков должен иметь профессиональный программист игр? Является ли это какой-либо один язык программирования + 1 язык сценариев + 1 Игра знание двигателя + OpenGL? (Уф !!)
- Если я хочу войти в игровую индустрию в качестве программиста игрового процесса или AI-программиста, могу ли я войти в нее с моими текущими навыками и портфолио (как указано выше)?
- Достаточно ли изучения одного языка программирования для разработки игр?
Любое руководство будет полезно.
источник
Чем больше я исследую эту тему и общаюсь с профессиональными разработчиками игр, тем больше думаю, что это сводится к нескольким вещам. В произвольном порядке:
источник
Многое зависит от ваших карьерных целей. Если все, что вам нужно, - это «создавать игры», прежде чем делать необходимые 5,5 лет, выжигать и уходить, тогда, я думаю, вы просто посмотрите на вакансии начального уровня и посмотрите, чего они хотят, изучите и примените. Просто. (Но, если ваш вопрос на самом деле сводится к тому, «что минимальное усилие мне нужно поставить, чтобы получить работу?», То ответ «, если вы поставите в минимальные усилия, вы собираетесь получить минимальную работу! «)
Но в долгосрочной перспективе, я не думаю, что нужно много знать о каком-то количестве языков или изучать конкретный. Языки меняются - десять лет назад никто не использовал Objective-C или XNA или C # или AS3, и через десять лет будьте уверены, что любой язык, который вы изучаете сегодня, в любом случае устареет.
Таким образом, одна вещь для будущего - это не просто «выучить язык», но узнать, КАК изучать новые языки. Как только вы овладеете 3 языками или около того, вы обнаружите, что подобрать новый не так уж и плохо. В любом случае, большинство основных компонентов одинаковы - у каждого языка есть переменные, массивы, циклы, условные выражения и т. Д., Так что речь идет только о изучении синтаксиса.
Другая половина этого состоит в том, чтобы понять основные понятия программирования и информатики. Понимать управление памятью, указатели, рекурсию и так далее. Если вы понимаете концепции, вы можете применять их практически на любом языке.
Если вы хотите повысить свою конкурентоспособность, изучите специальность программирования, относящуюся к играм, независимо от того, что вас интересует ... ИИ, базы данных, сети, инструменты, что угодно.
источник
Есть еще один очень важный навык, который, кажется, немного упускается из виду. Вы должны знать, как вписаться и работой с командой людей, переходя от других разработчиков игры, дизайнеров и менеджеров проектов и прочего. Это не техническое мастерство, но это все еще очень важно, так как вы можете быть лучшим DEV в доме, и если вы не можете получить с людьми, делает большие игры будут проблемой!
Кроме того, как ShrimpCrackers kowing один язык хорошо лучше, чем примерно зная, 5 языков, и понимание того, что происходит под капотом, что один язык вы GOOT на еще лучше, так как для игр, вы должны знать, как получить максимальную производительность из языка.
И последнее, но не в последнюю очередь, зная немного об оборудовании, GPU, в частности, не повредит!
источник
Для программирования социальных игр нужны только основные навыки.
Скрипт действия программы (вы можете использовать среду elipse и svn), он используется для внешнего интерфейса игры (веб-страница)
Программа Java (которая также может быть сделана при затмении с использованием SVN), это используется для действий на стороне сервера, чтобы взять из запросов веб-страницы.
источник