Faisabilité d'un jeu XNA sur PC

19

Un ami et moi faisons un jeu 2D XNA. Jusqu'à présent, l'API semble vraiment cool et les performances sont acceptables. Ma question concerne plus la publication de celui-ci. En tant qu'autres développeurs, comment ont fait les jeux, comment ont-ils bien fait pour vous sur PC (en ce qui concerne les téléchargements, les ventes, etc.)? Je connais les statistiques sur la Xbox360 en le voyant personnellement, mais j'étais curieux de savoir à quel point elles étaient réussies sur PC?

Corv1nus
la source

Réponses:

25

Je n'ai pas de statistiques pour comparer les différences entre les ventes de jeux XNA et non XNA - je dirais que les données sont impossibles à trouver - mais j'imagine que cela montrerait qu'il n'y a pas de différence pour les jeux équivalents. Alors permettez-moi de répondre à votre question en passant en revue les principaux problèmes spécifiques à la distribution de jeux XNA sur PC (en particulier en ligne):


Tout d'abord: pour qu'un jeu XNA fonctionne, le système doit avoir installé: le XNA Framework et le .NET Framework.

Le framework XNA est un téléchargement assez petit, facile à installer, mais nécessitera des privilèges d'administrateur - provoquera donc une invite UAC ainsi qu'une invite EULA. Le cadre n'est pas compatible vers le haut ou vers le bas - mais peut être installé côte à côte. (ie: un jeu XNA 3.1 a besoin de XNA 3.1 et ne fonctionnera pas sur XNA 4.0).

Le .NET Framework 2.0 est fourni sur Vista et au-dessus, je recommande donc de le cibler (Propriétés du projet -> Framework cible). [MISE À JOUR: XNA 4 nécessite .NET 4, donc cela ne fonctionnera plus]

L'installation de .NET 3.5 est très, très lente - je recommande de l'éviter. Je ne suis pas sûr de l'installation complète de la version 4.0, mais l'installation du profil client 4.0 est assez rapide si vous avez besoin de nouvelles fonctionnalités .NET (ce n'est probablement pas le cas - vous pouvez toujours utiliser des lambdas et des méthodes d'extension dans .NET 2.0).

Une installation de .NET Framework provoquera bien sûr une invite UAC et EULA. Cela peut également provoquer un redémarrage.


Actuellement, la manière "standard" de distribuer des jeux XNA est avec ClickOnce . Vous pouvez faire une installation en ligne - l'inconvénient est que votre utilisateur obtient un petit exécutable d'installation "bootstrap" qui extrait tous les fichiers de jeu lâches de votre site Web. Alternativement, vous pouvez simplement distribuer tous ces fichiers en vrac et le programme d'installation dans un zip. Aucun de ces fichiers n'est un fichier exécutable autonome comme les utilisateurs s'attendent à la plupart des jeux.

Une des principales difficultés de ClickOnce est qu'il affichera plusieurs avertissements concernant le téléchargement de logiciels non signés, ce qui peut sembler assez effrayant.

Un autre inconvénient de ClickOnce est que vous n'avez pas beaucoup de contrôle sur des choses comme, par exemple, les entrées du menu Démarrer que vous avez.

L'avantage d'utiliser ClickOnce est qu'il est très facile à configurer, et il téléchargera et installera automatiquement les cadres requis depuis le site Web de Microsoft.

J'ai l'impression que ces problèmes avec ClickOnce peuvent être résolus en utilisant un MSI à la place - et il peut toujours télécharger et installer automatiquement les cadres requis. Je crains de ne pas avoir d'instructions spécifiques à ce sujet.


Si vous faites votre propre installation, ou pas d'installation du tout, vous devez être conscient que l'exécutable de votre jeu plantera avec un message d'erreur extrêmement inutile si les cadres requis sont manquants!


Oh, et votre installation pourrait être un peu plus grande (ou beaucoup, si vous incluez des frameworks). Si vous utilisez le contenu intégré de XNA (et pourquoi pas, il est là et c'est facile), votre utilisateur peut avoir plus à télécharger car les fichiers ne sont pas compressés aussi bien que si vous les manipuliez vous-même (en particulier l'audio) .


C'est à peu près ça. Une fois le jeu installé, vous êtes dans une situation à peu près identique à tout autre jeu utilisant DirectX natif (c'est-à-dire: la plupart d'entre eux).

(Si vous faites quelque chose comme la distribution sur CD-ROM, au lieu de la distribution en ligne, vous pouvez rencontrer certains des mêmes problèmes que ceux que j'ai décrits - mais vous pouvez mettre tout ce qui devrait autrement être téléchargé sur votre CD à la place, y compris le cadres requis.)

Si vous utilisez un shareware téléchargeable, vous essayez essentiellement d'amener les utilisateurs le long d'une chaîne à découvrir votre logiciel, à jouer à la démo et à acheter le jeu complet. L'inconvénient de XNA est qu'il rend l'étape d'installation dans cette chaîne un peu plus difficile à polir - mais c'est toujours possible.

(IMO l'avantage d'un développement plus facile et de la compatibilité XBox en vaut la peine.)

Donc, pour ramener cela à votre question: l'utilisation de XNA peut faire une petite différence - mais pas suffisamment pour que cela soit important. Donc, toutes les statistiques que vous trouvez sur les ventes de jeux PC devraient être applicables aux jeux XNA sur PC.

Andrew Russell
la source
Cool, ENFIN je sais comment distribuer mon jeu XNA 2.0 (oui, j'ai fait un jeu quand 2.0 était nouveau, et j'ai cherché longuement mais je n'ai pas trouvé comment rendre facile un installeur qui télécharge tout ce dont il a besoin pour qu'il ne plante pas sur le pauvre utilisateur ...)
speeder
@speeder Il convient de souligner que les fonctionnalités ClickOnce étaient nouvelles dans XNA 3.0, consultez cet article ici: blogs.msdn.com/b/astebner/archive/2008/09/18/8957968.aspx Il existe des solutions de contournement pour 2.0 - bien que je pense que le plus simple pourrait être de passer de XNA 2.0 à 3.1.
Andrew Russell
1
.Net 4.0 provoque toujours un redémarrage sur mes machines - sachez-le.
Jonathan Dickinson
N'y a-t-il pas une sorte de problème de licence avec le regroupement des frameworks sur un CD pour vous distribuer?
Bill
1
@Bill: Non: "Le téléchargement redistribuable de XNA Framework fournit aux développeurs de jeux les bibliothèques d'exécution XNA Framework qu'ils peuvent inclure avec leur produit pour les redistribuer sur la plate-forme Windows." Référence
Andrew Russell
5

Cela fait plus d'un an que ce sujet a été créé, et depuis lors, il y a eu pas mal de développement du côté XNA. Par exemple, voici une liste de quelques jeux XNA populaires qui ont été publiés sur PC et sont actuellement vendus sur Steam:

... et ce ne sont que ceux que j'ai achetés et j'ai remarqué qu'ils utilisaient le runtime XNA - je suis sûr qu'il y en a plus que je ne connais pas.

Et au cas où vous ne les connaissez pas, Terraria a vendu une quantité incroyable d'exemplaires (si vous ne pouvez pas le dire sur l'avertissement "plus d'un million d'exemplaires vendus" sur le lien ci-dessus), restant dans la liste des meilleurs vendeurs de Steam pendant longtemps . Et Bastion ... et bien vient de remporter trois Spike VG Awards (incluant le meilleur jeu téléchargeable de l'année) il y a quelques jours .

Je vous invite également à vérifier les autres jeux. Chime est un incroyable jeu occasionnel / musical offrant une expérience zen extrêmement relaxante. Et Sequence est un mélange vraiment original de DDR et de RPG (avec de la musique de Ronald Jenkees pour ceux qui le connaissent). Enfin, Magicka est un RPG d'action similaire à Diablo qui est également assez cool.

Je suppose que cela devrait dire quelque chose sur la faisabilité d'utiliser XNA pour développer des jeux PC.

David Gouveia
la source
1
En outre, une autre mise à jour mérite d'être notée est la réutilisation du code. De nos jours, il existe des projets comme MonoGame qui permettront au développeur de conserver la plupart de leur base de code XNA (sinon tous) et de pouvoir exécuter la version multiplateforme de ce jeu. Un bon exemple est Bastion fonctionnant dans Chrome (disponible dans le Chrome Web Store).
Darren Reid
1
@Layoric Sur cette note, je suis assez excité à ce sujet ( j'en ai entendu parler il y a quelques jours). :)
David Gouveia
3
+1 pour montrer d'où vient XNA. Bien que, comme la plupart des développeurs s'en rendront compte, XNA vieillit, il exécute toujours DX9 et il n'y avait pas eu beaucoup de développement pour cela. Je suggère de jeter un œil à ANX, cela vous permet de changer simplement vos espaces de noms et d'utiliser leur système. Les avantages de ceci sont que vous obtenez un framework open source constamment mis à jour qui fonctionne sur sharpdx. Un système opengl est également en développement, ce qui permet de changer le rendu à la volée. anxframework.codeplex.com
FrenchyNZ
1
@Twitchy C'est vrai, mais je ne m'attends pas à ce que ce soit pour longtemps. Le billet de blog d'Andrew Russell ( andrewrussell.net/2011/11/11/predictions-on-xna-in-windows-8 ) concernant l'avenir de XNA / Windows 8 explique les raisons de l'utilisation de DX9 et fournit de bonnes raisons qui suggéreraient qu'une nouvelle version de XNA qui prend en charge DX10-11 est probablement déjà en préparation.
Darren Reid
@Twitchy C'est drôle comme tu as mentionné ANX juste après l'avoir lié aussi! J'ai vraiment hâte de le vérifier une fois qu'il sera stable. Mais une nouvelle version XNA est également la bienvenue.
David Gouveia
1

Aucune idée sur les statistiques réelles, mais cela vaut la peine de voir si vous pouvez trouver quelque chose sur le jardin de myrtilles et la flottille . Les deux sont écrits avec XNA et les deux sont disponibles sur Steam. Flotilla a même un support Steamworks (juste une liste d'amis je crois) intégré

Cubed2D
la source
Oh cool. Je ne savais pas que Steam accepterait réellement les jeux XNA.
Corv1nus
que se passe-t-il si l'utilisateur n'a pas installé .NET?
Iain
2
Vous pouvez écrire un programme d'installation pour vérifier à la fois .NET et XNA. Je l'ai fait pour presque tous les petits jeux que j'ai sortis pour XNA
Jeff
1
Steam a un support pour vérifier les dépendances et les installer, je suppose que impulse a un système similaire.
Cubed2D
1

En créant votre jeu en utilisant XNA, vous n'allez pas trop nuire à vos ventes. (Certes, les utilisateurs de Mac / Linux ne pourront pas jouer). Ce qui va être un facteur plus important, c'est la publicité, les teasers, la démo et le jeu réel.

La plupart des utilisateurs de Windows auront tout ce dont ils ont besoin pour jouer à votre jeu. Si vous voulez être très prudent, je crois que vous pouvez demander à l'installateur de vérifier les exigences telles que .net, xna runtime, directX, etc ... et les inviter à l'installer.

Essentiellement, ne pensez pas qu'en utilisant XNA, DirectX pur ou Direct3D, vous obtiendrez des ventes plus importantes. Vous obtenez un public plus large, mais cela n'équivaut pas à des ventes.

Concentrez-vous sur la création d'un grand jeu, investissez de l'argent dans la publicité (créez une page de fan Facebook et voyez si vous pouvez y créer du buzz), passez du temps à faire une bonne vidéo teaser et surtout construisez une démo amusante.


la source