Мне больно, что я не знаю C ++ для разработки игр? [закрыто]

14

Прямо сейчас я чувствую, что я силен как в Java, так и в C #. (Не так много прыжка от одного к другому на самом деле).

Хотя я не ожидаю, что гейм-дизайнер / программист - достижимая цель в начале моей карьеры, это цель, которую я достигну позже в своей карьере.

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

Это тот случай? Или я могу продолжать оттачивать свои навыки C #, используя XNA и WPF для личных проектов, которые могут поднять меня в такую ​​карьеру?

Брайан Харрингтон
источник
1
Посмотрите на позиции в игровых компаниях и скажите мне, что вы видите. Вы, вероятно, обнаружите, что у вас есть толпа разработчиков web / facebook, которые в основном ищут ActionScript / php devs, толпа настольных компьютеров, которые ищут c ++ / lua, и толпа i-gadget, которые используют target-c. Это зависит от того, что вы действительно хотите сделать, от того, причиняете ли вы себе боль или нет. (Это исходит от того, кто фокусируется на C # и python и игнорирует c ++)
Кен,

Ответы:

21

ИМО, да, ты, скорее всего, навредишь себе. Прежде всего, правильно или неправильно то это воспринимается иерархия среди языков программирования - и C ++ , как правило , имеет более высокий статус , чем Java или C # (например, такие вопросы , как ваши довольно обычны - наоборот, практически ничего не слышно). Если вы подаете заявку где-нибудь, где используется C # или Java, и вы знаете C ++, они вряд ли будут подвергать сомнению вашу способность к программированию. Если вы подаете заявку где-то, где используется C ++, и вы знаете C # и Java, вполне вероятно, что они поставят под сомнение вашу способность к программированию, по крайней мере, до некоторой степени. Это не значит, что восприятие невозможно преодолеть, но вы все равно ставите себя в невыгодное положение.

Во-вторых, по крайней мере среди независимых разработчиков игр, которых я знаю (правда, не очень много), есть некоторая базовая неприязнь к C # только потому, что она от Microsoft. Sun воспринималась гораздо более позитивно, но с момента выкупа Oracle это, похоже, уже не имеет место. Большинство видит «Oracle» и «крутые игры» как можно ближе к точным противоположностям, насколько это возможно с человеческой точки зрения.

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

Джерри Гроб
источник
5

Не совсем понятно, но каковы ваши цели? Быть игровым дизайнером? Как вы думаете, что это за позиция?

В базовом случае, если вы не пишете реальный код, незнание C ++ не причинит вам вреда. Конечно, имея фундаментальное понимание программирования себя (объектно - ориентированного проектирования и быть в состоянии думать в терминах условными, и т.д.) это поможет вам. То, что делает сам C ++ по сравнению с C # или Java, вероятно, не будет иметь значения, когда речь идет о разработке правил игры, которые легко описать с помощью кода.

тетрада
источник
3

Это действительно зависит от ваших целей. Если вы хотите как можно быстрее перейти к дизайну и стать режиссером, технических знаний, хорошо знакомых с Java и C #, будет более чем достаточно.

Если ваше намерение состоит в том, чтобы подняться на должность старшего / ведущего программиста и оттуда перейти на должность директора, вам лучше выучить какой-то неуправляемый язык. Не обязательно C ++ - C, Objective C или что-то более ограниченное, например, D. Но даже работая на более высоких уровнях абстракции в C #, трудно быть великим программистом, не разбираясь в указателях и управлении памятью, не имея возможности читать сборки и дампы памяти, не понимая и даже не реализуя низкоуровневые оптимизации.

Я должен также добавить - если вы не в отрасли сейчас, планирование 20 лет глупо. Может быть, вы узнаете, что ненавидите это; может быть, вы обнаружите, что не хотите быть режиссером из-за всего, что связано с не-разработкой, и вы бы предпочли остаться старшим дизайнером или программистом, работая под руководством директора, но с большой свободой в конкретном Домен, который вам нравится.


источник
2

Вы, вероятно, будете в порядке, используя языки, которые вы знаете; C # с XNA популярен сейчас, так как вы можете разрабатывать для XBOX360, Zune и ПК. Популярность Java возвращается благодаря независимому успеху Minecraft.

Я был в таком же положении, что и вы, и решил «начать все сначала», так сказать с C ++, и 2 недели назад я купил «Начиная C ++ с помощью игрового программирования». Это НЕ книга по игровому программированию, а книга для начинающих на C ++, которая охватывает все, что вам нужно знать в C ++ при программировании игр с другим API или библиотекой, и заменяет скучные проекты на более связанные с игрой. Это было отличное чтение.

Теперь я перехожу к DirectX и приобрел книгу Карла Гранберга под названием «Программирование игры в RTS в DirectX». У него фантастические отзывы. Я все еще не уверен, принял ли я неправильное решение с DirectX по OpenGL, но посмотрим.

shadowprotocol
источник
2

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

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

Скорее, вы сможете показать несколько игр с хорошим дизайнерским потенциалом (подумайте о небольших, четких концепциях игр, таких как Limbo или Portal), независимо от того, разрабатывали ли вы их самостоятельно или создавали с использованием Flash. Используйте кодирование как инструмент, а не как основное оружие. Убедитесь, что они легко доступны на вашем сайте с видео геймплея, скриншотами и доступными загрузками.

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

Джессика Нэм
источник
0

C ++ является создателем и создателем некоторых наиболее широко используемых языков, включая Java. Изучая C ++ (будь то для разработчиков игр или иным образом), вы сможете быстро и легко выучить практически любой язык. Это магия этого языка. C ++ дает вам больше контроля над кодом по сравнению с Java. Так что, если вы действительно хотите стать настоящим мастером своего кода, вы будете в гораздо лучшем положении, изучая C ++

Киран
источник