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ą.
Odpowiedzi:
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:
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.
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.
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:
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ę.
źródło
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.
źródło
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:
źródło
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).
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ść).
źródło
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
Mówią:
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.
źródło
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.
źródło