XNA'nın Windows 8'deki geleceği nedir veya Windows 8'de yönetilen oyunlar nasıl geliştirilecektir? [kapalı]


83

Bunun, bu sorunun potansiyel bir tehlikesi olduğunu biliyorum , ancak son cevap 18 ay önceydi ve o zamandan beri çok şey oldu.

Windows 8'de XNA ile ilgili bazı belirsizlikler var gibi görünüyor. Özellikle, Windows 8 varsayılan olarak XNA tarafından desteklenmeyen Metro arabirimini kullanıyor. Ayrıca Windows 8 mağazasında metro dışı uygulamalar bulunmayacak, bu nedenle XNA uygulamaları stoklanmayacak.

XNA'ya bağlı kalmalı mıyız yoksa Microsoft, Windows 8'de yönetilen oyun geliştirme için farklı bir çerçeveye geçmemizi istiyor mu?

Düzenleme: Yorumlardan birinde belirtildiği gibi, Windows 8, XNA oyunlarını geriye dönük bir uyumluluk modunda çalıştırabilir. Ancak bu, değer kaybı kokuyor.


2
Windows 8'in kutudan geriye dönük uyumlu bir modu var, peki bu neden bir problem olsun?
ashes999

6
Metro kullanıcı arayüzü için ac # oyunu geliştirmek istersem, hangi çerçeveyi kullanmalıyım?
Ken

5
SharpDX kullanmalısınız.
Jonathan Dickinson

Johnathan için +1. SharpDX şimdi Metro uyumluluğu için DirectX 11.1'i destekliyor.
ChrisC

4
@Deza: Sadece metro desteği olmayacak, aynı zamanda XNA da Windows Phone 8 için kullanılmayacak. Bunun da ötesinde, eğer XNA güncellenmezse, hiçbir zaman DX11'i desteklemez ve yaklaşmakta olan Xbox konsolu için çalışmaz. Geliştiricilerin güncellenmezse XNA'dan uzak durmaları için birçok neden vardır.
Nic Foster,

Yanıtlar:


61

EDIT: Resmi, Microsoft XNA'yı öldürdü . Bunun için üzgünüm ama beklenmedik değildi, olacağını tahmin edeceğim şeydi, ama yanıldığımı umuyordum. Bu noktanın altındaki her şey 2012 başındaki ilk yazım.

Dikkate alınması gereken bir başka husus, Microsoft'un 2013 ortasından sonuna kadar yeni bir konsol çıkarması muhtemeldir. XNA'nın konsolunda çalışması için çalışmaya devam edecekler mi? Bireylerin yeni Xbox'ta oyun oynamasını istiyorlarsa, bir şeye ihtiyaçları olacak ve XNA'yı kazımak ve başka bir şeyle yeniden başlamak boşa gidecek. Ek olarak, Windows 8 ARM işlemcili tabletlerde çalışacak ve telefonların ve tabletlerin uygulamalarında pazarın ne kadar büyük olduğunu hepimiz biliyoruz. Bu, Microsoft'un bu cihazlarda uygulama oluşturmak için bir API'si olması için büyük bir fırsattır, ancak bu XNA olacaktır. veya sadece .NET?

Birkaç potansiyel yol görüyorum:

  1. XNA, mevcut Xbox'ta son derece başarılı olamadı, çoğunlukla XNA oyunlarının gösterilmesinin azlığı ve Xbox Live'daki XNA oyunları için mağazanın ne kadar kötü ayarlandığı. Bu yüzden Microsoft, fişi tamamen çekmeye karar verebilir, bizi DX10 ile uyumlu olan XNA 4.0'a bırakabilir ve insanların gelecek birkaç yıl boyunca kaybolmadan önce basit PC oyunları yapabilmeleri için uygun bir platform olacaktır.

  2. Microsoft, ev yapımı uygulamalarla ilgili büyük olasılıkları görebilir, Apple's App Store gibi şeyler çok para kazanıyor ve Microsoft, oyunları daha kolay hale getirip Xbox Live ve Windows 8 tabletlerine daha kolay bir hale getirebiliyorsa, daha büyük hale getirme şansına sahipler. Konsol uygulamaları pazarında. Microsoft bu yoldan giderse, bir sonraki sürümüyle DX11.1'i destekleyen yeni XNA'yı ve en az 5 yıl daha XNA'yı desteklemeye devam ettiğimi görüyorum.

Dikkate alınması gereken bazı şeyler:

  • Şu anda XNA ile oyununuzu geliştirmek istiyorsanız XNA ile 100 $ ödemeniz gerekiyor, bu sadece 100 $ ödemeniz ve para kazanıp kazanamayacağınızı görmeniz için 100 dolar. Eğer Microsoft 100 dolarlık bir ücret alıyorsa ve sadece kârın bir kısmını alıyorsa, aslında daha fazla oyun görmeye başlayabilir ve anlaşmadan daha fazla para kazanabilir.

  • XNA oyunlarının Xbox 360'ta performans sorunları var. Microsoft, XNA oyunlarının diğer kişilerin Xbox'larını çalıştırdıklarında güvenlik riski oluşturmasını istemedi, bu nedenle temel olarak XNA oyunlarını CPU, GPU ve belleğe sınırlı erişimi olan bir sanal alanda çalıştırdılar. Sınırlı erişime ek olarak, tam Xbox SDK'sında programlanan oyunlar C # dilinde yazılmaz ve çöp toplama gibi şeylere ihtiyaç duymaz, ancak XNA Microsoft'un kendi C #'sında çalışır, bu nedenle Microsoft'un XNA'yı çalıştırmak için bir sarıcı yazması gerekir. Xbox ve bu sarıcı işleri biraz yavaşlatıyor. Kayan nokta performansı gibi şeyler, tam SDK ile yazılmış Xbox oyunlarından 10 kata kadar daha yavaş olabilir. Bu performans sorunları, XNA ile geliştirilen Xbox oyunlarının, Xbox’ın potansiyelinin tamamını kullanamayacağı anlamına geliyor. Bu sadece Microsoft'un topluluktan alabileceği oyunların kalitesini incitiyor. Microsoft, XNA ile devam etmeleri durumunda bir sonraki konsollarının XNA geliştiricilerin sistemi tüm potansiyelleriyle kullanmasına izin vermesi için devam etmesi durumunda bunu iyi düşünecektir.

  • Bildiğim kadarıyla, XNA Windows 8'in metro tarzını desteklemeyecek, bu yüzden geliştiriciler bundan faydalanmak için oyun yazamayacaklar. XNA ayrıca ARM işlemcilerde çalışmaz, bu nedenle yakında çıkacak olan Windows 8 tablet uygulamaları yazmak için XNA'yı kullanamazsınız. Bu, gelecekte XNA'nın desteklenmeyebileceğinin bir işareti midir?

  • Microsoft şu anda oyunlar için XNA kullanıyor, ancak küçük bir çalışmayla bazı ilginç uygulamalar yapmak için de kullanılabilir. Microsoft, XNA'yı oyun geliştiricileri dışındaki topluluklara zorlarsa, daha sık kullanılır ve Microsoft'un desteklemeye devam etmesi için daha fazla neden olabilir.

  • XNA forumları biraz kurudu, insanların cevap alması daha uzun sürüyor ve XNA ekibinin bir üyesini nadiren Shawn Hargreaves dışında forumlarda görebiliyorum, bu yüzden şu anda sadece bir destek rolü üstlenebilirler.

  • XNA için açık kaynaklı bir oyun motoru yarattım ve destekledim , son 2 yılda, motor indirme işlemi, motorlar eskisinden daha iyi olmasına rağmen başladıklarının yarısına düştü. Bu bana çok daha az insanın alışılmış olandan XNA kullandığını gösteriyor. İşte sitemdeki hit sayısını gösteren bir grafikte, XNA’ya ilginin 2007’nin ortalarından 2008’in ortalarına kadar doruğa ulaştığını görebilirsiniz. QuickStart Motor Sayfası Görünümleri

İşte XNA ekibinin bazı üyelerini içeren uzun bir tartışma. Tabii ki, çok fazla yorum yapmak istemiyorlar çünkü Microsoft duyurulmadan önce bir şeyler hakkında konuşmuyor:

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

Ayrıca böyle alıntılar da ilginç:

DirectX'in gücünü kullanarak sürükleyici oyunlar oluşturun Yeni Windows 8 grafik yığını daha iyi entegre edildi, Direct2D, Direct3D ve DirectCompute bileşenlerinin birlikte kullanımı daha kolay ve daha az çoğaltılmış kaynak gerektiriyordu. Önceden yalnızca DirectXMath, XAudio2 ve XInput gibi XNA'da kullanılabilen yetenekler artık kullanılabilir durumda. Oyun ve videodaki en üst düzey deneyim için, stereoskopik 3D'yi uygulamalarınıza getirmek için DirectX 11.1 kullanın.

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

Şu anda XNA için açık kaynaklı bir oyun motorunu destekliyorum, bu nedenle gelecekte desteklenmesini tercih ederim, ancak XNA 4.0 en son XNA olsa bile, yine de hızlı ve kolay bir şekilde Windows oyunları oluşturmak için hala iyi bir platform video oyunları yapmayı öğrenmek isteyenler için harika bir API.

Dürüst fikrim, XNA 4.0’ın sonuncusu olacağı, ancak umarım bu konuda yanılmışımdır.


Microsoft temsilcileri, görünüşe göre, insanlara Windows 8 desteği için MonoGame'i kullanmalarını söylüyor, ancak 3D desteği hala dev. Motorunuzu taşıyabilirseniz görmeye değer olabilir :)
David C. Bishop

1
Evet, bu düşünebileceğim bir şey. Motor projesini çoğunlukla, daha az aşina olduğum oyun geliştirme alanları hakkında daha fazla bilgi edinmek için bir hobi olarak kullandım. Ücretsiz olarak kullanılabilecek Unity gibi motorlarla motorumun kullanımı çok az oldu (bildiğim kadarıyla). Ne kadar az kullanılacağını bilerek motoru daha erişilebilir yapmak konusunda ne kadar ciddi olduğumdan emin değilim. Genel olarak oyun motoru teknolojisi ile pratik yapmaya devam etmek için motoru daha da genişletmeye devam edebilirim.
Nic Foster,

1
Şu anda WP7, Windows ve W8 üzerinde çalışan 3D XNA oyunum için Monogame kullanıyorum. Hala orada olmasını dilediğim birtakım kritik unsurlar var, ancak birkaç kilit ilgilenen tarafça yoğun şekilde geliştiriliyor.
RobCurr

47

MonoGame (bir OpenSource, XNA'nın OpenGL uygulaması) v2.5 bugün, iOS, Android, MacOS ve Linux'taki özel gölgelendiricileri destekleyerek piyasaya sürüldü. Ekibimiz PlayStation Suite SDK desteği ve ayrıca Window8 Metro (SharpDX inanıyorum) üzerine ekleyerek çalışmaya başladı.

Önümüzdeki aylarda tüm çabalarımızın üzerinde durulacağı, şu anda v2.5'in çıktığı, yaratıcı bir şekilde develop3d adında bir 3D şubemiz var. Şu anda 3D ile bulunduğumuz yerin YouTube kanalına bir göz atın - http://www.youtube.com/user/MonoGameTeam?feature=watch .

Birkaç oyun stüdyosundan geliştiricilere yardımcı oluyoruz, bu yüzden develop3d şubesinin şu anda v2.5 şubemizden daha fazla optimize edilmesi gerektiğini düşünüyoruz ve neredeyse tamamen yeniden yazıyoruz. Reach demosunun geçtiğimiz hafta sonu sıfırdan başladığımda Windows'tan MacOS X'e bağlantı kurması 15 dakika sürdü. Develop3d şubesi henüz mükemmel değil ve ne de MonoGame'in tamamı değil, fakat sahip olduğumuz sorunları çözme yolunda olduğumuzu ve daha fazla insanın yardım edebileceğini düşünüyoruz.

Apple App Store'da zaten 28 iOS oyunu (27 2D ve 1 3D), Android pazarında 5 ve MacOS ve Linux mağazalarında 1 tane var. Buradaki herhangi biri Google Chrome tarayıcısında Bastion oynadıysa, bu MonoGame’in değiştirilmiş bir sürümünü kullanıyor ve SuperGiant’ın bize MonoGame’i NaCL ile nasıl çalıştıkları hakkında bize bilgi göndermesi sayesinde gelecekte NaCL oyunlarını desteklemeyi umuyoruz.

MonoGame üzerinde çalışan 4-5 aktif geliştiricimiz var ve bizimle sohbet etmeyi seviyorsanız, lütfen monogame.codeplex.com adresine veya #MonoGame kanalındaki irc.gnome.org adresine gidin. En son kodu tut Github

Bu yüzden demek istediğim, XNA kullanarak platformlar arası oyunlar yazmayı planlıyorsanız, lütfen MonoGame'i düşünün.

Dominique.


4
Bana olumsuz bir puan verenlere, asıl yazarın "Windows 8'de yönetilen oyunlar nasıl geliştirilecek?" Sorusunu yanıtlamıyorum. Gelecekte MonoGame'in Windows 8 uygulaması olacağını önerdiğimi düşündüm, bu yüzden Unity3D, DeltaEngine vb. İçin olası bir alternatif. Sadece neden aşağı oy verdiğini merak ediyorum.
Dominique

6
Cevabınız bir reklamdan daha çok bir reklamdan daha fazla okuduğu için olabileceğini tahmin etmek isterim.
Josh

6
@Dominique Sana oy verdim. Ürününüzü kullandım ve çok memnun oldum ama "Yani demek istediğim şu ki, eğer XNA kullanarak platformlar arası oyunlar yazmayı planlıyorsanız lütfen MonoGame" i düşünün. cevabınızın amacını özetler. Küçük bir miktar yararlı bilgi, bunun bir adım olduğunu gizlemez.
ClassicThunder

1
@Dominique Sitedeki tanıtımlarla ilgili SSS bölümüne bakın . Dürüstçe soruyu cevaplamaya çalıştığınıza inanıyorum, ancak sorunuzu cevaplamaktan ötürü projenizi tanıtmaktan biraz çekindi. Projeniz açık kaynak olduğundan, Topluluk Tanıtım Reklamına hak kazanabilirsiniz ve araştırmaya değer. Cevabınız için teşekkürler ve GDSE'ye hoş geldiniz.
MichaelHouse

1
Bir süredir bu konuya cevap verdim ve çok şey oldu. Sadece Windows 8 önizleme mağazasında MonoGame kullanan en az 2 oyun olduğunu belirtmek istedim. İlk ARMED! Microsoft'un standlarında ve sitesinde son zamanlarda yer aldı. Rune Legend başka bir şey. MonoGame destekli oyunların Windows 8'e gelmesine dikkat edin. Sadece 2 hafta önce, ben ve bir MonoGame geliştiricisinden İngiltere'deki Microsoft Reading'i ziyaret etmem istendi ve onlarla MonoGame hakkında konuştum. 8 misyonere sunduk. Ayrıca ABD’de Microsoft’lu bir haberci olan Bob Familiar geçenlerde 3 bölümden bir makale yazdı
Dominique

16

Durum hakkında anladığım kadarıyla iki yoldan biri gidebilir. API, kullanımdan kaldırılıyor veya DirectX 11 tabanlı bir XNA sürümü oluşturmak için hızlanıyor.

Her bakış açısı hakkında bir makale:


8
Umarım bu ikincisidir, çünkü yıllarca ne kadar zorladılarsa XNA'ya itiraz ediyorlarsa, kaka.
saat

@jhocking onun kaka olduğu konusunda hemfikir. Ancak geliştiriciler olarak daima çok dilli olmalıyız. XNA da benim en sevdiğim platformdu, ama şimdi, sanırım Flash'a geri döndü. İç çekmek.
ashes999

2
lol XNA'da asla programlanmadığım için "çok" değil. Bunun, XNA’yı her zaman yanıltıcı kılan bütün arkadaşlarımı mahvedebileceğini düşünüyordum. Beni kişisel olarak mahvetmeyebilir, ama diğer insanların da mahvolduğunu görmek istemiyorum.
atıyor

DX'in başına gelenler, başka bir XNA sürümü olmayacağını öne sürüyordu. Ancak, teknoloji değişir.
Blecki

11
  1. Windows 8'de XNA'nın geleceği nedir?

    XNA yalnızca Win8 masaüstünde çalışır ve Microsoft'un Win8 Metro UI / DirectX11.1 altında çalışan XNA uyumlu bir API üzerinde çalışma olasılığı neredeyse yoktur.

    Windows 8 Metro'da bir XNA benzeri API üzerinde geliştirmeye devam etmek istiyorsanız, yine de içerik hattını (XNA'nın düşük bütçeli oyun geliştiricisi dostu olmasının nedenlerinden biri) hala kullanabiliyorsanız, ANX Framework projesini izlemelisiniz . Bu projenin Windows 8 RTM'den önce hazır olması için iyi bir şansı var (en azından SpriteBatch desteği ile). Büyük olasılıkla hafif gölgelendiricilerin (örneğin anlambilimsel) biraz değiştirilmesi gerekecek olsa da, ANX mevcut bir XNA projesini içe aktarmanın bir yolunu sunar, böylece büyük ölçüde yardım edebilir. Ayrıca diğer arka uçlar üzerinde çalışıyorlar (grafikler için OpenGL gibi), böylece diğer .NET platformlarını da hedefleyebilirler (Android / iPhone'daki Mono gibi).

    MonoGame başka bir seçenek olabilir, ancak şu anda yalnızca 2D için, tek bir OpenGL / ES arka ucuyla, bu nedenle Windows 8 Metro'da çalıştırılamayacak (OpenGL Win8 Metro altında "sertifikalı" bir API değil ve büyük olasılıkla Microsoft planlarının bir parçası değil).

  2. Windows 8'de (Metro) yönetilen oyunlar [XNA API kullanmak dışında] nasıl geliştirilecek?

    Birkaç seçenek var:

    • DirectX API'sini kullanarak doğrudan bir SharpDX kullanabilirsiniz (ANX kullanıyor). Örneğin, bir 2D oyun için minimal bir çerçeve genellikle bunun gibi düşük seviyeli bir API ile mümkündür (ve Direct2D ile yapılabilir). Win8 Metro oyunları geliştirmek için kullanan en az iki küçük şirket biliyorum.

    • Gelecek aylarda Win8 Metro ile uyumlu bir şekilde uyumlu olacak DeltaEngine'ı kullanmaya başlayabilirsiniz (muhtemelen bir lisans gerekir)

    • Henüz Unity3D ile geliştirmeye çalışabilirsiniz , ancak henüz bir Windows 8 Metro desteği duyurmamışlardır (bir lisans gerektirir). Ancak, bir Direct3D11 oluşturucusunda yakın zamanda çalıştılar, bu yüzden Win8 desteği sağlamaları için çok zor olmamalı (ancak birçok Win32 API Win8 Metro'dan yetkilendirilmemişse, muhtemelen bağlantı kurmaları gereken tek şey bu değil).


5

İle WinRT Microsoft yolu büyük bir dönüş almış olduğu daha belirgin oluyor bırakın. Yönetilen yutturmaca iniyor, Yerli yutturmaca her zamankinden daha güçlü. Görünüşe göre şirkette etkili olan birileri (bazılarının temel Windows ekibi olduğu iddia ediliyor) .NET performansından hiç memnun kalmadı. Son makalelerde gördüğüm ana eğilim şöyle bir şey

WinRT bir sonraki .NET ve C ++ / CX bir sonraki C #'dir.

Onlar söylüyor:

Hey, C ++ 'ta C #' da olduğu kadar kolay! C ++ ve DirectX yazabiliyorsanız neden XNA'ya ihtiyacınız var?

Son seferinde hissettiğim bu. Yönetilen tüm ilgili projelerin yavaşlamasını bekleyebileceğiniz göz önüne alındığında, tek fark yavaşlama miktarı.

Microsoft, ürünler için neredeyse hiç bir zaman destek bırakma konusunda saygım var, artık geliştirilmiyorlar. En azından XNA 4.0'ı, desteklenen en son sürüm olsa bile, oldukça uzun bir süre kullanabiliriz.


2

XNA oyunlarımızı Metro'ya taşımak isteyen indie XNA geliştiricileri için iyi görünmüyor. Microsoft hiç ilgi göstermedi ve C ++ / DirectX programlamasına geri dönmemizi ya da çoğu XNA İçerik Boru Hattı'nı desteklemeyen üçüncü taraf C # çerçevelerini benimsememizi bekliyor.

Çok üzgünüm, bazen MS'i gerçekten anlayamıyorum.


7
Merhaba Jules GDSE'ye Hoşgeldiniz! Burada gerçekten bir forum gibi değiliz, bu yüzden bu tür cevaplar biraz gevezedir. Cevabınız için eklemek için gerçek bilgi veya kaynak varsa, bu harika olurdu!
Michaelhouse
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.