Можно ли делать настоящие игры с XNA и C #? - PullRequest
5 голосов
/ 27 февраля 2009

Можно ли использовать XNA и C # для создания коммерчески доступных игр для ПК / XBOX?

Это лучший подход для создания 3D-игр на C #? Если нет, то что будет?

Ответы [ 6 ]

7 голосов
/ 27 февраля 2009

На самом деле вы можете сделать это, но это немного сложно.

Вам необходимо пройти процедуру одобрения со стороны "сообщества" (пользователей XNA Creators club Online).

Вам также потребуется оплатить реальный аккаунт Xbox плюс лицензию на разработку Xbox live.

Согласно XNA FAQ:

Нужно ли мне премиум-членство в клубе XNA Creators Club для создания игр? Вам не нужно премиум-членство для создания игр для Windows или Zune. Однако вы должны быть премиум-участником и в поддерживаемом регионе для создания игр для Xbox 360, для выпуска игр Xbox 360 для игр сообщества на Xbox LIVE или для проверки представленных игр.

Кто может рецензировать XNA Community Games? Член Creators Club, чей премиум (платный) аккаунт имеет хорошую репутацию и является совершеннолетним (для тех стран, где мы в настоящее время обслуживаем, это означает 18 лет и старше).

А: Почему моя игра должна быть рецензирована? Почему я не могу просто отправить его на рынок Xbox LIVE? Рецензенты помогают создателям создавать лучшие игры и защищают игроков от игр с оскорбительными или неисправными действиями. Рецензенты отклонят вашу игру, если:

  • Ваша игра содержит запрещенный контент, который запрещен в сервисах Xbox LIVE

  • Вы неверно представляете, что находится в игре или в рекламных материалах для игры

  • Рекламный контент для вашей игры (например, обложка, описание, баннер или заголовок) не подходит для всех возрастов на Xbox LIVE Marketplace

  • Игра вылетает, в ней слишком много ошибок или она каким-то образом технически неисправна

часто задаваемые вопросы можно прочитать здесь

Если вы хотите сделать это проще, вы можете играть непосредственно с DirectX или даже с другими библиотеками, такими как SDL (для 2D-игр). На самом деле C # очень хорош для множества вещей, и со временем он становится лучше.

6 голосов
/ 27 февраля 2009

Короткий ответ на ваш первый вопрос: да. Вполне возможно создать практически любую игру с библиотекой XNA. Его можно использовать для создания простых 2D-платформеров или умеренно сложных 3D-шутеров.
В зависимости от игры количество логики, которое вам нужно создать для своей игры, может варьироваться.

Конечно, при создании 3D-игр вам придется либо создать свой собственный 3D-движок, либо взять в свои руки один готовый. Сама по себе XNA не предоставляет движка, который можно было бы полностью использовать из коробки. Однако он предоставляет широкий спектр инструментов, которые помогут вам в создании собственного движка.

3 голосов
/ 27 февраля 2009

XNA предназначена в основном для гаражных игр, небольших проектов с небольшими командами и любителей. Кроме того, это действительно хороший учебный инструмент для игровой архитектуры и 3D-программирования. Но для коммерческих приложений между XLA и XDK явно большой разрыв.

Использование XDK позволяет получить доступ к гораздо более глубокому уровню аппаратного обеспечения, что, безусловно, необходимо, если производительность является проблемой. Кроме того, большинство коммерческих игровых движков разработано для использования с XDK (например, Unreal Engine). Система отладки и профилирования XDK также является удивительным инструментом, который недоступен при использовании XLA.

Так что да, технически возможно создавать коммерческие игры с использованием XNA, но реальный мир предпочитает XDK.

3 голосов
/ 27 февраля 2009

C # не намного медленнее, чем C ++, однако управление памятью в C # не совсем подходит для игр (в стиле AAA). Тем не менее рендеринг в основном одинаков, так как вы будете использовать DirectX, я думаю, поэтому нет причины, по которой такая профессиональная игра, как Gear of Wars, не могла бы быть сделана с помощью C # (как разработчик игры, я видел исходный код Gears of War и могу рассказать вам об этом из первых рук). Но вам понадобятся великие художники.

Реальное препятствие: если ваш источник находится на C #, вы только что заблокировали себя на других платформах, которые не принадлежат Microsoft (скажем, Sony или Nintendo), но опять же, GoW связан с Microsoft, ASFAIK. *


Что касается XNA, самая продаваемая Аркада / Сообщество Braid была написана на C ++, но это потому, что автор не хотел блокировать себя на других платформах, и у него было много опыта и большая кодовая база, которая уже была основана на C ++

1 голос
/ 01 марта 2009

XNA избавит вас от множества скучных занятий низкого уровня, связанных с созданием игр. Это может быть огромной экономией времени для небольшого количества людей, играющих в игры, которым не нужно выдвигать аппаратное обеспечение до предела; тем не менее, для большинства игр AAA требуется, чтобы несколько человек ломали аппаратное обеспечение, чтобы максимально увеличить предел.

Сказав, что ваша игра ни в коем случае не должна быть ААА, чтобы быть коммерчески выполнимой или веселой - можно даже утверждать, что она причиняет боль больше, чем помогает. Технология редко является узким местом создания хороших игр.

0 голосов
/ 27 февраля 2009

Я сомневаюсь, что вы создадите следующую Gears of War с ним, но XNA отлично работает для многих типов игр. Большинство (все?) Игр сообщества на XBox Live созданы с использованием XNA.

...