Возможность игры XNA на ПК


19

Мы с другом играем в 2D XNA. Пока что API выглядит действительно круто, а производительность приемлема. Мой вопрос больше к выпуску этого все же. Как другие разработчики, как сделали игры, насколько хорошо они сделали для вас на ПК (в том, что касается загрузок, продаж и т. Д.)? Я знаю статистику о Xbox360 по личному опыту, но мне было интересно узнать, насколько успешными они были на ПК?

Ответы:


25

У меня нет статистики для сравнения различий между продажами игр XNA и не-XNA - я бы предположил, что данные невозможно получить, - но я думаю, что это покажет, что для эквивалентных игр различий нет. Итак, позвольте мне ответить на ваш вопрос, проанализировав основные проблемы, связанные с распространением игр XNA на ПК (особенно онлайн):


Прежде всего: для запуска игры XNA в системе должны быть установлены: XNA Framework и .NET Framework.

Платформа XNA Framework довольно мала, ее легко установить, но она требует прав администратора - поэтому вызовет как приглашение UAC, так и приглашение EULA. Каркас не совместим вверх или вниз - но может быть установлен бок о бок. (то есть: игра XNA 3.1 требует XNA 3.1 и не будет работать на XNA 4.0).

.NET Framework 2.0 поставляется в Vista и более поздних версиях, поэтому я рекомендую использовать эту функцию (Свойства проекта -> Target Framework). [ОБНОВЛЕНИЕ: XNA 4 требует .NET 4, так что это больше не будет работать]

Установка .NET 3.5 очень, очень медленная - я рекомендую избегать этого. Я не уверен насчет полной установки 4.0, но установка профиля клиента 4.0 достаточно быстрая, если вам нужны новые функции .NET (вероятно, нет - вы все еще можете использовать лямбда-выражения и методы расширения в .NET 2.0).

Разумеется, установка .NET Framework вызовет запрос UAC и EULA. Это также может привести к перезагрузке.


В настоящее время «стандартный» способ распространения игр XNA - это ClickOnce . Вы можете выполнить онлайн-установку - недостатком является то, что ваш пользователь получает небольшой исполняемый файл установщика начальной загрузки, который извлекает все свободные игровые файлы с вашего сайта. Кроме того, вы можете просто распространять все эти свободные файлы и установщик в zip. Ни один из них не является автономным исполняемым файлом, который пользователи ожидают от большинства игр.

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

Другим недостатком ClickOnce является то, что вы не имеете большого контроля над такими вещами, как, например, какие пункты меню «Пуск» у вас есть.

Преимущество использования ClickOnce в том, что его очень легко настроить, и он автоматически загрузит и установит необходимые фреймворки с веб-сайта Microsoft.

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


Если вы делаете свою собственную установку или не устанавливаете ее вообще, вам нужно знать, что ваш исполняемый файл игры вылетит с крайне бесполезным сообщением об ошибке, если необходимые рамки отсутствуют!


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


Вот и все. После установки игры вы практически идентичны любой другой игре, использующей встроенный DirectX (т.е. большинство из них).

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

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

(IMO - это преимущество более простой разработки и совместимости с XBox.)

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


Круто, НАКОНЕЦ Я знаю, как распространять свою игру XNA 2.0 (да, я создал игру, когда 2.0 была новой, и я много искал, но не мог найти, как сделать простой установщик, который загружает все необходимое для того, чтобы он не зависал на бедный пользователь ...)
спидер

@speeder Стоит отметить, что функции ClickOnce были новыми в XNA 3.0, см. этот пост здесь: blogs.msdn.com/b/astebner/archive/2008/09/18/8957968.aspx Есть обходные пути для 2.0 - хотя я думаю, что самым простым может быть обновление с XNA 2.0 до 3.1.
Эндрю Рассел

1
.Net 4.0 всегда вызывает перезагрузку на моих машинах - просто знайте об этом.
Джонатан Дикинсон

Нет ли какой-то проблемы с лицензированием при объединении фреймворков на компакт-диске для распространения самостоятельно?
Bill

1
@Bill: No: «Распространяемая загрузка XNA Framework предоставляет разработчикам игр библиотеки времени выполнения XNA Framework, которые они могут включить в свой продукт для распространения на платформе Windows». Справка
Эндрю Рассел

5

Прошло уже больше года с тех пор, как эта тема была создана, и с тех пор на стороне XNA было довольно много разработок. Например, вот список с несколькими популярными играми XNA, которые были выпущены для ПК и в настоящее время продаются в Steam:

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

А в случае, если вы их не знаете, Terraria продала невероятное количество копий (если вы не могли сказать по отказу от «более миллиона проданных копий» по ссылке выше), оставаясь в списке бестселлеров Steam в течение длительного времени , И Бастион ... ну, он только что выиграл три награды Spike VG (включая лучшую скачиваемую игру года) несколько дней назад .

Я также призываю вас проверить другие игры. Chime - удивительная казуальная / музыкальная игра, дающая невероятно расслабляющий дзен-опыт. И Sequence - действительно оригинальный микс из DDR и RPG (с музыкой Рональда Дженкиса для тех, кто его знает). Наконец, Magicka - это ролевая игра, похожая на Diablo, которая также довольно крута.

Полагаю, это должно что-то сказать о целесообразности использования XNA для разработки игр для ПК.


1
Также стоит отметить еще одно обновление - повторное использование кода. В наши дни существуют такие проекты, как MonoGame, которые позволят разработчику сохранить большую часть своей базы кода XNA (если не все) и смогут запускать кросс-платформенную версию этой игры. Хорошим примером является Bastion, работающий в Chrome (доступен в Chrome Web Store).
Даррен Рейд

1
@Layoric На этой ноте я очень рад этому (только что услышал об этом пару дней назад). :)
Дэвид Гувейя

3
+1 за показ, куда пришел XNA. Хотя, как поймут большинство разработчиков, XNA устарела, все еще работает под управлением DX9, и не было много слов о ее разработке. Я предлагаю взглянуть на ANX, он позволяет вам просто изменить свои пространства имен и использовать их систему. Преимущества этого в том, что вы получаете постоянно обновляемый фреймворк с открытым исходным кодом, работающий на sharpdx. Также разрабатывается система opengl, которая позволяет менять визуализацию на лету. psychframework.codeplex.com
FrenchyNZ

1
@ Twitchy Это правда, но я не ожидаю, что это будет надолго. Сообщение Эндрю Рассела в блоге ( andrewrussell.net/2011/11/predictions-on-xna-in-windows-8 ), касающееся будущего XNA / Windows 8, объясняет причины использования DX9 и дает веские основания предполагать, что более новая версия XNA, Поддержка DX10-11, вероятно, уже в разработке.
Даррен Рейд

@Twitchy Забавно, как ты упомянул ANX сразу после того, как я связал это тоже! Я действительно с нетерпением жду возможности проверить это, как только оно станет стабильным Но новая версия XNA также очень приветствуется.
Дэвид Гувейя

1

Понятия не имею о реальной статистике, но, возможно, стоит поискать, если вы найдете что-нибудь о черничном саду и флотилии . Оба написаны с использованием XNA, и оба доступны на steam. У Flotilla даже есть встроенная поддержка SteamWorks (просто список друзей)


О, круто. Я не знал, что Steam действительно примет игры XNA.
Corv1nus

что произойдет, если у пользователя не установлен .NET?
Иан

2
Вы можете написать установщик для проверки .NET и XNA. Я сделал это почти для всех небольших игр, которые я выпустил для XNA
Джефф

1
В Steam есть поддержка для проверки зависимостей и их установки, я полагаю, что у impulse аналогичная система.
Cubed2D

1

Создавая свою игру с использованием XNA, вы не сильно повредите своим продажам. (Конечно, пользователи на Mac / Linux не смогут играть). Что будет более важным фактором, так это реклама, тизеры, демоверсия и реальный игровой процесс.

Большинство пользователей Windows будут иметь все необходимое для игры. Если вы хотите быть очень осторожным, я верю, что вы можете попросить установщика проверить наличие таких требований, как .net, xna runtime, directX и т. Д. И предложить им установить его.

По сути, не думайте, что, используя XNA, чистый DirectX или Direct3D, вы получите больший объем продаж. Вы получаете большую аудиторию, но это не равно продажам.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.