Чи шкода собі, не знаючи C ++ для ігрового дизайну? [зачинено]


14

Зараз я відчуваю, що сильний у обох Java a C #. (Справді, не дуже багато стрибків від одного до іншого).

Хоча я не сподіваюсь, що дизайнер / програміст ігор є досяжною метою на початку своєї кар'єри, це мета, якої я досягну пізніше у своїй кар'єрі.

Зважаючи на це, я відчуваю, що ігнорування C ++ та пов'язаних з ним інструментів для ігрових розробок, врешті-решт, мені зашкодить або сповільнить мою здатність досягти своєї мети.

Це так? Або я можу продовжувати відточувати свої навички C #, використовуючи XNA та WPF для особистих проектів, які можуть підняти мене на таку кар’єру?


1
Подивіться позиції ігрових компаній і скажіть, що ви бачите. Напевно ви виявите, що у вас є натовп ігор у мережі Інтернет та у Facebook, які в основному шукають сценарії дій Actioncript / php, настільний натовп, який шукає c ++ / lua, та натовп i-гаджетів, які використовують target-c. Від того, що ти хочеш зробити насправді, залежить від того, шкодиш ти чи ні. (Це йде від когось, хто зосереджується на C # та python та ігнорує c ++)
Кен

Відповіді:


21

ІМО, так, ви, ймовірно, самі собі нашкодите. Перш за все, правильно чи неправильно то це сприймається ієрархія серед мов програмування - і C ++ , як правило , має більш високий статус , ніж Java або C # (наприклад, такі питання , як ваші звичними - навпаки, практично нічого НЕ чути). Якщо ви застосовуєте десь, де використовується C # або Java, і ви знаєте C ++, вони навряд чи поставлять під сумнів вашу здатність програмування. Якщо ви застосуєте десь, де використовується C ++, і ви знаєте C # та Java, є досить справедливий шанс, вони поставлять під сумнів вашу здатність програмування, принаймні, до певної міри. Це не означає, що сприйняття неможливо подолати, але ви все ще ставите себе у невигідне становище.

По-друге, принаймні серед незалежних розробників ігор, яких я знаю (правда, не дуже багато), є якась основна неприязнь до C # лише тому, що він від Microsoft. На Сонце було сприйнято набагато позитивніше, але з моменту викупу Oracle це зовсім не так. Більшість бачить "Оракул" та "круті ігри" приблизно як можна ближче до точних протилежностей.

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


5

Не зовсім зрозуміло, але які твої цілі? Бути дизайнером гри? Як ви вважаєте, що це / займає ця позиція?

У основному випадку, якщо ви не пишете фактичний код, не знаючи спеціально C ++, вам не зашкодить. Звичайно, маючи фундаментальне розуміння самого програмування (об'єктно-орієнтований дизайн та вміння мислити з точки зору умовних умов тощо) це допоможе вам. Те, що сам C ++ робить у порівнянні з C # або Java, мабуть, не має значення, коли справа стосується розробки правил проектування гри, які легко описати кодом.


3

Це дійсно залежить від ваших цілей. Якщо ви хочете якнайшвидше перейти до дизайну і попрацювати там, щоб бути директором, технічного досвіду, який ви знаєте, як Java та C # добре, буде більш ніж достатньо.

Якщо ваш намір полягає в тому, щоб пройти шлях до старшого / ведучого програмування та перейти на посаду директора звідти, вам краще вивчити якусь некеровану мову. Не обов'язково C ++ - C, ціль C або щось більше бахроми, як D, було б добре. Але навіть працюючи на більш високих рівнях абстракції в C #, важко бути прекрасним програмістом, не розуміючи покажчиків та управління пам’яттю, не вміючи читати збірки та скиди пам’яті, не маючи змоги зрозуміти або навіть реально реалізувати оптимізацію низького рівня.

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


2

Вам, мабуть, буде добре, використовуючи мови, які ви знаєте; C # з XNA популярний зараз, оскільки ви можете розвиватися до XBOX360, Zune та PC. Популярність Яви повертається завдяки інді-успіху Minecraft у цьому.

Я був у подібному становищі, як ви, і вирішив "почати спочатку", так би мовити, з C ++, і 2 тижні тому я придбав "Починаючи на C ++ через ігрове програмування". Це НЕ книга програмування ігор, а книга для початківців C ++, яка охоплює все, що вам потрібно знати на C ++, коли програмувати ігри з іншим API або Бібліотекою, і замінює нудні проекти більш тими, що стосуються ігор. Це було чудове читання.

Тепер я переходжу на DirectX і придбав книгу Карла Гранберга під назвою "Програмування гри на RTS в DirectX". Має фантастичні відгуки. Я все ще не впевнений, чи прийняв я неправильне рішення з DirectX через OpenGL, але побачимо.


2

Вивчення більше мов буде лише на вашу користь. Навіть якщо майже всі про-двигуни використовують - або повинні використовувати - сценарії та / або широкі інструменти для зручності дизайнера, ви правильно, що це дуже допомагає створити проект, над яким ви спеціально працювали. Навіть якщо ваш інтерв'юер не зверне уваги на ваші проекти (що вже малоймовірно,) робота над навіть одним особистим проектом буде величезним досвідом навчання.

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

Швидше за все, ви повинні мати можливість показати кілька ігор, які мають хороший дизайнерський потенціал (подумайте про невеликі, чіткі ігрові концепції, такі як Limbo або Portal), незалежно від того, чи розробляли ви їх самостійно, чи створювали їх за допомогою Flash. Використовуйте кодування як інструмент, а не як основну зброю. Переконайтесь, що вони легко доступні на вашому сайті за допомогою відеозаписів про геймплей, скріншоти та доступних завантажень.

Перш за все, відшліфуйте все, що ви робите, незалежно від того, наскільки малий ви чи проект. Якщо програмування стосується надійності та зручності використання, то дизайн - це забава (люди часто це забувають) і показує, що ви можете дійсно зняти деталі.


0

C ++ є автором і творцем деяких найбільш широко використовуваних мов, що включає в себе Java. Вивчаючи C ++ (будь то ігровий розробник чи іншим способом), ви зможете швидко та легко вивчити майже будь-яку мову. Ось і є магія цієї мови. C ++ дає більше контролю над кодом порівняно з Java. Тож якщо ви хочете бути справжнім майстром свого коду, тоді ви будете в набагато кращому становищі, вивчаючи C ++

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.