Machbarkeit eines XNA-Spiels auf dem PC

19

Ein Freund und ich machen ein 2D-XNA-Spiel. Bisher scheint die API wirklich cool und die Leistung ist akzeptabel. Meine Frage zielt jedoch eher auf die Veröffentlichung ab. Wie haben andere Entwickler Spiele gemacht, wie gut haben sie sie für Sie auf dem PC gemacht (in Bezug auf Downloads, Verkäufe usw.)? Ich kenne die Statistiken über die Xbox360, weil ich sie persönlich gesehen habe, aber ich war gespannt, wie erfolgreich diese auf dem PC waren.

Corv1nus
quelle

Antworten:

25

Ich habe keine Statistiken, um die Unterschiede zwischen XNA- und Nicht-XNA-Spielverkäufen zu vergleichen. Ich würde vorschlagen, dass es unmöglich ist, Daten zu beschaffen. Lassen Sie mich Ihre Frage mit einem Überblick über die wichtigsten Probleme bei der Verbreitung von XNA-Spielen auf dem PC (insbesondere online) beantworten:


Zunächst einmal: Damit ein XNA-Spiel ausgeführt werden kann, muss das System installiert sein: das XNA-Framework und das .NET-Framework.

Das XNA Framework ist ein relativ kleiner Download, der einfach zu installieren ist, jedoch Administratorrechte erfordert. Dies führt zu einer UAC-Aufforderung sowie einer EULA-Aufforderung. Das Framework ist nicht auf- oder abwärtskompatibel - kann aber nebeneinander installiert werden. (dh: ein XNA 3.1-Spiel benötigt XNA 3.1 und läuft nicht auf XNA 4.0).

Das .NET Framework 2.0 wird unter Vista und höher gebündelt. Ich empfehle daher, dies als Ziel festzulegen (Projekteigenschaften -> Zielframework). [UPDATE: Für XNA 4 ist .NET 4 erforderlich, daher funktioniert dies nicht mehr.]

Die .NET 3.5-Installation ist sehr, sehr langsam - ich empfehle, sie zu vermeiden. Ich bin mir bei der vollständigen 4.0-Installation nicht sicher, aber die 4.0-Client-Profil-Installation ist schnell genug, wenn Sie neuere .NET-Funktionen benötigen (wahrscheinlich nicht - Sie können in .NET 2.0 weiterhin Lambdas und Erweiterungsmethoden verwenden ).

Eine .NET Framework-Installation führt natürlich zu einer UAC- und EULA-Eingabeaufforderung. Es kann auch einen Neustart verursachen.


Derzeit ist ClickOnce der "Standard" für die Verbreitung von XNA-Spielen . Sie können eine Online-Installation durchführen - der Nachteil ist, dass Ihr Benutzer eine kleine ausführbare "Bootstrap" -Installationsdatei erhält, die alle losen Spieledateien von Ihrer Website abruft. Alternativ können Sie einfach alle diese losen Dateien und das Installationsprogramm in einer Zip-Datei verteilen. Keines dieser Programme ist eine eigenständige ausführbare Datei, wie sie von den meisten Spielen erwartet wird.

Ein Hauptschmerz von ClickOnce ist, dass mehrere Warnungen zum Herunterladen von nicht signierter Software angezeigt werden, die beängstigend aussehen können.

Ein weiterer Nachteil von ClickOnce ist, dass Sie nicht viel Kontrolle über Dinge haben, wie zum Beispiel, welche Startmenüeinträge Sie haben.

Der Vorteil von ClickOnce ist, dass es sehr einfach einzurichten ist und die erforderlichen Frameworks automatisch von der Microsoft-Website heruntergeladen und installiert werden.

Ich habe den Eindruck, dass diese Probleme mit ClickOnce mithilfe einer MSI behoben werden können - und dass die erforderlichen Frameworks trotzdem automatisch heruntergeladen und installiert werden können. Ich fürchte, ich habe keine spezifischen Anweisungen dafür parat.


Wenn Sie eine eigene oder gar keine Installation durchführen, müssen Sie sich darüber im Klaren sein, dass Ihre ausführbare Spieldatei mit einer äußerst wenig hilfreichen Fehlermeldung abstürzt, wenn die erforderlichen Frameworks fehlen!


Oh, und Ihre Installation könnte etwas größer sein (oder viel, wenn Sie Frameworks einbinden). Wenn Sie die integrierten Inhalte von XNA verwenden (und warum nicht, sie sind da und es ist einfach), muss Ihr Benutzer möglicherweise mehr herunterladen, da die Dateien nicht so gut komprimiert sind, wie wenn Sie es selbst erledigt haben (insbesondere Audio). .


Das ist alles. Sobald das Spiel installiert ist, befinden Sie sich in einer ähnlichen Situation wie bei jedem anderen Spiel, das natives DirectX verwendet (dh: die meisten von ihnen).

(Wenn Sie so etwas wie eine CD-ROM-Distribution anstelle einer Online-Distribution ausführen, treten möglicherweise dieselben Probleme auf, die ich beschrieben habe. Sie können jedoch auch alles auf Ihre CD kopieren, was ansonsten zum Herunterladen erforderlich wäre, einschließlich der erforderliche Frameworks.)

Wenn Sie Shareware zum Herunterladen verwenden, versuchen Sie im Grunde, die Benutzer dazu zu bringen, sich über Ihre Software zu informieren, die Demo zu spielen und das vollständige Spiel zu kaufen. Der Nachteil von XNA ist, dass der Installationsschritt in dieser Kette etwas schwieriger zu polieren ist - aber es ist immer noch möglich.

(IMO ist der Vorteil einer einfacheren Entwicklung und der XBox-Kompatibilität die Mühe wert.)

Um das noch einmal auf Ihre Frage zurück zu bringen: Die Verwendung von XNA kann einen kleinen Unterschied bewirken - aber nicht genug, dass es darauf ankommt. Alle Statistiken, die Sie über den Verkauf von PC-Spielen finden, sollten für XNA-Spiele auf dem PC gelten.

Andrew Russell
quelle
Cool, ENDLICH weiß ich, wie ich mein XNA 2.0-Spiel verbreiten kann (ja, ich habe ein Spiel gemacht, als 2.0 neu war, und ich habe ausgiebig gesucht, konnte aber nicht herausfinden, wie ich es einem Installer leicht machen kann, der alle erforderlichen Dinge herunterlädt, damit es nicht auf dem abstürzt) armer Benutzer ...)
Speeder
@speeder Es ist erwähnenswert, dass die ClickOnce-Funktionen in XNA 3.0 neu waren. Lesen Sie diesen Beitrag hier: blogs.msdn.com/b/astebner/archive/2008/09/18/8957968.aspx Es gibt Workarounds für 2.0 - obwohl ich Ich denke, am einfachsten ist ein Upgrade von XNA 2.0 auf 3.1.
Andrew Russell
1
.Net 4.0 führt auf meinen Rechnern immer zu einem Neustart - seien Sie sich dessen bewusst.
Jonathan Dickinson
Gibt es keine Lizenzprobleme beim Bündeln der Frameworks auf einer CD, um sich selbst zu verbreiten?
Bill
1
@Bill: Nein: "Der XNA Framework Redistributable-Download bietet Spielentwicklern die XNA Framework-Laufzeitbibliotheken, die sie für die Neuverteilung auf der Windows-Plattform in ihr Produkt einbinden können ." Referenz
Andrew Russell
5

Es ist mehr als ein Jahr her, dass dieses Thema erstellt wurde, und seitdem hat sich auf der XNA-Seite einiges getan. Zum Beispiel ist hier eine Liste mit einigen populären XNA-Spielen, die für den PC veröffentlicht wurden und derzeit auf Steam verkauft werden:

... und das sind nur die, die ich zufällig gekauft habe und die festgestellt haben, dass sie die XNA-Laufzeit verwendet haben - ich bin sicher, dass es weitere gibt, von denen ich nichts weiß.

Und für den Fall, dass Sie sie nicht kennen, hat Terraria eine erstaunliche Menge an Exemplaren verkauft (wenn Sie es nicht anhand des Haftungsausschlusses "Über eine Million verkaufte Exemplare" über den obigen Link beurteilen können) und ist seit langem auf der Bestseller-Liste von Steam geblieben . Und Bastion ... nun, es hat vor ein paar Tagen drei Spike VG Awards (einschließlich des besten herunterladbaren Spiels des Jahres) gewonnen .

Ich fordere Sie auch auf, die anderen Spiele zu überprüfen. Chime ist ein erstaunliches Casual- / Musikspiel, das eine äußerst entspannende Zen-Erfahrung bietet. Und Sequence ist eine wirklich originelle Mischung aus DDR und RPG (mit etwas Musik von Ronald Jenkees für diejenigen, die ihn kennen). Magicka ist ein Action-Rollenspiel ähnlich wie Diablo, das auch ziemlich cool ist.

Ich denke, das sollte etwas über die Machbarkeit der Verwendung von XNA für die Entwicklung von PC-Spielen aussagen.

David Gouveia
quelle
1
Ein weiteres bemerkenswertes Update ist die Wiederverwendung von Code. In diesen Tagen gibt es Projekte wie MonoGame, mit denen der Entwickler den größten Teil seines XNA-Codes (wenn nicht alle) behalten und eine plattformübergreifende Version des Spiels ausführen kann. Ein gutes Beispiel ist Bastion, das in Chrome ausgeführt wird (im Chrome Web Store verfügbar).
Darren Reid
1
@Layoric In diesem Sinne bin ich ziemlich über erregt diese (nur vor über sie ein paar Tage zu hören). :)
David Gouveia
3
+1 für die Anzeige, wo XNA gekommen ist. Obwohl, wie die meisten Entwickler erkennen werden, XNA veraltet ist, läuft immer noch DX9, und es gab nicht viel Entwicklungsarbeit dafür. Ich schlage vor, Sie werfen einen Blick auf ANX. Dort können Sie einfach Ihre Namespaces ändern und deren System verwenden. Der Vorteil davon ist, dass Sie ein Open Source-Framework erhalten, das ständig aktualisiert wird und auf sharpdx läuft. Ein OpenGL-System ist ebenfalls in der Entwicklung, mit dem der Renderer im laufenden Betrieb geändert werden kann. anxframework.codeplex.com
FrenchyNZ
1
@Twitchy Das stimmt, aber ich erwarte nicht, dass das lange dauert. Andrew Russells Blogpost ( andrewrussell.net/2011/11/predictions-on-xna-in-windows-8 ) über die Zukunft von XNA / Windows 8 erklärt die Gründe für die Verwendung von DX9 und liefert gute Gründe, die auf eine neuere Version von XNA hindeuten unterstützt DX10-11 ist wohl schon in Arbeit.
Darren Reid
@Twitchy Komisch, wie du ANX erwähnt hast, nachdem ich es auch verlinkt habe! Ich freue mich sehr darauf, es zu testen, sobald es stabil ist. Eine neue XNA-Version ist aber auch sehr willkommen.
David Gouveia
1

Keine Ahnung, ob es sich um eine Statistik handelt, aber vielleicht lohnt es sich, etwas über den Blaubeergarten und die Flottille zu erfahren . Beide sind mit XNA geschrieben und beide sind auf Steam verfügbar. Flotilla hat sogar einige Steamworks (nur Freundeslisten, glaube ich) eingebaut

Cubed2D
quelle
Oh cool. Ich wusste nicht, dass Steam tatsächlich XNA-Spiele akzeptieren würde.
Corv1nus
Was passiert, wenn der Benutzer .NET nicht installiert hat?
Iain
2
Sie können ein Installationsprogramm schreiben, um nach .NET und XNA zu suchen. Ich habe es für fast alle kleinen Spiele getan, die ich für XNA veröffentlicht habe
Jeff
1
Steam hat Unterstützung für die Überprüfung auf Abhängigkeiten und deren Installation, ich gehe davon aus, dass impulse ein ähnliches System hat.
Cubed2D
1

Wenn Sie Ihr Spiel mit XNA erstellen, werden Sie Ihre Verkäufe nicht zu sehr beeinträchtigen. (Zugegeben, Benutzer auf Mac / Linux können nicht spielen). Was ein größerer Faktor sein wird, ist die Werbung, Teaser, Demo und das tatsächliche Gameplay.

Die meisten Windows-Benutzer haben alles, was sie zum Spielen Ihres Spiels benötigen. Wenn Sie wirklich vorsichtig sein möchten, können Sie das Installationsprogramm auf Anforderungen wie .net, xna-Laufzeit, directX usw. überprüfen lassen und sie zur Installation auffordern.

Denken Sie im Wesentlichen nicht, dass Sie mit XNA, Pure DirectX oder Direct3D größere Umsätze erzielen werden. Man bekommt zwar ein größeres Publikum, aber das entspricht nicht dem Verkauf.

Konzentrieren Sie sich darauf, ein großartiges Spiel zu machen, etwas Geld in Werbung zu investieren (erstellen Sie eine Facebook-Fanseite und prüfen Sie, ob Sie dort für Aufsehen sorgen können), verbringen Sie Zeit damit, ein gutes Teaser-Video zu erstellen und erstellen Sie vor allem eine unterhaltsame Demo.


quelle