Wykonalność gry XNA na PC


19

Razem z przyjacielem robimy grę 2D XNA. Jak dotąd interfejs API wydaje się naprawdę fajny, a wydajność jest do zaakceptowania. Moje pytanie dotyczy jednak raczej jego wydania. Jak inni programiści zrobili gry, jak dobrze poradzili sobie na PC (jeśli chodzi o pobieranie, sprzedaż itp.)? Znam statystyki dotyczące Xbox360, widząc go osobiście, ale byłem ciekawy, jak skuteczne były na PC?

Odpowiedzi:


25

Nie mam żadnych statystyk, aby porównać różnice między sprzedażą gier XNA i gier innych niż XNA - sugerowałbym, że dane są niemożliwe do zdobycia - ale wyobrażam sobie, że pokazałoby to, że nie ma różnicy dla równoważnych gier. Pozwól więc, że odpowiem na twoje pytanie, omawiając najważniejsze problemy związane z dystrybucją gier XNA na PC (szczególnie online):


Przede wszystkim: Aby gra XNA mogła zostać uruchomiona, system musi mieć zainstalowany: XNA Framework i .NET Framework.

XNA Framework jest dość małym plikiem do pobrania, łatwym w instalacji, ale wymaga uprawnień administratora - spowoduje to wyświetlenie monitu UAC, a także monitu EULA. Ramy nie są kompatybilne w górę ani w dół - ale można je instalować obok siebie. (tzn .: gra XNA 3.1 wymaga XNA 3.1 i nie będzie działać na XNA 4.0).

.NET Framework 2.0 jest dostarczany w pakiecie z Vistą i nowszymi wersjami, więc polecam celowanie w to (Właściwości projektu -> Target Framework). [AKTUALIZACJA: XNA 4 wymaga .NET 4, więc to nie będzie działać]

Instalacja .NET 3.5 jest bardzo, bardzo powolna - polecam jej unikać. Nie jestem pewien pełnej instalacji 4.0, ale instalacja 4.0 profilu klienta jest wystarczająco szybka, jeśli potrzebujesz nowszych funkcji .NET (prawdopodobnie nie - nadal możesz używać lambdas i metod rozszerzenia w .NET 2.0).

Instalacja .NET Framework oczywiście spowoduje wyświetlenie monitu UAC i EULA. Może to również spowodować ponowne uruchomienie.


Obecnie „standardowym” sposobem dystrybucji gier XNA jest ClickOnce . Możesz wykonać instalację online - wadą jest to, że użytkownik otrzymuje mały plik wykonywalny instalatora „bootstrap”, który pobiera wszystkie luźne pliki gry z Twojej witryny. Alternatywnie możesz po prostu dystrybuować wszystkie te luźne pliki i instalator w formacie zip. Żaden z nich nie jest samodzielnym plikiem wykonywalnym, jakiego użytkownicy oczekują od większości gier.

Głównym problemem ClickOnce jest to, że wyświetla kilka ostrzeżeń o pobieraniu niepodpisanego oprogramowania, co może wyglądać dość przerażająco.

Innym minusem ClickOnce jest to, że nie masz dużej kontroli nad takimi rzeczami, jak na przykład, jakie pozycje menu startowego masz.

Zaletą korzystania z ClickOnce jest to, że jest bardzo łatwy w konfiguracji i automatycznie pobiera i instaluje wymagane frameworki ze strony Microsoft.

Mam wrażenie, że te problemy z ClickOnce można rozwiązać, używając zamiast tego MSI - i nadal może automatycznie pobierać i instalować wymagane frameworki. Obawiam się, że nie mam pod ręką szczegółowych instrukcji na ten temat.


Jeśli wykonujesz własną instalację lub nie instalujesz jej wcale, musisz mieć świadomość, że plik wykonywalny gry ulegnie awarii z bardzo niepomyślnym komunikatem o błędzie, jeśli brakuje wymaganych ram!


Aha, a Twoja instalacja może być nieco większa (lub dużo, jeśli dodasz frameworki). Jeśli korzystasz z wbudowanych treści XNA (a dlaczego nie, jest tam i jest to łatwe), twój użytkownik może pobrać więcej, ponieważ pliki nie są skompresowane tak dobrze, jak gdybyś sam sobie z nimi poradził (zwłaszcza audio) .


O to chodzi. Po zainstalowaniu gry jesteś w prawie identycznej sytuacji, jak każda inna gra z natywnym DirectX (tj. Większość z nich).

(Jeśli robisz coś takiego jak dystrybucja CD-ROM, zamiast dystrybucji online, możesz napotkać niektóre z tych samych problemów, które opisałem - ale możesz umieścić wszystko, co w innym przypadku musiałoby zostać pobrane na dysk CD, w tym wymagane ramy).

Jeśli tworzysz shareware do pobrania, zasadniczo próbujesz zachęcić użytkowników do ciągłego poznawania oprogramowania, grania w wersję demonstracyjną i kupowania pełnej gry. Minusem XNA jest to, że sprawia, że ​​etap instalacji w tym łańcuchu jest nieco trudniejszy do polerowania - ale nadal jest to możliwe.

(IMO jest zaletą łatwiejszego programowania i kompatybilności z XBoxem).

Aby przywrócić to do pytania: używanie XNA może mieć niewielką różnicę - ale nie na tyle, żeby miało znaczenie. Dlatego wszelkie statystyki dotyczące sprzedaży gier na PC powinny mieć zastosowanie do gier XNA na PC.


Fajnie, WRESZCIE wiem, jak rozpowszechniać moją grę XNA 2.0 (tak, stworzyłem grę, gdy 2.0 była nowa, i szukałem obszernie, ale nie mogłem znaleźć sposobu, aby ułatwić instalatorowi pobieranie wszystkich rzeczy potrzebnych do jego awarii na słaby użytkownik ...)
Speeder

@speeder Warto zauważyć, że funkcje ClickOnce były nowe w XNA 3.0, zobacz ten post tutaj: blogs.msdn.com/b/astebner/archive/2008/09/18/8957968.aspx Istnieją obejścia dla wersji 2.0 - chociaż ja myślę, że najłatwiej może być aktualizacja z XNA 2.0 do 3.1.
Andrew Russell,

1
.Net 4.0 zawsze powoduje restart na moich komputerach - po prostu bądź tego świadomy.
Jonathan Dickinson

Czy nie ma jakiegoś problemu z licencjonowaniem w wiązaniu frameworków na płycie CD w celu samodzielnej dystrybucji?
Bill

1
@Bill: No: „Pobieranie XNA Framework Redistributable zapewnia twórcom gier biblioteki wykonawcze XNA Framework, które mogą dołączyć do swojego produktu w celu redystrybucji na platformie Windows”. Odniesienie
Andrew Russell

5

Minął ponad rok, odkąd ten temat został stworzony, i od tego czasu nastąpił duży rozwój po stronie XNA. Oto na przykład lista kilku popularnych gier XNA, które zostały wydane na PC i są obecnie sprzedawane na Steamie:

... a to tylko te, które kupiłem i zauważyłem, że korzystali z środowiska uruchomieniowego XNA - jestem pewien, że jest ich więcej, o których nie wiem.

A jeśli ich nie znasz, Terraria sprzedała niesamowitą liczbę kopii (jeśli nie możesz tego stwierdzić po wyłączeniu odpowiedzialności „ponad milion sprzedanych kopii” w powyższym linku), pozostając na liście bestsellerów Steam przez długi czas . A Bastion ... cóż, właśnie wygrał trzy Spike VG Awards (w tym najlepszą grę roku do pobrania) kilka dni temu .

Zachęcam również do sprawdzenia innych gier. Chime to niesamowita gra codzienna / muzyczna zapewniająca niezwykle relaksujące wrażenia zen. A Sequence to naprawdę oryginalna mieszanka DDR i RPG (z muzyką Ronalda Jenkees dla tych, którzy go znają). Wreszcie, Magicka to RPG akcji podobne do Diablo, które jest również całkiem fajne.

Przypuszczam, że powinno to powiedzieć coś o możliwości wykorzystania XNA do tworzenia gier komputerowych.


1
Kolejną aktualizacją wartą odnotowania jest ponowne użycie kodu. W dzisiejszych czasach istnieją projekty takie jak MonoGame, które pozwolą programistom zachować większość kodu XNA (jeśli nie wszystkie) i być w stanie uruchomić międzyplatformową wersję tamtej gry. Dobrym przykładem jest Bastion działający w Chrome (dostępny w Chrome Web Store).
Darren Reid,

1
@Layoric W tym pamiętać, jestem bardzo podekscytowany tym (tak słyszałem o tym kilka dni temu). :)
David Gouveia,

3
+1 za pokazanie, gdzie przyszedł XNA. Chociaż, jak większość programistów zdaje sobie sprawę, XNA staje się przestarzałe, wciąż działa DX9 i nie było na to wiele słów o rozwoju. Proponuję rzucić okiem na ANX, pozwala on po prostu zmienić swoje przestrzenie nazw i korzystać z ich systemu. Zaletą tego jest to, że otrzymujesz stale aktualizowaną strukturę open source, która działa na sharpdx. Opracowywany jest także system Opengl, który umożliwia zmianę renderera w locie. anxframework.codeplex.com
FrenchyNZ

1
@Twitchy To prawda, ale nie oczekuję, że to potrwa długo. Post na blogu Andrew Russella ( andrewrussell.net/2011/11/predictions-on-xna-in-windows-8 ) na temat przyszłości XNA / Windows 8 wyjaśnia powody używania DX9 i podaje dobre powody, które sugerowałyby, że nowsza wersja XNA, która obsługuje DX10-11 prawdopodobnie już działa.
Darren Reid,

@Twitchy Zabawne, jak wspomniałeś o ANX zaraz po tym, jak go połączyłem! Naprawdę nie mogę się doczekać, aby to sprawdzić, gdy stanie się stabilne. Ale nowa wersja XNA jest również bardzo mile widziana.
David Gouveia,

1

Nie mam pojęcia na temat rzeczywistych statystyk, ale warto sprawdzić, czy znajdziesz coś na temat ogrodu jagodowego i flotylli . Oba są napisane za pomocą XNA i oba są dostępne na Steam. Flotilla ma nawet wbudowane wsparcie dla Steamworks (tylko lista przyjaciół)


Fajnie. Nie wiedziałem, że Steam akceptuje gry XNA.
Corv1nus

co się stanie, jeśli użytkownik nie ma zainstalowanej platformy .NET?
Iain

2
Możesz napisać instalator, aby sprawdzał zarówno .NET, jak i XNA. Zrobiłem to dla prawie wszystkich małych gier, które wydałem na XNA
Jeff

1
Steam obsługuje sprawdzanie zależności i instalowanie ich, zakładam, że impuls ma podobny system.
Cubed2D

1

Tworząc grę za pomocą XNA, nie zaszkodzisz zbytnio sprzedaży. (Oczywiście użytkownicy komputerów Mac / Linux nie będą mogli grać). Większy wpływ będą miały reklamy, zwiastuny, wersje demo i faktyczna rozgrywka.

Większość użytkowników systemu Windows będzie mieć wszystko, czego potrzebują, aby zagrać w grę. Jeśli chcesz być bardzo ostrożny, uważam, że możesz poprosić instalatora o sprawdzenie wymagań, takich jak .net, środowisko uruchomieniowe xna, directX itp. ... i zachęcić ich do zainstalowania.

Zasadniczo nie myśl, że dzięki XNA, czystemu DirectX lub Direct3D uzyskasz większą sprzedaż. Zyskujesz większą liczbę odbiorców, ale to nie oznacza sprzedaży.

Skoncentruj się na stworzeniu świetnej gry, zainwestuj pieniądze w reklamę (stwórz stronę na Facebooku i sprawdź, czy możesz tam stworzyć trochę szumu), poświęć czas na zrobienie dobrego filmu zwiastunowego, a przede wszystkim zbuduj zabawną wersję demonstracyjną.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.