Ci sono dei framework che mi permettono di scrivere giochi in C # su Linux? [chiuso]


10

Sto cercando qualcosa come un'alternativa a XNA - non mi interessa se si tratta di un motore 2D o 3D. Non è perché non mi piace Windows o sono anti-Microsoft; è perché mi piace eseguire Linux, il codice in Linux completamente (per C # uso ovviamente Mono) e non ho alcun hardware per supportare effettivamente la programmazione in XNA, semplicemente perché la mia scheda video ha 6 anni. Inoltre non ho un CD di Windows 7 / Vista per DirectX 10.

Quindi, per lo sviluppo del gioco sono un po 'bloccato nell'età della pietra. Eppure, mi piace molto C # e odio doverlo abbandonare come lingua a causa di ciò.

C'è qualcosa che posso fare?


13
Odio quando una risposta viene scelta così in fretta. Non lascia tempo per la pubblicazione di risposte più profonde o più dettagliate.
Attaccando

6
@AttackingHobo Se hai una risposta più profonda e dettagliata da proporre, vai avanti.
Jonathan Connell,

1
@Jonathan Il problema è che la prima risposta non è regolarmente la migliore. In effetti, spesso può essere il meno studiato o il meno pensato. C'è una ragione per cui abbiamo un badge d'argento per rispondere prima e per avere ragione: è un risultato o una ricompensa per aver risposto a una domanda morta.
doppelgreener,

@Jonathan Connell Sto cercando qualcosa di simile già da oltre una settimana. Ho trovato alcuni candidati diversi, ma voglio effettivamente usarli e vedere quali sono effettivamente praticabili. Digitare semplicemente la domanda in google e pubblicare ciecamente alcuni dei link come risposta non è molto utile.
Attaccando

Ehi @AttackingHobo, sarebbe carino da parte tua pubblicare i tuoi candidati, dal momento che sto cercando qualcosa di simile per interesse passivo da circa 5 anni. Da quel momento ricordo solo che il wrapper Irrlicht e il wrapper Ogre gestito funzionavano correttamente e non mi piacciono: Irrlicht era difettoso ma presumibilmente riparabile, e per Ogre gestito sarebbe meglio scegliere NeoAxis. Forse sei stato fortunato a trovare qualcosa di buono che mi mancava, dopo tutto sono solo un ragazzo, quindi sarebbe bello condividerlo :)
BastaTea

Risposte:


9

Temo che non esista una completa alternativa a XNA nel mondo dei framework multipiattaforma basati su C #. Monoxna è morto da molto tempo e pochissimi altri strumenti multipiattaforma usano C # come linguaggio di loro scelta.

Tuttavia, questa futura porta di XNA su iOS e Android sembra molto promettente: ExEn . Non conosco i requisiti però.

Dato che hai usato la parola "motore" potresti voler qualcosa di più complesso. Ricordo solo un motore C # a tutti gli effetti economico che può funzionare su Linux e ha requisiti hardware abbastanza tolleranti: NeoAxis .

Tuttavia, se il tuo obiettivo principale sono i giochi 2D, puoi dare un'occhiata a questa piccola libreria di giochi multipiattaforma: AgateLib . Due anni fa era bello da usare ma un po 'difettoso, forse ora le cose sono migliori.

Comunque, se qualcos'altro fallisce, puoi sempre usare OpenGL con SDL tramite OpenTK o SDL.Net .


3
Solo una nota: ExEn è gestito dal nostro Andrew Russel !
BlueRaja - Danny Pflughoeft

1
-1. Mentre ExEn sembra utile e interessante, non è un'alternativa compatibile con Linux a XNA. "Motore 2D o 3D" sembra riferirsi al motore grafico.
Attaccando

MonoGame è in sviluppo da diversi anni e ultimamente i progressi sembrano positivi, ma ricordando la mia esperienza con questa primavera, ho più fiducia in ExEn. Se avrà un po 'di buona architettura, sarà molto possibile sostituire MonoMac con OpenTk.
Basta il

Per il 2D, anche GTK # potrebbe essere un'opzione da considerare.
George Edison,

20

Perché cercare un'alternativa quando puoi usare una porta?

"MonoGame è un'implementazione OpenGL gratuita di XNA 4.0 Framework. È basato sull'eccellente gamma di compilatori Mono ed è compatibile con MonoTouch (iOS), Mono per Android (Android), MonoMac (Mac OS X), Mono per Windows e ora Linux!

Il nostro obiettivo è consentire agli sviluppatori XNA su Windows e Windows Phone 7 di eseguire il porting dei loro giochi su iOS / Android / Mac OS X / Windows / Linux e viceversa, con una seccatura minima ".

http://monogame.codeplex.com

https://github.com/mono/MonoGame


2

2 librerie utili per il rendering del software:

  1. SDL (C / C ++) o SDL.NET, poiché sono creati per hardware VECCHIO e possono facoltativamente utilizzare OpenGL, se si desidera aggiornare l'hardware in un secondo momento. SDL è totalmente multipiattaforma per sistemi desktop.
  2. Allegro è un'altra libreria di vecchia scuola adatta a spingere i pixel individualmente senza la necessità di hardware grafico speciale.

Dico Allegro più potente dal punto di vista del pixel, ma non credo che veda lo stesso livello di attività di SDL, e mentre SDL è aggiornato dal suo autore, penso che questo sia molto meno il caso di Allegro.


-1: Allegro versione 5 è uscito quest'anno e ha aggiornamenti regolari. Quindi ... non ho idea di cosa tu stia parlando. Inoltre, perché nessuna menzione di SFML?
Nicol Bolas,

A proposito, la mia esperienza è stata con Allegro 4. "Inoltre, perché nessuna menzione di SFML?" - Ho l'obbligo di menzionare ogni biblioteca là fuori, comprese quelle in cui non ho interesse / esperienza? Perché neanche Den o Vigil hanno menzionato SFML? Forse perché non volevano? Non devi cercare di giustificare ulteriormente il tuo -1.
Ingegnere

1

Potresti voler dare un'occhiata a ANX:

ANX.Framework è un framework compatibile alla fonte con Microsoft XNA Framework 4.0. Compatibilità del codice sorgente significa che puoi "tradurre" un progetto di gioco XNA in un progetto di gioco ANX semplicemente sostituendo tutti gli spazi dei nomi da Microsoft.XNA.Framework a ANX.Framework. Il vantaggio di ANX è semplicemente la possibilità di scambiare RenderSystem, InputSystem e AudioSystem. Scambiando questo sistema non sei più limitato a eseguire il tuo gioco usando DirectX9 che XNA sta usando. ANX viene fornito con un DirectX10 RenderSystem come predefinito. Un DirectX 11, DirectX 11.1 e un OpenGL 3 RenderSystem sono attualmente in fase di sviluppo. Ciò consentirà di eseguire i tuoi giochi su Linux e altre piattaforme supportate da OpenGL ecc. Semplicemente scambiando gli spazi dei nomi.

~ Sito Codeplex: http://anxframework.codeplex.com/

È ancora in fase di sviluppo, ma la maggior parte delle funzionalità di base di XNA sono implementate.

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.