Jaka jest przyszłość XNA w Windows 8 lub jak będą tworzone gry zarządzane w Windows 8? [Zamknięte]


83

Wiem, że to potencjalny duplikat tego pytania , ale ostatnia odpowiedź padła 18 miesięcy temu i od tego czasu wiele się wydarzyło.

Wydaje się, że istnieje niepewność co do XNA w Windows 8. W szczególności Windows 8 domyślnie używa interfejsu Metro, który nie jest obsługiwany przez XNA. Również sklep z systemem Windows 8 nie będzie magazynował aplikacji innych niż metro, więc nie będzie magazynował aplikacji XNA.

Czy powinniśmy trzymać się XNA, czy Microsoft chce, abyśmy przestawili się na inną platformę do zarządzania grami zarządzanymi w Windows 8?

Edycja: Jak wskazano w jednym z komentarzy, Windows 8 będzie mógł uruchamiać gry XNA w trybie kompatybilności wstecznej. Ale to pachnie przestarzałością.


2
Windows 8 ma fabrycznie tryb kompatybilny wstecz, więc dlaczego miałby to być problem?
ashes999

6
Jeśli chcę opracować grę AC # dla interfejsu metra, jakich ram powinienem użyć?
Ken

5
Powinieneś użyć SharpDX.
Jonathan Dickinson

+1 dla Johnathana. SharpDX obsługuje teraz DirectX 11.1 dla kompatybilności z Metro.
ChrisC

4
@Deza: Nie tylko nie będzie obsługiwał metra, ale XNA nie będzie również używany w Windows Phone 8. Ponadto, jeśli XNA nie zostanie zaktualizowany, nigdy nie będzie obsługiwał DX11 i nie będzie działać na nadchodzącej konsoli Xbox. Istnieje wiele powodów, dla których programiści powinni unikać XNA, jeśli nie zostanie on zaktualizowany.
Nic Foster,

Odpowiedzi:


61

EDYCJA: To oficjalne, Microsoft zabił XNA . Zasmuciło mnie to, ale nie było to nieoczekiwane, tak jak przewidywałem, stanie się, ale mam nadzieję, że się myliłem. Wszystko poniżej tego punktu to mój oryginalny post z początku 2012 roku.

Inną kwestią do rozważenia jest to, że Microsoft prawdopodobnie wyda nową konsolę w połowie do końca 2013 roku. Czy będą nadal starać się, aby XNA działał na ich konsoli? Jeśli chcą, aby ludzie tworzyli gry na nowej konsoli Xbox, będą potrzebować czegoś, a marnowanie XNA i rozpoczęcie na nowo od czegoś innego byłoby niepotrzebne. Ponadto system Windows 8 będzie działał na tabletach z procesorami ARM i wszyscy wiemy, jak duży jest rynek aplikacji na telefony i tablety, to wielka szansa dla Microsoft na posiadanie interfejsu API do tworzenia aplikacji na tych urządzeniach, ale czy to będzie XNA lub tylko .NET?

Widzę kilka potencjalnych ścieżek:

  1. XNA nie odniosła wielkiego sukcesu z obecną konsolą Xbox, głównie ze względu na to, jak mało gier XNA się wyświetla i jak słabo skonfigurowano sklep dla gier XNA na Xbox Live. Microsoft może więc zdecydować się całkowicie wyciągnąć wtyczkę, pozostawiając nam XNA 4.0, który jest kompatybilny z DX10, i będzie dobrą platformą do tworzenia prostych gier komputerowych przez następne kilka lat, zanim zniknie.

  2. Microsoft może zobaczyć ogromne możliwości z aplikacjami domowymi, takie jak Apple App Store są ogromnymi twórcami pieniędzy, a jeśli Microsoft może ułatwić tworzenie gier i przenieść je na Xbox Live i tablety z systemem Windows 8, to mają szansę na duże na rynku aplikacji konsolowych. Jeśli Microsoft pójdzie tą drogą, zobaczę nowy XNA obsługujący DX11.1 z jego następną wersją i kontynuujący wsparcie dla XNA przez co najmniej 5 kolejnych lat.

Kilka rzeczy do rozważenia:

  • Obecnie z XNA musisz zapłacić 100 USD, jeśli chcesz rozwinąć swoją grę na Xbox 360, to 100 USD, aby wypróbować ją i sprawdzić, czy możesz zarobić pieniądze, a nawet wtedy MS dostanie kawał zysków z gry. Jeśli Microsoft pobierze opłatę w wysokości 100 USD i po prostu zabierze część zysków, może w rzeczywistości zobaczyć więcej gier i zarobić więcej na transakcji.

  • Gry XNA mają problemy z wydajnością na Xbox 360. Microsoft nie chciał, aby gry XNA stanowiły zagrożenie bezpieczeństwa, gdy działały na Xboxach innych ludzi, więc w zasadzie uruchamiają gry XNA w piaskownicy z ograniczonym dostępem do procesora, GPU i pamięci. Oprócz ograniczonego dostępu, gry zaprogramowane na pełnym zestawie SDK Xbox nie są napisane w języku C # i nie potrzebują takich rzeczy jak wyrzucanie elementów bezużytecznych, ale XNA działa na własnym języku C # firmy Microsoft, więc Microsoft musiał napisać opakowanie, aby XNA mogła działać na Xbox i to opakowanie całkiem spowalnia rzeczy. Wydajność zmiennoprzecinkowa może być nawet 10-krotnie mniejsza niż w przypadku gier na konsolę Xbox zapisanych w pełnym zestawie SDK. Te problemy z wydajnością oznaczają, że gry Xbox opracowane za pomocą XNA nie mogą w pełni wykorzystać pełnego potencjału Xbox, co tylko szkodzi jakości gier, które Microsoft może uzyskać od społeczności. Microsoft zrobiłby to dobrze, gdyby kontynuował XNA, aby następna konsola pozwoliła deweloperom XNA na pełne wykorzystanie systemu.

  • O ile mi wiadomo, XNA nie będzie obsługiwał stylu metra Windows 8, więc programiści nie będą mogli pisać gier, aby z niego skorzystać. XNA również nie będzie działać na procesorach ARM, więc nie można używać XNA do pisania aplikacji na tablety z systemem Windows 8, które wkrótce będą dostępne. Czy to znak, że XNA może nie być obsługiwany w przyszłości?

  • Microsoft używa obecnie XNA do gier, ale przy odrobinie pracy można go również wykorzystać do tworzenia interesujących aplikacji. Jeśli Microsoft wypchnie XNA do społeczności innych niż twórcy gier, może się przyzwyczaić częściej i mieć więcej powodów, aby Microsoft nadal go wspierał.

  • Fora XNA trochę wyschły, ludzie potrzebują więcej czasu, aby uzyskać odpowiedzi, i rzadko widuję żadnego członka zespołu XNA na forach oprócz Shawna Hargreavesa, więc mogą być w tej chwili tylko rolą wspierającą.

  • Stworzyłem i wspieram silnik gry typu open source dla XNA, w ciągu ostatnich 2 lat liczba pobrań silnika spadła do około połowy z tego, co zaczęli, mimo że silnik jest znacznie lepszy niż kiedyś. To dla mnie oznacza, że ​​o wiele mniej osób używa XNA niż kiedyś. Oto wykres liczby trafień, które mam na mojej stronie. Widać, że zainteresowanie XNA osiągnęło szczyt pod koniec 2007 r. Do połowy 2008 r. Wyświetlenia strony aparatu QuickStart

Oto długa dyskusja, która obejmuje niektórych członków zespołu XNA. Oczywiście nie są skłonni komentować zbyt wiele, ponieważ Microsoft nie mówi dużo o rzeczach przed ogłoszeniem:

http://xboxforums.create.msdn.com/forums/t/91616.aspx

Ciekawe są również takie cytaty:

Twórz wciągające gry dzięki technologii DirectX Nowy stos graficzny systemu Windows 8 jest lepiej zintegrowany, dzięki czemu komponenty Direct2D, Direct3D i DirectCompute są łatwiejsze w użyciu razem i wymagają mniej duplikatów zasobów niż wcześniej. Możliwości wcześniej dostępne tylko w XNA, takie jak DirectXMath, XAudio2 i XInput, są teraz dostępne. Aby uzyskać najlepsze wrażenia w grach i wideo, użyj DirectX 11.1, aby wprowadzić stereoskopowe 3D do swoich aplikacji.

http://download.microsoft.com/download/1/E/4/1E455D53-C382-4A39-BA73-55413F183333/Windows_Developer_Preview-Windows8_guide.pdf

Obecnie obsługuję silnik gry typu open source dla XNA, więc wolałbym, aby był on obsługiwany w przyszłości, jednak nawet jeśli XNA 4.0 jest ostatnim XNA, nadal jest przyzwoitą platformą do szybkiego i łatwego tworzenia gier Windows, a także świetny interfejs API dla tych, którzy chcą nauczyć się tworzyć gry wideo.

Moja szczera opinia jest taka, że ​​XNA 4.0 będzie ostatnią, ale mam nadzieję, że się mylę.


Przedstawiciele Microsoft najwyraźniej mówili ludziom, aby korzystali z MonoGame dla obsługi Windows 8, chociaż obsługa 3D jest wciąż w fazie tworzenia. Być może warto zobaczyć, czy możesz przenieść silnik :)
David C. Bishop

1
Tak, to coś, co mogę rozważyć. W większości wykorzystałem projekt silnika jako hobby, aby dowiedzieć się więcej o obszarach tworzenia gier, które nie są mi tak dobrze znane. Z silnikami takimi jak Unity, z których można korzystać za darmo, mój silnik był mało używany (o ile wiem). Nie jestem pewien, jak poważnie podchodzę do uczynienia silnika bardziej dostępnym, wiedząc, jak mało prawdopodobne byłoby jego użycie. Mogę kontynuować rozbudowę silnika, aby nadal ćwiczyć technologię silnika gry w ogóle.
Nic Foster,

1
Obecnie używam Monogame do mojej gry 3D XNA, która obecnie działa na WP7, Windows i W8. Nadal brakuje wielu krytycznych elementów, które chciałbym, aby były, ale są one w znacznym stopniu rozwijane przez kilka kluczowych zainteresowanych stron.
RobCurr

47

MonoGame (OpenSource, implementacja OpenNA XNA) v2.5 została wydana dzisiaj z obsługą niestandardowych shaderów na iOS, Android, MacOS i Linux. Nasz zespół rozpoczął prace nad dodaniem obsługi zestawu PlayStation Suite SDK, a także Window8 Metro (na podstawie SharpDX, jak sądzę).

Mamy już gałąź 3D, nazwaną wyobraźnią develop3d, na której wszystkie nasze wysiłki będą się koncentrować w nadchodzących miesiącach, teraz, gdy pojawi się v2.5. Zajrzyj na nasz kanał YouTube, na którym obecnie jesteśmy w 3D - http://www.youtube.com/user/MonoGameTeam?feature=watch .

Pomagają nam programiści z kilku studiów gier, więc uważamy, że gałąź develop3d powinna być bardziej zoptymalizowana niż nasza gałąź v2.5 i prawie całkowity przepis. Demo Reach zajęło 15 minut do przeniesienia systemu Windows z MacOS X, kiedy zacząłem od zera w zeszły weekend. Gałąź develop3d nie jest jeszcze idealna, podobnie jak cała gra MonoGame, ale uważamy, że jesteśmy na dobrej drodze do rozwiązania problemów, które mamy, a jeśli więcej osób pomoże, nawet lepiej.

W Apple App Store jest już 28 gier na iOS (27 2D i 1 3D), 5 na rynku Android i 1 w sklepach MacOS i Linux. Jeśli ktoś tutaj grał w Bastion w przeglądarce Google Chrome, która korzysta ze zmodyfikowanej wersji MonoGame i mamy nadzieję w przyszłości wspierać gry NaCL, dzięki SuperGiant, który przesyła nam informacje o tym, jak MonoGame współpracuje z NaCL.

Mamy około 4-5 aktywnych programistów pracujących nad MonoGame, a jeśli masz ochotę z nami porozmawiać, przejdź do monogame.codeplex.com lub na irc.gnome.org na kanale #MonoGame. Pobierz najnowszy kod z Github

Myślę, że o to mi chodzi, rozważ grę MonoGame, jeśli planujesz pisać gry międzyplatformowe przy użyciu XNA.

Dominique.


4
Ktokolwiek dał mi negatywną ocenę, czy nie odpowiadam na oryginalne pytanie autora dotyczące „w jaki sposób będą zarządzane gry zarządzane w systemie Windows 8?” Pomyślałem, że zasugerowałem, że MonoGame będzie miało w przyszłości implementację Windows 8, więc jest to jedna z możliwych alternatyw dla Unity3D, DeltaEngine itp. Wyjaśniłem także punkty xoofx na temat MonoGame. Zastanawiam się tylko, dlaczego głosowanie w dół.
Dominique

6
Zgaduję, że może tak być, ponieważ twoja odpowiedź brzmi bardziej jak reklama niż odpowiedź.
Josh

6
@Dominique I down głosowałem na ciebie. Korzystałem z twojego produktu i podobało mi się to, ale napisano: „Przypuszczam, że mam rację, rozważ MonoGame, jeśli planujesz pisać gry międzyplatformowe przy użyciu XNA”. podsumowuje cel twojej odpowiedzi. Niewielka ilość przydatnych informacji nie ukrywa tego faktu, że jest to wysokość.
ClassicThunder

1
@Dominique Zobacz często zadawane pytania dotyczące promocji na stronie. Wierzę, że szczerze próbowałeś odpowiedzieć na pytanie, ale trochę pochłonęła Cię promocja swojego projektu nad udzieleniem odpowiedzi na pytanie. Ponieważ Twój projekt ma charakter open source, możesz kwalifikować się do otrzymania reklamy promocyjnej społeczności i warto go sprawdzić. Dziękujemy za odpowiedź i witamy w GDSE.
MichaelHouse

1
Minęło trochę czasu, odkąd odpowiedziałem na ten wątek i wiele się wydarzyło. Chciałem tylko zwrócić uwagę, że w Sklepie z podglądem systemu Windows 8 są teraz co najmniej 2 gry korzystające z MonoGame. Pierwszy ZBROJONY! był ostatnio prezentowany na stoiskach i stronie Microsoftu. Rune Legend to kolejna. Wypatruj kolejnych gier opartych na MonoGame, które pojawią się w systemie Windows 8. Zaledwie 2 tygodnie temu wraz z innym programistą MonoGame zostałem poproszony o odwiedzenie Microsoft Reading w Wielkiej Brytanii i rozmawianie z nimi o MonoGame. Przedstawiliśmy 8 ewangelistom. Również Bob Familiar, ewangelista Microsoft w USA, niedawno napisał 3-częściowy artykuł na temat
Dominique

16

Z tego, co rozumiem na temat sytuacji, może to przebiegać na dwa sposoby. Interfejs API jest albo przestarzały, albo rośnie, aby utworzyć wersję XNA opartą na DirectX 11.

Oto artykuł o każdej perspektywie:


8
Naprawdę mam nadzieję, że to ten drugi, ponieważ jeśli deprecjonują XNA po tym, jak naciskały go przez lata, cóż, kupo.
jhocking

@jhocking zgadza się, że to kupa. Ale jako programiści powinniśmy zawsze być wielojęzyczni. XNA też była moją ulubioną platformą, ale teraz myślę, że wróciła do Flasha lub czegoś takiego. Westchnienie.
ashes999

2
lol dobrze nie „zbyt”, ponieważ nigdy nie programowałem w XNA. Myślałem bardziej, że to może spieprzyć wszystkich moich przyjaciół, którzy wciąż ewangelizują XNA. Może mnie to nie pieprzyć osobiście, ale nie lubię też patrzeć, jak inni się pieprzą.
jhocking 12.01.12

To, co dzieje się z samym DX-em, sugerowałoby, że nie będzie innej wersji XNA. Ale zmiany technologiczne.
Blecki

11
  1. Jaka jest przyszłość XNA na Windows 8?

    XNA będzie działał tylko na pulpicie Win8 i prawie nie ma szans, że Microsoft będzie pracować nad API kompatybilnym z XNA działającym pod Win8 Metro UI / DirectX11.1.

    Jeśli naprawdę chcesz kontynuować opracowywanie interfejsu API XNA, takiego jak Windows 8 Metro, nadal będąc w stanie korzystać z potoku treści (jeden z powodów, dla których XNA jest przyjazny dla programistów gier niskobudżetowych), powinieneś śledzić projekt ANX Framework . Ten projekt ma spore szanse na gotowość przed Windows 8 RTM (przynajmniej z obsługą SpriteBatch). Chociaż prawdopodobnie będzie to wymagać nieznacznej zmiany shaderów (na przykład semantyki), ANX zapewnia sposób importowania istniejącego projektu XNA, co może znacznie pomóc. Pracują również na innych backendach (takich jak OpenGL dla grafiki), więc mogą być w stanie kierować reklamy również na inne platformy .NET (takie jak Mono na Androida / iPhone'a).

    MonoGame może być inną opcją, ale obecnie jest dostępna tylko dla 2D, z jednym backendem OpenGL / ES, więc nie będzie mogła działać w systemie Windows 8 Metro (OpenGL nie jest „certyfikowanym” API w Win8 Metro, i najprawdopodobniej nie jest częścią planów Microsoft).

  2. W jaki sposób zarządzane gry [inne niż przy użyciu XNA API] będą tworzone w systemie Windows 8 (Metro)?

    Istnieje kilka opcji:

    • Możesz użyć bezpośrednio SharpDX , niskiego poziomu API DirectX (ANX go używa). Na przykład minimalna struktura dla gry 2D jest zazwyczaj możliwa przy użyciu interfejsu API niskiego poziomu, takiego jak ten (i można to zrobić za pomocą Direct2D). Znam co najmniej dwie małe firmy, które używają go do opracowywania gier Win8 Metro.

    • Możesz zacząć korzystać z DeltaEngine, która, mam nadzieję , będzie kompatybilna z Win8 Metro w nadchodzących miesiącach (prawdopodobnie będzie wymagać licencji)

    • Możesz spróbować rozwinąć w Unity3D , chociaż nie ogłosili oni jeszcze żadnej obsługi Windows 8 Metro (wymaga licencji). Ale ostatnio pracowali nad rendererem Direct3D11, więc nie powinno być dla nich tak trudne, aby zapewnić obsługę Win8 (ale ponieważ wiele Win32 API nie jest autoryzowanych z Win8 Metro, prawdopodobnie nie jest to jedyna rzecz, którą muszą przenieść).


5

Wraz z wydaniem WinRT staje się coraz bardziej oczywiste, że sposób Microsoftu obrał duży obrót. Zarządzany hype spada, natywny hype jest silniejszy niż kiedykolwiek. Najwyraźniej ktoś wpływowy w firmie (niektórzy twierdzą, że jest to podstawowy zespół systemu Windows) w ogóle nie jest zadowolony z wydajności .NET. Główny trend, który widzę w najnowszych artykułach, jest podobny

WinRT to kolejny .NET, a C ++ / CX to kolejny C #.

Mówią:

Hej, pisanie w C ++ jest równie łatwe jak w C #! Dlaczego potrzebujesz XNA, jeśli możesz pisać w C ++ i DirectX?

To uczucie mam ostatni raz. Biorąc pod uwagę, że można oczekiwać spowolnienia wszystkich zarządzanych powiązanych projektów, jedyną różnicą jest spowolnienie.

Microsoft ma mój szacunek dla prawie nigdy nie rezygnującego wsparcia dla produktów, po prostu nie są już rozwijane. Więc przynajmniej możemy używać XNA 4.0 przez dłuższy czas, nawet jeśli jest to ostatnia obsługiwana wersja.


2

Nie wygląda dobrze dla nas, niezależnych twórców XNA, którzy chcą przenieść nasze gry XNA do Metro. Microsoft nie wykazał zainteresowania i oczekuje, że wrócimy do programowania w C ++ / DirectX lub zastosujemy zewnętrzne platformy C #, z których większość nie obsługuje żadnego potoku treści XNA.

Całkiem smutne, czasami naprawdę nie rozumiem stwardnienia rozsianego.


7
Cześć Jules. Witamy w GDSE! Naprawdę nie jesteśmy tutaj jak forum, więc takie odpowiedzi, które są po prostu gadatliwe, są odradzane. Gdybyś miał informacje merytoryczne do dodania lub źródła odpowiedzi, byłoby świetnie!
MichaelHouse
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.