2009-02-27 12 views
5

XNA e C# possono essere utilizzati per creare giochi PC/XBOX commercialmente fattibili?Si possono fare veri giochi con XNA e C#?

È l'approccio migliore per la creazione di giochi 3D con C#? In caso contrario, quale sarebbe?

+0

Duplicato per la mia domanda: http://stackoverflow.com/questions/794045/is-it-possibile-per-write-a-commercial-xbox-game-using-visual-studio-and-ms-xna- gam – MaSuGaNa

risposta

6

Una breve risposta alla tua prima domanda sarebbe, sì. È completamente possibile creare praticamente qualsiasi tipo di gioco con la libreria XNA. Può essere utilizzato per creare semplici platform 2D o sparatutto 3D moderatamente complessi.
A seconda del gioco, la quantità di logica che devi creare per il tuo gioco può variare.

Naturalmente, durante la creazione di giochi 3D, dovrai creare il tuo motore 3D, o mettere le mani su un pre-fatto. XNA in e su se stessa non fornisce un motore completamente utilizzabile fuori dalla scatola. Tuttavia, fornisce un'ampia varietà di strumenti per aiutarti a creare il tuo motore.

0

Dubito che creerai il prossimo Gears of War con esso, ma XNA funziona bene per molti tipi di giochi. La maggior parte (tutti?) Dei giochi di comunità su Xbox Live sono creati utilizzando XNA.

7

In realtà è possibile farlo ma è un po 'complicato.

È necessario passare attraverso un processo di approvazione da parte della "comunità" (utenti di XNA Creators club online).

È inoltre necessario pagare un account Xbox Live oltre a una licenza per sviluppatore live Xbox.

Secondo XNA FAQ:

Ho bisogno di un abbonamento premium XNA Creators Club per creare giochi? Non è necessario un abbonamento premium per creare giochi per Windows o Zune. Tuttavia, devi essere un membro premium e in una regione supportata per creare giochi per Xbox 360, per rilasciare i giochi Xbox 360 ai giochi della community su Xbox LIVE o per rivedere i giochi inviati.

Chi può peer review XNA Community Games? Un membro del Creators Club il cui account premium (a pagamento) ha una buona reputazione ed è un adulto legale (per i paesi che attualmente serviamo questo significa 18 anni o più).

E: Perché il mio gioco deve essere sottoposto a peer-review? Perché non posso semplicemente inviarlo al mercato Xbox LIVE? I revisori peer aiutano i creatori a scrivere giochi migliori e proteggono i giocatori dai giochi altamente offensivi o malfunzionanti.revisori rifiuteranno il vostro gioco, se:

  • Il gioco contiene vietato contenuto, che è contenuto non consentito sui servizi di Xbox LIVE

  • dichiari il falso ciò che è nel gioco o nei materiali promozionali per il gioco

  • il contenuto promozionale per il vostro gioco (ad esempio, il box art, descrizione, banner o titolo) non è appropriato per tutte le età su Xbox LIVE Marketplace

  • Il gioco si blocca, si ha troppi bug, o è tecnicamente difettoso in qualche modo

la FAQ è possibile leggere here

Se si vuole farlo più semplice possibile gioca direttamente con DirectX o anche con altre librerie come SDL (per giochi 2D). In realtà C# è molto buono per una varietà di cose e migliora con il passare del tempo.

3

C# non è molto più lento del C++, tuttavia la gestione della memoria di C# non è molto adatta ai giochi (nello stile AAA). Mai meno il rendering è fondamentalmente lo stesso, visto che userò DirectX credo, quindi non c'è ragione per cui un gioco molto professionale come Gear of Wars non possa essere realizzato con C# (Come un gioco dev my self, ho visto il codice sorgente di Gears of War, e posso dirti questa prima mano). Ma avrai bisogno di grandi artisti.

Il vero roadblock, è se la tua fonte è in C#, ti sei appena bloccato da altre piattaforme che non sono di Microsoft (diciamo Sony o Nintendo), ma di nuovo GoW è legato da Microsoft, ASFAIK.


Per quanto riguarda XNA, il più venduto gioco Arcade/Comunità Braid, è stato scritto in C++, ma questo è perché l'autore non voleva chiudersi di altre piattaforme, e aveva un sacco di esperienza e di una grande base di codice che era già basata su C++

3

XNA è dedicato principalmente a giochi di garage, piccoli progetti con piccoli team e hobbisti. Inoltre, è un ottimo strumento di apprendimento per l'architettura di gioco e la programmazione 3D. Ma per le applicazioni commerciali, c'è un enorme divario tra XLA e XDK.

L'utilizzo di XDK consente di accedere a un livello hardware molto più profondo, che è assolutamente necessario se le prestazioni sono un problema. Inoltre, la maggior parte dei motori di gioco commerciali sono sviluppati per l'uso con XDK (l'Unreal Engine, per esempio). Il sistema di debugging e profiling di XDK è anche uno straordinario strumento che non è disponibile con XLA.

Quindi sì, è tecnicamente possibile realizzare giochi commerciali utilizzando XNA, ma il mondo reale tende a preferire l'XDK.

1

XNA consente di risparmiare un sacco di noia di basso livello associati alla creazione di giochi. Questo può essere un enorme risparmio di tempo per una manciata di persone che sbattono fuori giochi che non hanno bisogno di spingere l'hardware al limite; tuttavia, la maggior parte dei giochi AAA richiede a poche persone di scendere e sporcare con l'hardware per spingere il limite il più possibile.

Detto questo, il tuo gioco non deve essere necessariamente AAA per essere commercialmente fattibile o divertente - si potrebbe anche obiettare che fa più male di quanto non aiuti. La tecnologia è raramente il collo di bottiglia per fare buoni giochi.

+0

Recentemente ho giocato arounf con visual3d.net, un motore di gioco basato su xna. Sembrava abbastanza potente nel complesso - tuttavia, nelle loro demo gli avatar non avevano lo stesso realismo dei giochi AAA come WOW ecc. Pensi che sia una limitazione di XNA? Devi usare Dx per ottenere il miglior look allora? – alchemical

+0

@alchemical È molto probabile che gli sviluppatori non vogliano sborsare soldi per l'arte della tripla A - non lo stesso XNA. –