Qual è il futuro di XNA in Windows 8 o come verranno sviluppati i giochi gestiti in Windows 8? [chiuso]


83

So che questo è un potenziale imbroglione di questa domanda , ma l'ultima risposta è stata 18 mesi fa e da allora sono successe molte cose.

Sembra esserci qualche incertezza su XNA in Windows 8. In particolare, Windows 8 utilizza l'interfaccia Metro, che non è supportata da XNA. Inoltre, l'archivio di Windows 8 non disporrà di app non metropolitane, quindi non di app XNA.

Dovremmo attenerci a XNA o Microsoft vuole che passiamo a un framework diverso per lo sviluppo di giochi gestiti in Windows 8?

Modifica: come sottolineato in uno dei commenti, Windows 8 sarà in grado di eseguire giochi XNA in modalità di compatibilità con le versioni precedenti. Ma questo puzza di deprecazione.


2
Windows 8 ha una modalità retrocompatibile pronta all'uso, quindi perché dovrebbe essere un problema?
ashes999,

6
Se voglio sviluppare un gioco ac # per l'interfaccia utente della metropolitana, quale framework dovrei usare?
Ken,

5
È necessario utilizzare SharpDX.
Jonathan Dickinson,

+1 per Johnathan. SharpDX ora supporta DirectX 11.1 per la compatibilità Metro.
ChrisC,

4
@Deza: non solo non avrà il supporto per la metropolitana, ma XNA non verrà utilizzato nemmeno per Windows Phone 8. Inoltre, se XNA non viene aggiornato, non supporterà mai DX11 e non funzionerà per la prossima console Xbox. Ci sono molte ragioni per cui gli sviluppatori evitano XNA se non verrà aggiornato.
Nic Foster,

Risposte:


61

EDIT: È ufficiale, Microsoft ha ucciso XNA . Sono rattristato da questo, ma non è stato inaspettato, è quello che stavo prevedendo sarebbe successo, ma sperando di sbagliarmi. Tutto sotto questo punto è il mio post originale dall'inizio del 2012.

Qualcos'altro da considerare è che Microsoft probabilmente rilascerà una nuova console da metà alla fine del 2013. Continueranno a provare a far funzionare qualcosa come XNA sulla loro console? Se vogliono che le persone realizzino giochi sulla nuova Xbox, avranno bisogno di qualcosa e sarebbe inutile eliminare XNA e ricominciare da capo con qualcos'altro. Inoltre, Windows 8 funzionerà su tablet con processori ARM e sappiamo tutti quanto sia grande il mercato per le app per telefoni e tablet, questa è una grande opportunità per Microsoft di avere un'API per creare app su quei dispositivi, ma sarà XNA o solo .NET?

Vedo un paio di potenziali percorsi:

  1. XNA non ha avuto molto successo con l'attuale Xbox, principalmente a causa del numero limitato di giochi XNA e della scarsa configurazione del negozio per i giochi XNA su Xbox Live. Quindi Microsoft potrebbe decidere di staccare completamente la spina, lasciandoci con XNA 4.0, che è compatibile con DX10, e sarà una piattaforma decente per le persone con cui realizzare semplici giochi per PC per i prossimi anni prima che scompaia.

  2. Microsoft potrebbe vedere le enormi possibilità con le app fatte in casa, cose come l'App Store di Apple sono enormi produttori di denaro e se Microsoft può rendere più semplice la creazione di giochi e il loro lancio su tablet Xbox Live e Windows 8, allora hanno la possibilità di renderlo grande nel mercato delle app per console. Se Microsoft segue questa strada vedo che il nuovo XNA supporta DX11.1 con la sua prossima versione e continua il supporto per XNA per almeno altri 5 anni.

Alcune cose da considerare:

  • Attualmente con XNA devi pagare $ 100 se vuoi sviluppare il tuo gioco per Xbox 360, ovvero $ 100 solo per provarlo e vedere se puoi guadagnare qualche soldo, e anche allora MS ottiene una fetta dei profitti del tuo gioco. Se Microsoft riscuote la commissione di $ 100 e prende solo una parte dei profitti, potrebbe effettivamente finire per vedere molti più giochi e fare più soldi con l'affare.

  • I giochi XNA hanno problemi di prestazioni su Xbox 360. Microsoft non voleva che i giochi XNA rappresentassero un rischio per la sicurezza quando giravano su Xbox di altre persone, quindi fondamentalmente eseguono giochi XNA in un sandbox con accesso limitato a CPU, GPU e memoria. Oltre all'accesso limitato, i giochi programmati su Xbox SDK completo non sono scritti in C # e non richiedono cose come la garbage collection, ma XNA funziona sul C # di Microsoft, quindi Microsoft ha dovuto scrivere un wrapper per far funzionare XNA sul Xbox e quel wrapper rallenta un po 'le cose. Cose come le prestazioni in virgola mobile possono essere fino a 10 volte più lente dei giochi Xbox scritti tramite l'SDK completo. Questi problemi di prestazioni indicano che i giochi Xbox sviluppati tramite XNA non possono davvero sfruttare appieno il potenziale di Xbox, che danneggia solo la qualità dei giochi che Microsoft può ottenere dalla community. Microsoft farebbe bene a considerarlo se continuasse con XNA in modo che la sua console successiva consenta agli sviluppatori XNA di utilizzare il sistema al massimo delle sue potenzialità.

  • Per quanto ne so, XNA non supporterà lo stile metro di Windows 8, quindi gli sviluppatori non saranno in grado di scrivere giochi per trarne vantaggio. XNA inoltre non funzionerà su processori ARM, quindi non è possibile utilizzare XNA per scrivere app per tablet Windows 8 che usciranno presto. È questo un segno che XNA potrebbe non essere supportato in futuro?

  • Microsoft utilizza XNA per i giochi in questo momento, ma con un po 'di lavoro potrebbe essere utilizzato anche per creare alcune applicazioni interessanti. Se Microsoft spingesse XNA in comunità diverse dagli sviluppatori di giochi, potrebbe essere utilizzata più spesso e avere più motivi per continuare a supportarlo.

  • I forum di XNA si sono inariditi un po ', ci vuole più tempo perché le persone ottengano risposte, e raramente vedo più alcun membro del team XNA sui forum tranne Shawn Hargreaves, quindi potrebbero avere un ruolo di supporto in questo momento.

  • Ho creato e supportato un motore di gioco open source per XNA, negli ultimi 2 anni i download del motore sono scesi a circa la metà di quello che avevano iniziato, anche se il motore è molto meglio di prima. Questo mi segnala che molte meno persone usano XNA rispetto al passato. Ecco un grafico del numero di hit che ho sul mio sito, puoi vedere l'interesse per XNA raggiunto il picco tra la fine del 2007 e la metà del 2008. Visualizzazioni di pagina del motore QuickStart

Ecco una lunga discussione che include alcuni membri del team XNA. Naturalmente, non sono disposti a commentare molto perché Microsoft non parla molto prima di essere annunciato:

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

Anche citazioni come questa sono interessanti:

Crea giochi coinvolgenti usando la potenza di DirectX Il nuovo stack grafico di Windows 8 è meglio integrato, rendendo i componenti Direct2D, Direct3D e DirectCompute più facili da usare insieme e richiedono meno risorse duplicate rispetto a prima. Le funzionalità precedentemente disponibili solo in XNA, come DirectXMath, XAudio2 e XInput, sono ora disponibili. Per la migliore esperienza di gioco e video, usa DirectX 11.1 per portare il 3D stereoscopico nelle tue app.

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

Attualmente supporto un motore di gioco open source per XNA, quindi preferirei vederlo supportato in futuro, tuttavia, anche se XNA 4.0 è l'ultimo XNA, è comunque una piattaforma decente per creare giochi Windows in modo rapido e semplice, e anche un'ottima API per chi vuole imparare a realizzare videogiochi.

La mia onesta opinione è che XNA 4.0 sarà l'ultimo, ma spero davvero di sbagliarmi.


Apparentemente i rappresentanti di Microsoft hanno detto alle persone di usare MonoGame per il supporto di Windows 8, sebbene il supporto 3D sia ancora in sviluppo. Potrebbe valere la pena vedere se riesci a portare il tuo motore :)
David C. Bishop,

1
Sì, è qualcosa che potrei considerare. Ho principalmente usato il progetto del motore come hobby per imparare di più sulle aree di sviluppo del gioco che ho meno familiarità. Con motori come Unity là fuori che possono essere utilizzati gratuitamente, il mio motore è stato poco utilizzato (per quanto ne so). Non sono sicuro della mia serietà nel rendere il motore più accessibile sapendo quanto poco sarebbe probabilmente usato. Potrei continuare ad espandere ulteriormente il motore solo per continuare ad allenarmi con la tecnologia del motore di gioco in generale.
Nic Foster,

1
Attualmente sto usando Monogame per il mio gioco XNA 3D che attualmente funziona su WP7, Windows e W8. Manca ancora un certo numero di elementi critici che vorrei che fossero lì, ma è stato fortemente sviluppato da alcune parti interessate.
RobCurr,

47

MonoGame (un'implementazione OpenSource, OpenGL di XNA) v2.5 è stato rilasciato oggi con supporto per shader personalizzati su iOS, Android, MacOS e Linux. Il nostro team ha iniziato a lavorare per aggiungere il supporto SDK per PlayStation Suite e anche Window8 Metro (credo su SharpDX).

Abbiamo già un ramo 3D, fantasiosamente chiamato Develop3d, che è dove tutti i nostri sforzi si concentreranno nei prossimi mesi, ora che la versione 2.5 è uscita. Dai un'occhiata al nostro canale YouTube per dove siamo attualmente con 3D - http://www.youtube.com/user/MonoGameTeam?feature=watch .

Abbiamo sviluppatori di un paio di studi di gioco che ci aiutano, quindi pensiamo che il ramo di sviluppo 3d dovrebbe essere più ottimizzato di quello che è attualmente il nostro ramo v2.5 ed è quasi una riscrittura totale. La demo di Reach ha richiesto 15 minuti per il porting da Windows a MacOS X, quando ho iniziato da zero lo scorso fine settimana. Il ramo di sviluppo3d non è ancora perfetto e nemmeno l'intero MonoGame, ma pensiamo di essere sulla buona strada per risolvere i problemi che abbiamo e se più persone ci aiutano, anche meglio.

Esistono già 28 giochi iOS (27 2D e 1 3D) sull'App Store di Apple, 5 sul mercato Android e 1 su MacOS e Linux. Se qualcuno qui ha giocato a Bastion nel proprio browser Google Chrome, che utilizza una versione modificata di MonoGame e speriamo di supportare i giochi NaCL in futuro, grazie a SuperGiant che ci invia informazioni su come ha fatto funzionare MonoGame con NaCL.

Abbiamo circa 4-5 sviluppatori attivi che lavorano su MonoGame e se desideri chattare con noi, passa a monogame.codeplex.com o su irc.gnome.org sul canale #MonoGame. Prendi l'ultimo codice da Github

Quindi suppongo che il mio punto sia, per favore, considera MonoGame se prevedi di scrivere giochi multipiattaforma usando XNA.

Dominique.


4
A chiunque mi abbia dato un punteggio negativo, non sto rispondendo alla domanda dell'autore originale su "come verranno sviluppati i giochi gestiti in Windows 8?" Ho pensato di suggerire che MonoGame avrà un'implementazione di Windows 8 in futuro, quindi questa è una possibile alternativa a Unity3D, DeltaEngine ecc. E ho anche chiarito i punti xoofx su MonoGame. Mi chiedo solo perché il voto negativo.
Dominique,

6
Mi azzarderei a immaginare che potrebbe essere perché la tua risposta è più simile a una pubblicità che a una risposta.
Josh

6
@Dominique Ti ho votato. Ho usato e apprezzato il tuo prodotto, ma la parte che dice "Quindi suppongo che il mio punto sia, ti preghiamo di considerare MonoGame se hai intenzione di scrivere giochi multipiattaforma usando XNA". riassume l'intento della tua risposta. Una piccola quantità di informazioni utili non nasconde quel fatto che è un tono.
ClassicThunder

1
@Dominique Consulta le FAQ relative alla promozione sul sito. Credo che tu stia sinceramente cercando di rispondere alla domanda, ma sei rimasto un po 'preso nel promuovere il tuo progetto piuttosto che fornire una risposta alla domanda. Poiché il tuo progetto è open-source, potresti essere idoneo per un annuncio di promozione della community e vale la pena esaminarlo. Grazie per la risposta e benvenuto in GDSE.
MichaelHouse

1
È passato un po 'di tempo da quando ho risposto a questa discussione e sono successe molte cose. Volevo solo sottolineare che ora ci sono almeno 2 giochi nello Store di anteprima di Windows 8, che usano MonoGame. Il primo ARMATO! è stato presentato di recente negli stand e nel sito di Microsoft. Rune Legend è un altro. Cerca altri giochi basati su MonoGame in arrivo su Windows 8. Solo 2 settimane fa, io e un altro sviluppatore di MonoGame, siamo stati invitati a visitare Microsoft Reading, Regno Unito, e abbiamo parlato con loro di MonoGame. Abbiamo presentato a 8 evangelisti. Anche Bob Familiar, un evangelista Microsoft negli Stati Uniti, ha recentemente scritto un articolo in 3 parti
Dominique,

16

Da quello che ho capito sulla situazione può andare in due modi. L'API viene deprecata o sta aumentando per creare una versione XNA basata su DirectX 11.

Ecco un articolo su ogni prospettiva:


8
Spero davvero che sia quest'ultimo, perché se stanno deprecando XNA dopo quanto lo hanno spinto nel corso degli anni, beh cacca.
scherzando il

@jhocking concorda sul fatto che è cacca. Ma come sviluppatori, dovremmo essere sempre multilingue. Anche XNA era la mia piattaforma preferita, ma ora credo sia tornato a Flash o qualcosa del genere. Sospiro.
ashes999,

2
lol bene non "troppo" dato che non ho mai programmato in XNA. Pensavo di più che questo potesse rovinare tutti i miei amici che continuano a evangelizzare XNA. Potrebbe non farmi fregare di persona, ma non mi piacerebbe vedere altre persone farsi fregare.
scherzando il

Le cose che accadono al DX stesso suggerirebbero che non ci sarà un'altra versione di XNA. Ma la tecnologia cambia.
Blecki,

11
  1. Qual è il futuro di XNA su Windows 8?

    XNA verrà eseguito solo sul desktop Win8 e non vi è quasi alcuna possibilità che Microsoft stia lavorando su un'API compatibile XNA in esecuzione con l'interfaccia utente / DirectX11.1 Metro Win8.

    Se vuoi davvero continuare a sviluppare su XNA come API su Windows 8 Metro, pur essendo in grado di utilizzare la pipeline di contenuti (uno dei motivi per cui XNA è compatibile con gli sviluppatori di giochi a basso budget), dovresti seguire il progetto ANX Framework . Questo progetto ha buone probabilità di essere pronto prima di Windows 8 RTM (almeno con il supporto SpriteBatch). Sebbene probabilmente richiederà una leggera modifica degli shader (ad esempio la semantica), ANX sta fornendo un modo per importare un progetto XNA esistente, in modo che possa essere di grande aiuto. Stanno anche lavorando su altri backend (come OpenGL per la grafica), quindi potrebbero anche essere in grado di indirizzare altre piattaforme .NET (come Mono su Android / iPhone).

    MonoGame potrebbe essere un'altra opzione, ma al momento è solo per 2D, con un unico backend OpenGL / ES, quindi non sarà in grado di funzionare su Windows 8 Metro (OpenGL non è un'API "certificata" su Win8 Metro e molto probabilmente non parte dei piani di Microsoft).

  2. Come saranno sviluppati i giochi gestiti [diversi dall'uso dell'API XNA] in Windows 8 (Metro)?

    Esistono diverse opzioni:

    • È possibile utilizzare direttamente SharpDX , un'API DirectX di basso livello (ANX lo sta utilizzando). Ad esempio, un framework minimo per un gioco 2D è generalmente fattibile con un'API di basso livello come questa (e potrebbe essere eseguita con Direct2D). Conosco almeno due piccole aziende che lo utilizzano per sviluppare giochi Metro Win8.

    • Potresti iniziare a utilizzare DeltaEngine che si spera sarà compatibile con Win8 Metro nei prossimi mesi (richiederà probabilmente una licenza)

    • Potresti provare a sviluppare con Unity3D , anche se non hanno ancora annunciato alcun supporto Metro per Windows 8 (richiede una licenza). Ma hanno recentemente lavorato su un renderer Direct3D11, quindi non dovrebbe essere così difficile per loro fornire supporto per Win8 (ma poiché molte API Win32 non sono autorizzate da Win8 Metro, probabilmente non è l'unica cosa che devono portare).


5

Con la versione WinRT sta diventando sempre più ovvio che Microsoft Way ha fatto una grande svolta. L'hype gestito è in calo, l'hype nativo è più forte che mai. Apparentemente qualcuno influente in azienda (alcuni sostengono che sia il core team di Windows) non è affatto soddisfatto delle prestazioni di .NET. La tendenza principale che vedo negli ultimi articoli è qualcosa di simile

WinRT è il prossimo .NET e C ++ / CX è il prossimo C #.

Dicono:

Ehi, è facile scrivere in C ++ come in C #! Perché hai bisogno di XNA se puoi scrivere in C ++ e DirectX?

Questa è la sensazione che ricevo tutta l'ultima volta. Dato che puoi aspettarti un rallentamento di tutti i progetti correlati gestiti, l'unica differenza è l'importo del rallentamento.

La Microsoft ha il mio rispetto per il supporto quasi mai calante per i prodotti, non sono più sviluppati. Quindi almeno possiamo usare XNA 4.0 per un bel po 'di tempo anche se è l'ultima versione supportata.


2

Non sembra buono per noi sviluppatori XNA indipendenti che vogliono trasferire i nostri giochi XNA su Metro. Microsoft non ha mostrato alcun interesse e si aspetta che torniamo alla programmazione C ++ / DirectX o adottiamo framework C # di terze parti, la maggior parte dei quali non supporta alcuna pipeline di contenuti XNA.

Tutto piuttosto triste, a volte non capisco davvero la SM.


7
Ciao Jules. Benvenuti in GDSE! Non siamo davvero come un forum qui, quindi le risposte come questa che sono solo chiacchiere sono scoraggiate. Se avessi informazioni concrete da aggiungere o fonti per la tua risposta, sarebbe fantastico!
MichaelHouse
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.