2010-05-15 21 views
6

Quindi è passato un po 'di tempo dall'ultima volta che ho fatto qualche programmazione di gioco in C#, ma ho avuto un recente bug per tornarci e volevo qualche opinione su quale configurazione dovrei usare.C# 2D Grafica vettoriale Gioco con DirectX o OpenGL?

ho voluto usare C# come quello è quello che io uso per lavoro, e sono diventato variare familiarità con. Ho lavorato con DirectX e OpenGL in passato, ma principalmente in 3D, ma ora mi interessa scrivere un gioco 2D con tutta la grafica vettoriale, qualcosa che assomiglia all'aspetto di Geometry Wars o al vecchio gioco arcade di Star Wars.

Punti chiave Sono interessato a:
• Facilità di utilizzo/implementazione.
• Memoria facile. (Ho in programma di fare molto in una volta)
• Sembra buono, non voglio che la curva appaia pixelata.
• Forse alcuni effetti piacevoli come bagliore o particella.

Sono aperto a qualsiasi e tutti i suggerimenti, forse anche qualcosa che non ho pensato di ...

Grazie in anticipo!

risposta

11

Se si sta appena iniziando di nuovo e hanno già un background C#, perché non provare XNA? Avrete sicuramente in grado di sfruttare le vostre abilità di C# qui

http://creators.xna.com http://creators.xna.com/en-US/downloads

+0

+1. XNA ha un vasto supporto e un sacco di libri da offrire più supporto. –

+0

Inoltre, se usi XNA, avrai immediatamente un posto in cui metterlo a disposizione delle persone per provarlo con un minimo sforzo aggiuntivo: XBox Live Indie. A differenza di altri metodi di pubblicazione, richiede una quantità minima di linee guida funzionali da seguire e, in cambio, colpisci tonnellate di potenziali persone per provarlo (se vuoi convincere la gente a provarlo!) Inoltre, hai accesso a molto più delle semplici API grafiche con XNA. ottieni suoni, input, accesso ai file ... tutto ciò di cui hai bisogno per pensare quando realizzi giochi. – EdgarVerona

1

TBH non importa quello che si utilizza. OpenGL, SlimDX o XNA. Saranno tutti molto complessi (o meno, a seconda dei casi) l'uno dell'altro.

1

Si potrebbe considerare l'uso del motore di Axiom, che è un C# porto di Ogre3D. È abbastanza di livello superiore che puoi renderizzare la tua grafica tramite XNA o OpenGL con poche o nessuna modifica al tuo codice. Può anche gestire input da tastiera e mouse (che normalmente sono separati, ad es. Tramite DirectInput su Windows o SDL su Linux).

+0

Axiom non è più in sviluppo. –

1

Si potrebbe anche considerare l'utilizzo di TAO Framework che è basato su OpenGL e piuttosto bella. Ma devi scrivere il motore 2D tutto da solo. Funziona anche su Mono!

+1

Questo è stato sostituito da OpenTK, afaik. –

3

io uso SlimDX per la programmazione C# grafica e lo preferisco a XNA.

http://slimdx.org/

+0

+1 esp. con XNA non si ottiene più lo sviluppo attivo SlimDX sembra un'ottima alternativa a OpenSource – Seph

1

Creo il mio motore OpenGL con un C# involucro perché mi piace C# molto anche. I linguaggi gestiti in modo triste sono molto lenti quando si tratta di grafica ed è per questo che faccio sempre la mia parte OpenGL in C++, la compilo come una DLL e lo prendo da C# usando l'interoperabilità. Se per caso non ti piace DirectX di quanto ti suggerisco di stare lontano da XNA. Tutti quelli che conosco sono molto delusi e tornano a C++ (OpenGL) + C#.

1

Dal momento che si conosce già C# userei XNA o Unity. Mentre ci sono linguaggi e middleware più veloci, probabilmente sono abbastanza veloci. Entrambi i framework avranno le funzionalità necessarie che richiedono.