Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I'm looking for something like an alternative to XNA - I don't care whether it's a 2D or 3D engine. It's not because I dislike Windows or am anti-Microsoft; it's because I like running Linux, code in Linux completely (for C# I use Mono, obviously), and by no means have any hardware to actually support programming in XNA, simply because my video card is 6 years old. I also don't have a Windows 7/Vista CD for DirectX 10.

Thus, for game development I'm kind of stuck in the stone age. Yet, I like C# very much and would hate to have to drop it as a language due to this.

Is there anything I can do?

share|improve this question

closed as off-topic by Byte56 Apr 3 at 18:29

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about "how to get started," "what to learn next," or "which technology to use" are discussion-oriented questions which involve answers that are either based on opinion, or which are all equally valid. Those kinds of questions are outside the scope of this site. Visit our help center for more information." – Byte56
If this question can be reworded to fit the rules in the help center, please edit the question.

13  
I hate when an answer is picked so fast. It doesn't leave time for deeper or more detailed answers to be posted. –  AttackingHobo Aug 8 '11 at 20:46
6  
@AttackingHobo If you have a deeper more detailed answer to propose, by all means go ahead. –  Jonathan Connell Aug 8 '11 at 21:21
1  
@Jonathan The problem is the first answer is not regularly the best one. In fact it can often be the least researched or least thought out. There's a reason we have a silver badge for answering first and being right - it's an achievement, or a reward for answering a dead question. –  doppelgreener Aug 8 '11 at 23:56
    
@Jonathan Connell I have been researching something similar for over a week already. I have found a few different candidates, but I want to actually use them, and see what ones are actually viable. Just typing the question into google and blindly posting some of the links as an answer is not very helpful. –  AttackingHobo Aug 9 '11 at 16:55
    
Hey @AttackingHobo, it would be nice of you to post your candidates, since I've been looking for something similiar out of passive interest for like 5 years. From all that time I can only remember Irrlicht wrapper and managed Ogre wrapper working correctly, and I don't like them: Irrlicht was buggy but presumably fixable, and for managed Ogre it would be better to chose NeoAxis. Maybe you was lucky to find something good which I missed, I'm just one guy after all, so it would be great to share it :) –  Vigil Aug 9 '11 at 19:00

4 Answers 4

up vote 9 down vote accepted

I'm afraid there is no such thing as a complete alternative to XNA in the world of C#-based cross-platform frameworks. Monoxna is long dead, and very few other cross-platform tools use C# as their language of choice.

However, this soon-to-be port of XNA on iOS and Android looks very promising: ExEn. Don't know about requirements though.

Since you've used word "engine" you may want something more complex. I can remember only one cheap full-fledged C# engine that can run on Linux and has pretty forgiving hardware requirements: NeoAxis.

However, if your primary target is 2D games, then you may check out this little cross-platform game library: AgateLib. Two years ago it was nice to use yet somewhat buggy, maybe now things are better.

Anyway, if anything else fails, you can always use OpenGL with SDL via OpenTK or SDL.Net.

share|improve this answer
    
Many thank yous, kind sir. –  blissfreak Aug 8 '11 at 17:43
3  
Just a note - ExEn is maintained by our very own Andrew Russel! –  BlueRaja - Danny Pflughoeft Aug 8 '11 at 22:12
1  
-1. While ExEn seems useful and interesting, it is not a linux compatible alternative to XNA. "2D or 3D engine" seem to be referring to the graphics engine. –  AttackingHobo Aug 9 '11 at 17:29
    
MonoGame was in development for several years and progress looks nice lately, but remembering my experience with it this spring, I have more faith in ExEn. If it will have a bit of a good architecture, it will be very possible to replace MonoMac with OpenTk. –  Vigil Aug 9 '11 at 17:59
    
For 2D, even GTK# might be an option to consider. –  George Edison Aug 10 '11 at 2:41

Why seek an alternative when you can use a port?

"MonoGame is a free OpenGL implementation of the XNA 4.0 Framework. It is built upon the excellent range of Mono compilers and is compatible with MonoTouch (iOS), Mono for Android (Android), MonoMac (Mac OS X), Mono for Windows and now Linux!

Our goal is to allow XNA developers on Windows & Windows Phone 7 to port of their games to the iOS / Android / Mac OS X / Windows / Linux and visa versa, with minimal hassle."

http://monogame.codeplex.com

https://github.com/mono/MonoGame

share|improve this answer

2 libraries good for software rendering:

  1. SDL (C/C++) or SDL.NET, since they are built for OLD hardware and can optionally use OpenGL, if you want to upgrade your hardware later. SDL's totally cross-platform for desktop systems.
  2. Allegro is another old-school library good for pushing pixels individually without the need for special graphics hardware.

I fing Allegro more powerful from a pixel pushing standpoint, but I do not think it sees the same level of activity that SDL does, and while SDL is kept up to date by its author, I think this is much less the case with Allegro.

share|improve this answer
    
-1: Allegro version 5 came out this year, and it has regular updates. So... I have no idea what you're talking about. Also, why no mention of SFML? –  Nicol Bolas Aug 10 '11 at 2:28
    
My experience was with Allegro 4, by the way. "Also, why no mention of SFML?" -- Am I under some obligation to mention every library out there, including ones I've no interest / experience in? Why didn't Den or Vigil mention SFML either? Maybe because they didn't want to? You don't have to try to justify your -1 further. –  Nick Wiggill Aug 10 '11 at 7:34

You may want to check out ANX:

The ANX.Framework is a framework which is source compatible with Microsoft's XNA framework 4.0. Source compatibility means, that you can "translate" a XNA game project to be a ANX game project by simply replacing all namespaces from Microsoft.XNA.Framework to ANX.Framework. The advantage of ANX is simply that you are able to swap the RenderSystem, the InputSystem and the AudioSystem. By swapping this systems you are no more limited to run your game using DirectX9 which XNA is using. ANX comes with a DirectX10 RenderSystem as a default. A DirectX 11, DirectX 11.1 and a OpenGL 3 RenderSystem is currently in development. This will make it possible to run your games on Linux and other plattforms which are supported by OpenGL etc. simply by swapping the namespaces.

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

It is still under heavy development but most of the basic XNA features are implemented.

share|improve this answer
    
Good answer, and welcome to the site. –  doppelgreener Sep 13 '12 at 23:23

Not the answer you're looking for? Browse other questions tagged or ask your own question.