C# Question: XNA or SDL.NET?
Posted: Thu Feb 11, 2010 9:18 pm
Hey everybody, I doubt you'll recall but I stopped by a little over a year ago asking for advice on a language-of-choice type of decision. Gyrovorbis and others suggested C++, and while I looked into that route I also received word from other interneters that I should consider C# and the XNA library. After looking into it a bit, I realized that it was exactly what I wanted. So I began the process of porting/rewriting my engine/editor (in its state at the time) over to C# and XNA.
That took about two weeks, and since then I've done A LOT of work on the project (codenamed Project Crimson), and recently I've hit a few snags that have caused some major rethinking on the entire XNA front. First off, XNA incorporates a Content Pipeline, which prebuilds all of your content. While prebuilding all of your content beforehand and not being able to modify graphic, map, or sound files after the fact without recompiling the whole shebang makes worlds of sense (that's sarcasm for the slower readers), I was able to avoid the content pipeline for awhile thanks to a nifty little method for Texture2D objects called Texture2D.FromFile() that allowed you to load an image file into the game at any time. Unfortunately, that same FromFile method wasn't present for sound, so I ended up resorting to another library for sound, while using XNA strictly for input and graphics.
For some reason this still didn't sit well for XNA, and for some unknown reason users would need to have the entire XNA Game Studio installed on their machine in order to use my editor, and more importantly, my engine. Bleh.
So with all that taken into account, I decided I need to ditch XNA and find a sweet new library that could handle graphics and input, as well as sound since I wasn't having the easiest of times finding a new sound library that I liked well enough. Google searches screamed SDL.NET.
Remembering seeing a lot on SDL here and knowing Gyrovorbis is using SDL & OpenGL to power his engine on the PC, I thought I'd ask if you all think I should try and sort out my problems with XNA, or go for SDL.NET, or maybe even OpenGL? You're thoughts are more than appreciated.
PS: Making the move from XNA to either SDL or OpenGL wouldn't be the end of the world in my case, because the only functionality I really need is hardware-accelerated rendering of 2D textured quads. I've implemented some 3D zoom and rotation features using matrices, but it's not a deal breaker if they're initially broken or undoable.
PPS: I'm also going to be posting some stuff about Project Crimson soon, as the project itself is nearing completion since I completed my custom scripting system a few days ago. More on that in the future I guess.
That took about two weeks, and since then I've done A LOT of work on the project (codenamed Project Crimson), and recently I've hit a few snags that have caused some major rethinking on the entire XNA front. First off, XNA incorporates a Content Pipeline, which prebuilds all of your content. While prebuilding all of your content beforehand and not being able to modify graphic, map, or sound files after the fact without recompiling the whole shebang makes worlds of sense (that's sarcasm for the slower readers), I was able to avoid the content pipeline for awhile thanks to a nifty little method for Texture2D objects called Texture2D.FromFile() that allowed you to load an image file into the game at any time. Unfortunately, that same FromFile method wasn't present for sound, so I ended up resorting to another library for sound, while using XNA strictly for input and graphics.
For some reason this still didn't sit well for XNA, and for some unknown reason users would need to have the entire XNA Game Studio installed on their machine in order to use my editor, and more importantly, my engine. Bleh.
So with all that taken into account, I decided I need to ditch XNA and find a sweet new library that could handle graphics and input, as well as sound since I wasn't having the easiest of times finding a new sound library that I liked well enough. Google searches screamed SDL.NET.
Remembering seeing a lot on SDL here and knowing Gyrovorbis is using SDL & OpenGL to power his engine on the PC, I thought I'd ask if you all think I should try and sort out my problems with XNA, or go for SDL.NET, or maybe even OpenGL? You're thoughts are more than appreciated.
PS: Making the move from XNA to either SDL or OpenGL wouldn't be the end of the world in my case, because the only functionality I really need is hardware-accelerated rendering of 2D textured quads. I've implemented some 3D zoom and rotation features using matrices, but it's not a deal breaker if they're initially broken or undoable.
PPS: I'm also going to be posting some stuff about Project Crimson soon, as the project itself is nearing completion since I completed my custom scripting system a few days ago. More on that in the future I guess.